Il est poli d'être gai
En programmation, les commentaires sont des portions du code source ignorées par le compilateur ou l’interpréteur, car ils ne sont pas nécessaires à l’exécution du programme.
On commente un code source en Python pour en simplifier sa lisibilité, et gagner du temps dans la ré-utilisation de parties de code sur lesquelles on a déjà travaillé.
En Python le caractère # débute un commentaire.
Le code suivant est bien documenté. Essayez-le, analysez-le. Ensuite créez un fichier damier.py avec 100 cases bleues et jaunes de 45 pixels de largeur.
Code Python traduit en HTML:#L'échiquier version 1.0.0
#par wouf 11/2018
from turtle import *
# Les variables globales :________________________________________________________________
nombre_colonnes=8
nombre_lignes=8
cote_en_pixels=40
# Les fonctions : _______________________________________________________________________
def dessin_carre(x,couleur="aucune" ): #cette fonction est documenté en dessous entre les triples cotes:
""" x est le coté du carré en pixel
Option : la couleur de remplissage est facultative..."""
les_couleurs=("blue" ,"red" ,"green" ,"yellow" ,"brown" ,"black" ,"white" ,"pink" ,"orange" ,"purple" ,"grey" )
#cette liste est une variable locale, non connue à l'exterieur de la fonction dessin_carre()
if couleur not in les_couleurs: #si la couleur est "aucune" ou une couleur non existante...
couleur="white"
fillcolor(couleur)
begin_fill()
for c in range(4):
forward(x)
right(90)
end_fill()
# Les paramètres pour turtle : __________________________________________________________
speed("fastest" )#vitesse maximum
shape("blank" ) #pour ne pas voir le curseur
title("Echiquier de Wouf" ) #Titre de la fenêtre
# Dessin de l echiquier ________________________________________________________________
for i in range(nombre_colonnes):
for j in range(nombre_lignes): #avez vous remarqué les 2 boucles imbriquées ?
#positionnement :
up()
goto(i*cote_en_pixels-320,j*cote_en_pixels-220) #où placer la tortue avant de faire la case (i,j) ?
down()
if (i+j)%2==0:
#Si la case est paire
#(X%Y est le reste de la division
#euclidienne de X par Y)
#On apllique la couleur foncée (remplissage)
dessin_carre(cote_en_pixels,"brown" )
else: #Sinon on a une case paire de couleur claire
dessin_carre(cote_en_pixels,"grey" )
Pour vous donner un exemple simple, je vous propose le code qui suit.
Un feu tricolore s'offre à vous et la possibilités d'utiliser 3 touches du clavier :
#Le feu tricolore version 1.0.0
#par wouf 11/2018
#Utilisez les touches r(rouge) o(orange) et v(vert) pour changer la couleur du feu
from turtle import *
# Les paramètres pour turtle : __________________________________________________________
speed("fastest" )#vitesse maximum
shape("blank" ) #pour ne pas voir le curseur
title("Feu tricolore de Wouf" ) #Titre de la fenêtre
def rouge(): #Le feu est rouge
up()
goto(50,-50)
down()
color("red" )
dot(80)
up()
goto(50,-150)
down()
color("black" )
dot(80)
up()
goto(50,-250)
down()
dot(80)
def orange(): #Le feu est orange
up()
goto(50,-50)
down()
color("black" )
dot(80)
up()
goto(50,-150)
down()
color("orange" )
dot(80)
up()
goto(50,-250)
down()
color("black" )
dot(80)
def vert(): #Le feu est vert
up()
goto(50,-50)
down()
color("black" )
dot(80)
up()
goto(50,-150)
down()
color("black" )
dot(80)
up()
goto(50,-250)
down()
color("green" )
dot(80)
#Dessin du feu : _______________________________________________________________
fillcolor("brown" )
begin_fill()
forward(100)
right(90)
forward(400)
right(90)
forward(100)
right(90)
forward(400)
right(90)
end_fill()
up()
goto(50,-50)
down()
dot(80)
up()
goto(50,-150)
down()
dot(80)
up()
goto(50,-250)
down()
dot(80)
# la tortue écoute les entrées au clavier (listen) et associe :
#à la touche r la fonction rouge()
#à la touche o la fonction orange()
#à la touche v la fonction vert()
if __name__ == "__main__" :
listen()
onkeypress(rouge,"r" )
onkeypress(orange,"o" )
onkeypress(vert,"v" )
mainloop()
feu_tricolore
Quand le feu est rouge il serait bien qu'un appui sur la touche r éteigne l'ampoule (idem pour orange et vert)
Pouvez vous faire ça ?
Votre mission est de créer (après certaines recherches) le visuel d'un jeu de puissance 4.
Pourquoi ne pas travailler en équipe ?
Les plus rapide peuvent réfléchir à l'interaction avec l'utilisateur...
Au cycle 4, les élèves s'initient à la programmation, en développant dans une démarche de projet quelques programmes simples, sans viser une connaissance experte et exhaustive d'un langage ou d'un logiciel particulier. En créant un programme, ils développent des méthodes de programmation, revisitent les notions de variables et de fonctions sous une forme différente, et s'entraînent au raisonnement.
Décomposer un problème en sous-problèmes afin de structurer un programme ; reconnaître des schémas. Écrire, mettre au point (tester, corriger) et exécuter un programme en réponse à un problème donné. Écrire un programme dans lequel des actions sont déclenchées par des événements extérieurs. Programmer des scripts se déroulant en parallèle. - Notions d'algorithme et de programme. - Notion de variable informatique. - Déclenchement d'une action par un événement, séquences d'instructions, boucles, instructions conditionnelles.
Jeux dans un labyrinthe, jeu de Pong, bataille navale, jeu de nim, tic tac toe. Réalisation de figure à l'aide d'un logiciel de programmation pour consolider les notions de longueur et d'angle. Initiation au chiffrement (Morse, chiffre de César, code ASCII...). Construction de tables de conjugaison, de pluriels, jeu du cadavre exquis... Calculs simples de calendrier. Calculs de répertoire (recherche, recherche inversée...). Calculs de fréquences d'apparition de chaque lettre dans un texte pour distinguer sa langue d'origine : français, anglais, italien, etc.
En 5e, les élèves s'initient à la programmation événementielle. Progressivement, ils développent de nouvelles compétences, en programmant des actions en parallèle, en utilisant la notion de variable informatique, en découvrant les boucles et les instructions conditionnelles qui complètent les structures de contrôle liées aux événements.
Blue-Bot est un robot autonome spécialement conçu pour une utilisation scolaire. Le robot : 125,00 €Pack 6 robots + station d'accueil : 759,00 €
(Fin de la trilogie)
Vous avez appris à utiliser find pour scanner votre disque comme un détective. C'est puissant, mais avouons-le : taper des commandes de 30 caractères à chaque fois, c'est long. Et si vous pouviez filtrer vos milliers de fichiers en temps réel, à chaque pression de touche, avec une interface interactive ?
Bienvenue dans le monde de FZF "Fuzzy Finding", l'outil qui va rendre votre terminal plus rapide que votre explorateur de fichiers.

Le Fuzzy Finding (que l’on peut traduire par recherche approximative) désigne une manière intelligente de chercher une information sans exiger une correspondance exacte.
Contrairement à une recherche classique, le fuzzy finding tolère les erreurs, les approximations et les variations d’écriture.
Dans la vraie vie, les utilisateurs :
Le fuzzy finding permet malgré tout de trouver ce qu’ils cherchent.
Recherche classique ❌
Tu cherches
mathématiques
Tu tapesmathematique
→ Aucun résultat
Recherche avec fuzzy finding ✅
mathematique,maths,mathématique
→ Résultats pertinents affichés
Le fuzzy finding repose sur plusieurs idées simples :
L’objectif n’est pas la perfection, mais la pertinence.
Tu l’utilises déjà tous les jours, souvent sans le savoir :
| Recherche exacte | Fuzzy Finding |
|---|---|
| Mot strictement identique | Mot ressemblant |
| Sensible aux fautes | Tolère les erreurs |
| Résultats parfois vides | Résultats utiles |
| Rigide | Intelligent et souple |
Le Fuzzy Finding permet de :
? Ce n’est pas chercher juste, c’est chercher malin.
sudo apt install fzf

Vous avez installé FZF ? Oubliez tout ce que vous savez sur la recherche classique. Ne tapez pas de chemin, ne cherchez pas d'options compliquées.
Tapez simplement ces trois lettres dans votre dossier personnel : fzf
À l'instant où vous appuyez sur Entrée, votre terminal se transforme. Une liste apparaît, et un curseur clignote.
docbre pour chercher Documents/Bretagne).? Pourquoi c'est un "Wow" ? Parce qu'en moins de 2 secondes, vous venez de trouver un fichier caché dans un sous-dossier complexe sans jamais avoir utilisé votre souris, ni même connu l'emplacement exact du document.
C'est ici que la magie opère. En utilisant le Pipe (|), vous envoyez les résultats de vos outils classiques dans l'entonnoir FZF. Voici les deux duos que vous utiliserez tous les jours :
C'est pour qui ? Ceux qui cherchent un fichier précis en éliminant le "bruit" autour.
find . -name "*.jpg" -o -name "*.png" | fzfC'est pour qui ? Ceux qui cherchent une information à l'intérieur des fichiers (une variable, une fonction, une erreur).
grep -rn "votre_recherche" . | fzfgrep récursif vous inonde de lignes de texte illisibles. En l'envoyant dans FZF, vous transformez ce chaos en une liste interactive.-n vous donne même le numéro de la ligne pour savoir où intervenir.| Si vous cherchez... | Utilisez le combo... | Le rôle de FZF ici : |
| Un contenant (Fichier, Image, PDF) | Find + FZF | Filtrer parmi des noms de fichiers. |
| Un contenu (Ligne de code, Texte, Log) | Grep + FZF | Filtrer parmi des lignes de texte. |
Pour maîtriser FZF, il faut comprendre un concept fondamental de Linux : le Pipe (représenté par la barre verticale |).
Imaginez que vos commandes sont des ouvriers spécialisés :
|) sert de tuyau pour déverser cette montagne directement dans l'outil suivant.C'est la nuance la plus importante : FZF n'est pas un moteur de recherche qui fouille votre disque dur de lui-même. C'est un filtre interactif.
find, il vous aidera à en choisir un.cat, il vous aidera à trouver la bonne phrase.FZF prend une sortie textuelle illisible et la transforme en une interface où vous pouvez taper pour choisir. C'est l'outil qui donne un visage humain à la puissance brute de Linux.
Vous voulez modifier un script ou un fichier de configuration, mais vous n'avez pas envie de naviguer dans vos dossiers à la souris ou de taper le chemin complet /home/user/documents/projets/site/index.html ?
Tapez simplement : gnome-text-editor $(fzf)
Si vous gérez un site web (comme site2wouf.fr), vous avez forcément un fichier sitemap.xml qui contient la liste de toutes vos pages. Au lieu de chercher une URL dans votre interface d'administration, utilisez FZF !
Tapez cette commande magique : xdg-open $(grep -oP 'https?://[^<]+' sitemap.xml | fzf)
<loc>, <url>, etc.? Pourquoi c'est brillant ? Vous venez de transformer un fichier technique illisible en un menu de navigation ultra-rapide pour votre propre site.
"Note : Si votre terminal affiche des messages bizarres (Gtk-Message) au lancement, c'est tout à fait normal. C'est juste Ubuntu qui bavarde.
...
Si vous voulez approfondir votre maîtrise de FZF et de la ligne de commande, voici les ressources indispensables :
Vous trouvez ces commandes géniales mais un peu longues à mémoriser ? Vous avez raison. Dans le monde Linux, on ne tape jamais deux fois la même chose.
Imaginez qu'au lieu de taper xdg-open $(grep -oP 'https?://[^<]+' sitemap.xml | fzf), vous n'ayez qu'à taper un seul mot : map. Ou juste fe pour ouvrir votre éditeur de texte préféré via FZF.
C'est ce qu'on appelle les Alias.
Dans mon prochain article, je vous montrerai comment personnaliser votre fichier .bashrc pour créer vos propres raccourcis "magiques". Nous transformerons ces combinaisons complexes en commandes ultra-courtes pour faire de vous un véritable sprinter du clavier.
Un souci d'ortographe?
Sur le site de Wouf, Answers est directement accessible du menu en cliquant sur "liens". (dico)