Enseignement de l'anglais/Comparatifs Test

Exercice 1.
Donnez les comparatifs et superlatifs de supériorité des adjectifs suivants :
Exercice 2.
Traduisez les phrases suivantes :
Exercice 3.
Exprimez l'infériorité de deux façons possibles :
Exercice 4.
Traduisez les phrases suivantes :
Retour Enseignement de l'anglaisAnglais : Comparatifs

Programmation PHP/Introduction
Historique.
PHP est un langage de script créé par Rasmus Lerdorf en 1995. Principalement utilisé pour la programmation Web, on pourrait le situer entre les SSI (Server Side Includes) et le langage de script Perl. Il est utilisable sur tous les systèmes d'exploitation, donc sur , , GNU-Linux ou autre Unix commercial, ce qui en fait un langage très portatif.
La sortie de PHP 5 en 2004 a permis au langage d'atteindre une certaine maturité, pour être reconnu comme un serveur d'application à part entière tel que JEE ou .Net.
PHP a ensuite acquis une place incontournable dans le développement Web "Open Source". Sa popularité vient de sa syntaxe, proche du C, de sa vitesse et de sa simplicité. En 2013, on estime qu'il y a plus de 244 millions de serveurs qui utilisent le langage. En 2016 il est utilisé dans plus de 80 % des sites Internet, et toujours 77,5 % en août 2022.
PHP 5.
Les nouvelles fonctionnalités du PHP 5 (paru en 2004) concernent surtout la programmation orientée objet :
PHP 7.
Les principales fonctionnalités apportées par PHP 7 (depuis 2015) sont :
PHP 8.
Nouvelles fonctionnalités du PHP 8.0 en 2020 :
8.1.
Pour PHP 8.1, sorti en novembre 2021 :
8.2.
PHP 8.2 est sorti le 8 décembre 2022 :
Sites Web statiques ou dynamiques.
À l'origine du Web, les sites Web étaient des sites statiques : constitués d'un ensemble de pages écrites dans le langage HTML. L'information présente sur ces pages était toujours identique et leur mise à jour était particulièrement fastidieuse. Le serveur Web se contentait de diffuser les pages telles quelles à l'utilisateur. L'interaction entre le site et l'utilisateur était très sommaire : l'utilisateur demandait une page web et le serveur la lui fournissait.
Aujourd'hui la plupart des sites sont dynamiques : à l'intérieur des pages HTML, le concepteur du site a inséré des programmes. 
Ces programmes permettent une plus grande souplesse dans la gestion du site, sa mise à jour et ses fonctionnalités. La possibilité d'insérer des programmes a permis de décupler les fonctionnalités des sites Web. 
Pour vous en convaincre prenons quelques exemples :
Dans chacun des exemples précédents il a été nécessaire d'incorporer un programme à l'intérieur des pages du site afin de réaliser des fonctionnalités de haut niveau. Aujourd'hui la quasi-totalité des sites professionnels sont dynamiques et il est quasi inconcevable de réaliser un site statique. Le langage PHP est un des langages utilisables pour réaliser facilement les sites Web dynamiques, ne serait-ce que parce qu'il est disponible sur la plupart des serveurs hébergeant des sites.
Possibilités.
Si vous êtes déjà allés sur un site qui vous demandait de vous connecter, vous avez utilisé un script côté serveur. Ce script était certainement écrit en PHP, en raison de la popularité de ce dernier.
PHP transforme une page statique (fichier HTML par exemple), en une suite d'instructions interprétables par PHP, installée sur un serveur Web comme Apache - ça peut-être simplement un "Hello World" 50 fois dans une colonne, ou une interaction avec un système de base de données, comme MySQL, fréquemment couplé à PHP.
Mais PHP peut aussi servir à programmer des batchs sans page web aucune.
Les premières versions de PHP étaient faiblement typées, mais depuis la version 7 il est possible de forcer un typage fort dans un fichier en lui ajoutant :
 declare(strict_types = 1);

Programmation GTK2 en Pascal/GtkComboBoxEntry

Présentation.
Le contrôle GtkComboBoxEntry permet de gérer une liste déroulante sur action de l'utilisateur combinée avec un champ de saisie. Soit l'utilisateur choisi dans une liste, soit il saisit une valeur.
Ce contrôle est disponible à partir de la version 2.4 de Gtk+.
Utilisation de base (mode texte sans modèle).
Création.
La fonction de création d'une liste déroulante texte est simple : 
 function gtk_combo_box_entry_new_text : PGtkWidget;
Ajout de texte dans la liste déroulante.
On va utiliser les mêmes fonctions que pour la liste déroulante sans saisie (../GtkComboBox/) : codice_1, codice_2 et codice_3.
Récupération de la sélection de l'utilisateur.
On va en fait utiliser la fonction du champ de saisie (../GtkEntry/) : codice_4.
Programme exemple.
Comme exemple, nous allons créer une fenêtre comportant un GtkComboBoxEntry, un GtkButton et un GtkLabel. Le but sera d'afficher le texte sélectionné du GtkComboboxEntry dans le GtkLabel, que celui-ci soit saisi ou choisi dans la liste. Cette opération s'effectuera lorsque l'utilisateur cliquera sur le bouton (interception du signal « clicked »).
Voilà le fichier codice_5 (à 95 % identique à celui du codice_6) :
 program gtk031;
 uses glib2, gtk2;
 type
 TFenetrePrincipale = record
 pFenetre : PGtkWidget;
 pVBox : PGtkWidget;
 pListeDer : PGtkWidget;
 pBouton : PGtkWidget;
 pLabel : PGtkWidget;
 end;
 PFenetrePrincipale = ^TFenetrePrincipale;
 procedure OnBtnClick(APWidget : PGtkwidget; AData : pgpointer); cdecl;
 var
 pFenPrinc : PFenetrePrincipale;
 Texte : PGChar;
 begin
 // Récuperation des données de la fenêtre principale (qui sont dans AData)
 pFenPrinc := PFenetrePrincipale(AData);
 // Récuperation du texte contenu dans le GtkComboBox
 Texte := gtk_entry_get_text(GTK_ENTRY(GTK_BIN(pFenPrinc^.pListeDer)^.child));
 // Modification du texte contenu dans le GtkLabel 
 gtk_label_set_text(GTK_LABEL(pFenPrinc^.pLabel), Texte);
 end;
 var
 pFenPrinc : PFenetrePrincipale;
 begin
 pFenPrinc := g_malloc(SizeOf(TFenetrePrincipale));
 gtk_init(@argc, @argv);
 pFenPrinc^.pFenetre := gtk_window_new(GTK_WINDOW_TOPLEVEL);
 gtk_window_set_position(GTK_WINDOW(pFenPrinc^.pFenetre), GTK_WIN_POS_CENTER);
 gtk_window_set_default_size(GTK_WINDOW(pFenPrinc^.pFenetre), 320, 200);
 gtk_container_set_border_width(GTK_CONTAINER(pFenPrinc^.pFenetre), 4);
 gtk_window_set_title(GTK_WINDOW(pFenPrinc^.pFenetre), 'Gtk031 : ComboboxEntry');
 gtk_signal_connect(pGTKOBJECT(pFenPrinc^.pFenetre), 'destroy', GTK_SIGNAL_FUNC(@gtk_main_quit), NULL);
 pFenPrinc^.pVBox := gtk_vbox_new(TRUE, 0);
 gtk_container_add(GTK_CONTAINER(pFenPrinc^.pFenetre), pFenPrinc^.pVBox);
 // Création du GtkComboBox
 pFenPrinc^.pListeDer := gtk_combo_box_entry_new_text;
 // Chargement de la liste déroulante
 gtk_combo_box_append_text(GTK_COMBO_BOX(pFenPrinc^.pListeDer), 'Bleu');
 gtk_combo_box_append_text(GTK_COMBO_BOX(pFenPrinc^.pListeDer), 'Rouge');
 gtk_combo_box_append_text(GTK_COMBO_BOX(pFenPrinc^.pListeDer), 'Jaune');
 gtk_box_pack_start(GTK_BOX(pFenPrinc^.pVBox), pFenPrinc^.pListeDer, TRUE, FALSE, 0);
 pFenPrinc^.pBouton := gtk_button_new_with_label('Copier');
 gtk_box_pack_start(GTK_BOX(pFenPrinc^.pVBox), pFenPrinc^.pBouton, TRUE, FALSE, 0);
 g_signal_connect(pGTKOBJECT(pFenPrinc^.pBouton), 'clicked', 
 GTK_SIGNAL_FUNC(@OnBtnClick), gpointer(pFenPrinc));
 pFenPrinc^.pLabel := gtk_label_new(NULL);
 gtk_box_pack_start(GTK_BOX(pFenPrinc^.pVBox), pFenPrinc^.pLabel, TRUE, FALSE, 0);
 gtk_widget_show_all(pFenPrinc^.pFenetre);
 gtk_main;
 g_free(pFenPrinc);
 end.
Voilà ce que donne l'exécution du programme codice_7 après saisie d'un nom et du clic sur le bouton « Copier » :
Utilisation complète (avec modèle).
"<à développer>"

Programmation GTK2 en Pascal/Les menus
Les menus sont des contrôles complexes et sont donc découpés en plusieurs classes de contrôles.
La barre de menu tout d'abord :
Le menu en lui-même :
La classe de base des menus :
Les éléments d'un menu :

Bambara/Postpositions
Exemples.
ye.
wula ye, n'be taa so : le soir, je rentre à la maison
ma.
A b’a dama : il lui donne (à bè à di a ma)
Voir aussi: