Programmation GTK2 en Pascal/GtkMenu
Présentation.
Le contrôle GtkMenu est celui qui s'ouvre quand on clique sur un item de menu dans la barre de menu.
Utilisation de base.
Création.
La fonction de création d'une barre de menu est simple : 
 function gtk_menu_new : PGtkWidget;
Ajout d'élément.
Pour ajouter des éléments dans un codice_1, il faut comme dans une codice_2 utiliser les fonctions du contrôle codice_3 :
 procedure gtk_menu_shell_append(menu_shell : PGtkMenuShell; child : PGtkWidget);
 procedure gtk_menu_shell_prepend(menu_shell : PGtkMenuShell; child : PGtkWidget);
La première fonction ajoute les éléments de gauche à droite alors que la seconde les ajoute de droite à gauche. Le paramètre codice_4 est le codice_1 dans laquelle nous voulons ajouter l'élément et le paramètre codice_6 est l'élément à ajouter. Pour le premier paramètre, il faudra utiliser la fonction de conversion GTK_MENU_SHELL.
Ajout du menu.
Pour ajouter un menu à une barre de menu, ou pour créer un sous-menu, il faut associer le menu avec un élément (de la barre de menu ou du menu parent) avec une fonction du contrôle codice_7 :
 procedure gtk_menu_item_set_submenu(menu_item : PGtkMenuItem; submenu : PGtkWidget);
Cette fonction est étudié plus en détail dans le chapitre sur le contrôle codice_8.
Programme exemple.
Nous allons créer un menu « Fichier » qui contiendra un élément « Ouvrir » et un élément « Quitter ». L'élément « Quitter » ouvrira un autre menu qui proposera les options « OUI » et « NON ». Ce qui n'est pas très réaliste mais permet de voir un menu et un sous-menu.
Voilà le fichier codice_9 :
 program gtk033;
 uses glib2, gtk2;
 var
 pFenetre : PGtkWidget;
 pVBox : PGtkWidget;
 pBarreMenu : PGtkWidget;
 pMenuItemFichier : PGtkWidget;
 pMenuFichier : PGtkWidget;
 pMenuItemOuvrir : PGtkWidget;
 pMenuItemQuitter : PGtkWidget;
 pMenuQuitter : PGtkWidget;
 pMenuItemOui : PGtkWidget;
 pMenuItemNon : PGtkWidget;
 begin
 gtk_init(@argc, @argv);
 pFenetre := gtk_window_new(GTK_WINDOW_TOPLEVEL);
 gtk_window_set_position(GTK_WINDOW(pFenetre), GTK_WIN_POS_CENTER);
 gtk_window_set_default_size(GTK_WINDOW(pFenetre), 320, 200);
 gtk_window_set_title(GTK_WINDOW(pFenetre), 'Gtk033 : Menu et sous-menu');
 gtk_signal_connect(pGTKOBJECT(pFenetre), 'destroy', GTK_SIGNAL_FUNC(@gtk_main_quit), NULL);
 // Création de la GtkVBox
 pVBox := gtk_vbox_new(FALSE, 0);
 gtk_container_add(GTK_CONTAINER(pFenetre), pVBox);
 // Création de la barre de menu
 pBarreMenu := gtk_menu_bar_new;
 gtk_box_pack_start(GTK_BOX(pVBox), pBarreMenu, FALSE, FALSE, 0);
 // Création de l'item Fichier et rattachement à la barre de menu
 pMenuItemFichier := gtk_menu_item_new_with_label('Fichier');
 gtk_menu_shell_append(GTK_MENU_SHELL(pBarreMenu), pMenuItemFichier);
 // Création du menu Fichier et rattachement à l'item Fichier
 pMenuFichier := gtk_menu_new;
 gtk_menu_item_set_submenu(GTK_MENU_ITEM(pMenuItemFichier), pMenuFichier);
 // Création de l'item Ouvrir et rattachement au menu Fichier
 pMenuItemOuvrir := gtk_menu_item_new_with_label('Ouvrir');
 gtk_menu_shell_append(GTK_MENU_SHELL(pMenuFichier), pMenuItemOuvrir);
 // Création de l'item Quitter et rattachement au menu Fichier
 pMenuItemQuitter := gtk_menu_item_new_with_label('Quitter');
 gtk_menu_shell_append(GTK_MENU_SHELL(pMenuFichier), pMenuItemQuitter);
 // Création du (sous-)menu Quitter et rattachement à l'item Quitter
 pMenuQuitter := gtk_menu_new;
 gtk_menu_item_set_submenu(GTK_MENU_ITEM(pMenuItemQuitter), pMenuQuitter);
 // Création de l'item Oui et rattachement au menu Quitter
 pMenuItemOui := gtk_menu_item_new_with_label('Oui');
 gtk_menu_shell_append(GTK_MENU_SHELL(pMenuQuitter), pMenuItemOui);
 // Création de l'item Non et rattachement au menu Quitter
 pMenuItemNon := gtk_menu_item_new_with_label('Non');
 gtk_menu_shell_append(GTK_MENU_SHELL(pMenuQuitter), pMenuItemNon);
 // Oui -> quitte l'application
 g_signal_connect(pGTKOBJECT(pMenuItemOui), 'activate', G_CALLBACK(@gtk_main_quit), NULL);
 gtk_widget_show_all(pFenetre);
 gtk_main;
 end.
Voilà ce que donne l'exécution du programme codice_10 après avoir cliquer sur le menu « Fichier » puis « Quitter » :

Programmation GTK2 en Pascal/GtkMenuShell

Présentation.
Le contrôle GtkMenuShell est un contrôle de base, qui n'est utile qu'au travers de ces contrôles enfants (ici codice_1 et codice_2). Ce contrôle va surtout nous servir à gérer les éléments contenus dans un menu.
Utilisation de base.
Ajout d'élément.
Pour ajouter des éléments à un menu, nous avons à notre disposition les trois fonctions suivantes :
 procedure gtk_menu_shell_append(menu_shell : PGtkMenuShell; child : PGtkWidget);
 procedure gtk_menu_shell_prepend(menu_shell : PGtkMenuShell; child : PGtkWidget);
 procedure gtk_menu_shell_insert(menu_shell : PGtkMenuShell; child : PGtkWidget; position : gint);
La première fonction ajoute un élément codice_3 à la fin d'un menu codice_4 qui peut donc être une barre de menu ou un menu, alors que la seconde l'ajoute au debut.
La troisième fonction quant à elle ajoute un élement à une position donnée (paramètre codice_5).

Programmation PHP/Bases du langage
PHP est un langage dont les programmes s'exécutent côté serveur pour produire la réponse à une requête HTTP, ou une commande shell.
En général, il produit une réponse dans un langage de notation (ex : HTML, XML, ou JSON), et le code PHP peut s'intégrer dedans, par exemple dans les balises HTML comme montré dans ce chapitre introductif.
Il peut également produire une sortie dans un format binaire, par exemple une image PNG produite dynamiquement pour une représentation graphique des données, ou un fichier quelconque pour filtrer les accès à des fichiers téléchargeables.
Dans les premiers chapitres, seul le cas de la sortie en HTML est abordé.
Intégration du code.
Pour que PHP interprète votre code, vous devez remplir deux conditions :
<!DOCTYPE html>
<html>
<head>
 <title>Le titre de l'onglet</title>
 <meta charset="utf8" />
</head>
<body>
 <p>Du texte en html</p>
 <? echo 'un exemple de texte en php'; ?>
 <p>Encore du texte en html</p>
 //Écriture recommandée et universelle
 <?php
 echo "Encore du texte en php";
<body>
</html>
Pour regarder si votre configuration prend en compte ce type de balises, entrez le code suivant :
 <?php
 phpinfo();
Cela affichera le contenu du php.ini. Pour l'obtenir en :
php -r "phpinfo();"
Autre exemple : trouver le .ini utilisé :
php7.3 -r "echo php_ini_loaded_file().PHP_EOL;"
Il est possible de trouver des extensions de fichiers comme .phtml, .php3 ou autres. Il est cependant conseillé d'utiliser l'extension .php qui garantit son interprétation par PHP.
Les directives.
Il est possible de définir certains comportements de PHP lors de la compilation par des directives inscrites dans la commande codice_2. Par exemple :
 declare(encoding = 'UTF-8');