Programmation Python/Tkinter
Créer des interfaces python avec Tkinter.
Que faut-il posséder d'abord ?
 (pour "Tool kit interface") est une boîte à outils d'interface graphique pour Python.
L'interface Tkinter s'installe avec Python. Il suffit donc juste d'installer Python 2.3 ou 2.4 ou supérieur pour pouvoir utiliser Tkinter. Sinon :
 apt-get install python-tk
Ensuite il vous suffit d'importer la bibliothèque dans votre programme :
 from tkinter import *
Principes de base.
Créez un fichier texte dans le dossier python 2.4 ou python 2.3.
Donnez-lui le nom que vous voulez, mais pour que votre fichier puisse être interprété par python, il doit porter l'extension .py ou .pyw
Créez donc un fichier du type : 
monfichier.py (dans ce cas, la console s'affichera, ce qui peut être pratique pour suivre le fonctionnement du programme)
ou monfichier.pyw (dans ce cas la console ne s'ouvrira pas : c'est ce type d'extension qu'il faut utiliser pour la version définitive du programme).
Pour modifier le programme : 
Créer une fenêtre pour l'application.
Propriétés et méthodes de l'objet fenêtre.
le programme est le suivant :
from tkinter import * # le programme va aller chercher toutes les fonctions de la bibliothèque Tkinter
Fenetre= Tk() # vous pouvez choisir le nom que vous voulez pour votre fenêtre
Fenetre.mainloop() # lance la boucle principale
Qu'est-ce qu'un widget ?
widget : contraction de l'anglais "windows gadget" (gadget fenêtre). Les widgets sont tous les objets graphiques que l'on peut insérer dans une interface (fenêtre). Les principaux sont :
Chaque widget a des propriétés et des méthodes qui permettent de régler son apparence et les interactions avec l'utilisateur.
Le widget Button.
Chaque widget (objet d'interface) doit être créé puis placé dans la fenêtre
from tkinter import * # le programme va aller chercher toutes les fonctions de la bibliothèque Tkinter
Fenetre= Tk() # création de la fenêtre, avec un nom de votre choix
bouton=Button(Fenetre, text="quitter", command=Fenetre.destroy) # Bouton qui détruit la fenêtre
bouton.pack() # insère le bouton dans la fenêtre
Fenetre.mainloop() # lance la boucle principale
Le widget Label.
L'incontournable "Hello world"
from tkinter import *
Fenetre=Tk()
texte=Label(Fenetre, text="Hello World")
texte['fg']='black' # Création du texte "Hello World" de couleur noire
texte.pack() # Insère le texte dans la fenêtre
Fenetre.mainloop()
Le widget Entry.
Propriétés et méthodes de l'objet Entry.
L'objet Entry() est une zone de saisie de texte que l'on crée de la manière suivante:
from tkinter import * #On importe l'ensemble du module Tkinter
Fenetre = Tk() 
Entree = Entry(Fenetre) # On définit l'objet Entry qui porte le nom Entree
Entree.pack() # On place "Entree"
Fenetre.mainloop() # On lance la boucle du programme
Vous pouvez l'utiliser dans des situations plus complexes comme, par exemple, un formulaire que je vous laisserai examiner:
from tkinter import *
def repondre():
 affichage['text'] = reponse.get() # lecture du contenu du widget "reponse"
Fenetre = Tk()
Fenetre.title('Mon nom')
nom = Label(Fenetre, text = 'Votre nom :')
reponse = Entry(Fenetre)
valeur = Button(Fenetre, text =' Valider', command=repondre)
affichage = Label(Fenetre, width=30)
votre_nom=Label(Fenetre, text='Votre nom est :')
nom.pack()
reponse.pack()
valeur.pack()
votre_nom.pack()
affichage.pack()
Fenetre.mainloop()
Le widget Canvas.
Le widget Canvas (canevas, en français) est une zone de dessin rectangulaire.
Notons que l'angle haut gauche du canevas est l'origine des coordonnées (x,y)=(0,0).
Un exemple d'utilisation :
from tkinter import *
racine= Tk()
zone_dessin = Canvas(racine, width=500, height=500) #Définit les dimensions du canevas
zone_dessin.pack() #Affiche le canevas
zone_dessin.create_line(0,0,500,500) #Dessine une ligne en diagonale
zone_dessin.create_rectangle(100,100,200,200) #dessine un rectangle
bouton_sortir = Button(racine,text="Sortir",command=racine.destroy)
bouton_sortir.pack()
racine.mainloop()
Quelques propriétés de l'objet Canvas.
Les propriétés sont définies en paramètre lors de la construction de l'objet
Exemple supplémentaire.
from tkinter import *
Fenetre=Tk() #La fonction Tk() du module Tkinter permet de créer une fenêtre qui se nomme Fenetre
Fenetre.title("Mon programme avec Tkinter") # Donne un titre à la fenêtre (par défaut c'est Tk)
zone_dessin = Canvas(Fenetre,width=500,height=500,
 bg='yellow',bd=8,relief="ridge")
zone_dessin.pack() #Affiche le Canvas
zone_dessin.create_line(0,0,500,500,fill='red',width=4) # Dessine une ligne
zone_dessin.create_line(0,500,500,0,fill='red',width=4) # Dessine une ligne
zone_dessin.create_rectangle(150,150,350,350) # Dessine un rectangle
zone_dessin.create_oval(150,150,350,350,fill='white',width=4) # Dessine un cercle
bouton_sortir= Button(Fenetre,text="Sortir",command=Fenetre.destroy)
bouton_sortir.pack()
Fenetre.mainloop() # Lancement de la boucle du programme, en attente d'événements (clavier, souris...)
Images .gif.
from tkinter import *
Fenetre=Tk()
photo=PhotoImage(file="Wikibooks.gif")
labl = Label(Fenetre, image=photo)
labl.pack()
Fenetre.mainloop()
Installation des Python méga-widgets.
Python megawidgets (Pmw) est un créateur de widget utilisant Tkinter.
Visitez le site web : "http://pmw.sourceforge.net" et cliquez sur le lien : « Download Pmw12tar.gz » pour télécharger le fichier correspondant.
Décomprimez ce fichier archive dans un répertoire temporaire, à l'aide d'un logiciel de décompression tel que "tar", "Winzip", "Info-Zip", "unzip"…
Recopiez l'intégralité du sous-répertoire "Pmw" qui s'est créé automatiquement, dans le répertoire où se trouve déjà l'essentiel de votre installation de Python.
Sous "Windows", il s'agira par exemple de "C:\Python23".
Sous "Linux", il s'agira vraisemblablement de "/usr/lib/python".

Programmation C/Sommaire
Voici une description rapide des différents chapitres qui constituent ce livre :

Exercices en langage C
Exercices en langage C/Notions de base
Ces exercices sur les notions de base abordent :
Exercice 1 : programme minimal "nop".
Écrire un programme qui ne fait rien ("nop" signifie "no operation", soit « aucune opération »).
Pour le compiler et l'exécuter :
Remarque qualité :
Notions :
Exercice 2 : programme "false".
Dans les faits, le programme précédent retourne toujours le code de succès 0 ; il correspond donc à la commande Unix "true". La commande "true" retourne systématiquement le code de succès 0.
Pour écrire "faux" (équivalent du programme UNIX "false"), cet exercice introduit une complication : l'appel d'une fonction contenue dans le même fichier source que la fonction principale main.
Écrire la fonction "main()" d'un programme "faux" qui appelle la fonction codice_5 suivante et retourne sa valeur à la sortie :
La fonction a appeler :
int un(void)
 return 1;
Pour compiler et exécuter :
Notions :
Exercice 3 : programme "hello, world".
Écrire un programme qui affiche "hello, world".
Notions :
Exercice 4 : programme comptant les "arguments" en ligne de commande.
Écrire un programme qui affiche le nombre de paramètres en ligne de commande (en anglais, les "arguments" sont les données passées au programme, ou à une fonction).
Compilation et exécutions attendues :
Notions :

Exercices en langage C/Structures de contrôle