Hello world ! est un classique des tutoriels de programmation. Il s'agit d'un programme très simple qui se contente d'afficher le message “Hello World !” et qui sert à vérifier que l'environnement de travail est prêt.
L'algorithme est une procédure étape par étape, décrite sans ambiguïté. On pourrait l'écrire de bien des façons, comme dans les travaux de Al-Kwarizmi.
Quand on veut l'écrire, on utilise souvent du pseudo-code comme ci-dessous.
DÉBUT
initialiser t à 0
initialiser i à 1
TANT QUE i < 10 RÉPÉTER
ajouter i à t
ajouter 1 à i
FIN
FIN
Ce pseudo-code est déjà une forme de programme mais écrit dans un langage naturel.
Une fois l'algorithme formulé comme pseudo-code, le passage à un langage de programmation est souvent rapide :
t = 0
i = 0
while i < 10:
t += i
i += 1
Ceci est un programme en Python.
Un fichier programme est un simple fichier texte qui est la traduction de l'algorithme dans un certain langage de programmation, par exemple Python.
Le langage de programmation n'est pas le langage de la machine. On ne veut pas programmer dans le langage de la machine car (quelques arguments) :
Le programme n'est donc pas exécutable en l'état. Il doit être traduit dans le langage machine.
On a un programme qui se présente comme une suite de lignes dans un certain langage de programmation. On veut l'exécuter, alors il faut le traduire dans le langage machine.
Nous avons deux choix pour le moment de la traduction :
Le programme est traduit au fur et à mesure au moment de l'exécution. Chaque fois que l'on exécutera, il faudra traduire.
Vous pouvez le voir comme un interprète qui traduit à la volée la réaction d'un sportif à la fin d'un match.
Le programme est traduit entièrement et on obtient un fichier exécutable. On utilise ce fichier pour l'exécution. Inutile de traduire à nouveau à chaque exécution.
En revanche, si on veut modifier le programme, il faut refaire la traduction.
Python est un langage interprété.
Comme Python est un langage interprété, on dispose d'un interpréteur python.exe qui est un exécutable. Il peut en exister plusieurs version simultanément sur une même machine.
Dans une ligne de commande on souhaite écrire directement python
Il s'agit d'un exécutable dont le vrai nom est python.exe. Il est cependant inutile de préciser .exe car Windows, ne trouvant pas python seul, essaie automatiquement des variantes comme python.exe.
Si la commande a fonctionné, soyez-en heureux et ne lisez pas cette encadré. Mais la commande n'a pas fonctionné…
Je vous explique le problème : Vous êtes pour l'instant dans le dossier U:\ et le fichier python.exe n'est pas dans ce dossier. Pourtant on voudrait pouvoir appeler python directement depuis n'importe où.
Pour contourner ce problème, Windows utilise le PATH. Il s'agit d'un réglage – on appelle cela une variable d'environnement – qui donne une liste de répertoire où chercher. Il faudrait donc indiquer dans le PATH un répertoire où trouver python.exe.
C:\EduPython\App contient python.exe. On souhaite donc ajouter ce répertoire au PATH. On écrit alors en ligne de commande :set PATH=C:\EduPython\App;%PATH%
Après cela, si vous lancez la commande python, Windows saura où trouver l'exécutable et python pourra s'exécuter !
Dernière remarque : Malheureusement nous ne disposons pas des droits nécessaires pour rendre cette modification permanente, si bien que si vous redémarrer l'ordinateur, la modification sera perdue. Ce n'est pas grave, nous ne ferons pas souvent ce genre de manipulation. De plus, il est possible d'enregistrer la commande dans un petit script set_path_14_30.bat que vous pouvez recopier sur votre U:\ pour la relancer très vite.
En exécutant python.exe, vous utilisez Python en mode console.
En mode console, vous pouvez écrire du Python. À chaque validation, le programme écrit est interprété et exécuté aussitôt. On peut par exemple écrire de simples calculs en utilisant Python comme une calculatrice.
En mode console, comme une exécution renvoie un résultat, ce résultat est affiché. Ici >>> 3+2 renvoie le résultat 5 qui est affiché.
Dans cette console, on écrit toujours après >>>. Quand dans les documents de cours j'écrirais >>> vous comprendrez qu'il s'agit du mode console.
Un programme est généralement composé d'une dizaine de lignes minimum et peut aller jusqu'à des milliers de lignes. On ne va donc pas écrire ces lignes dans la console à chaque fois. On préfère écrire les lignes de programme dans un fichier programme qui n'est rien d'autre qu'un fichier texte.
# fichier helloworld.py
print("Hello World !")
U:\helloworld.pyNe surtout pas utiliser le Notepad de Windows, ou Wordpad ou, pire encore, Word. Ils ne sont pas du tout fait pour cela.
Vous pouvez remarque que, dès que le fichier est enregistré, l'éditeur ajoute des couleurs.
L'extension .py lui a permis de deviner qu'il s'agissait d'un programme Python. L'éditeur assure alors la coloration syntaxique, c'est à dire qu'il met le texte automatiquement en couleur pour faciliter la lecture du code Python.
Maintenant que le fichier programme existe, on peut l'interpréter en ligne de commande. On a placé le fichier dans le répertoire U:\, c'est donc là que l'on fera l'interprétation.
python suivi d'une espace et du nom du fichier programme,Hello World !,U:\ revient à la ligne suivante.Le programme est parfois appeler code ou script. Ce dernier terme est plutôt utilisé pour un programme simple répondant à un problème bien déterminé. Par exemple, on ne parlerait pas de script pour le programme d'un logiciel comme Word. On parlerait de script pour un programme qui, dans un texte, enlèverait tous les accents.
Comme nos programmes seront souvent très simples, on pourra les qualifier de scripts.
Contrairement au mode console, les résultats des calculs ou instructions ne sont pas affichés. Si on veut un affichage, il faut le demander explicitement avec print par exemple.
La raison en est simple : Un programme ordinaire fait des milliers de calculs. S'il devait les afficher tous, l'écran serait illisible. De plus, l'affichage prend du temps et on ralentirait grandement l'exécution.
Un environnement de développement est une application, avec une interface graphique, qui facilite le travail du développeur. L'environnement fournit un éditeur de texte et une console, quelques boutons pour l'exécution, des documents d'aide, une aide à la gestion de gros projets, etc.
On trouve ces trois environnements au lycée
Mais il en existe beaucoup d'autres. Personnellement, je préfère tout faire avec Sublime.
En tant que spécialistes, il est important que vous ne soyez pas limités à une méthode. Vous pouvez bien sûr avoir une méthode préférée. Mais supposons que vous préfériez Pyzo et qu'un jour Pyzo ait un problème de fonctionnement, vous devez être capable de passer à une autre méthode.
On peut trouver des environnements Python sur internet. Par exemple celui-ci ou encore le célèbre replit.
N'hésitez pas à les utiliser en cas de besoin. Ils ont l'avantage d'être bien installés et d'être disponibles partout. Les sites comme replit peuvent être extrêmement pratique pour les projets de groupe.
Petit point technique pour information : Les navigateurs web n'exécutent pas le Python. Le langage principalement utilisé dans les pages web est Javascript (en dehors de html bien sûr).
Guido Von Rossum, inventeur de Python, a dit lui-même que Python ne serait probablement jamais exécutable dans les navigateurs parce qu'il est trop lourd.
Alors comment font les sites qui permet l'exécution de scripts Python ? Il y a deux cas :