Le cockpit, expliqué
Un cockpit, c'est la cabine du pilote dans un avion : un seul endroit, avec tous les boutons à portée de main. Ici c'est pareil, mais pour ton ordinateur. Cette page explique chaque morceau, sans rien sauter.
C'est quoi le cockpit
Le cockpit est une page web. Une page web, c'est ce qui s'affiche dans ton navigateur — le programme avec lequel tu vas sur internet.
Sauf que celle-ci ne vient pas d'internet. Elle vient de ta propre machine.
Son adresse est http://127.0.0.1:8790. Voici ce que veut dire cette adresse,
morceau par morceau :
127.0.0.1— ça veut dire « cet ordinateur-ci ». C'est un numéro spécial que toutes les machines du monde comprennent comme « moi-même ».8790— c'est le numéro de la porte. Un ordinateur a des milliers de portes numérotées. Chaque programme qui écoute en prend une pour lui. Le cockpit a pris la porte 8790.
Donc personne d'autre sur la terre ne peut ouvrir cette page. Elle n'existe que pour toi, sur ta machine.
D'autres tableaux de bord existent. Ce sont des pages de liens : on clique, on part ailleurs. Le cockpit, lui, a des boutons qui agissent. On clique, et un vrai travail se lance sur la machine. C'est un poste de pilotage, pas une liste de raccourcis.
Ce qu'on voit à l'écran
L'écran est coupé en deux dans le sens de la hauteur.
- À gauche, la barre. C'est le sommaire. Chaque ligne est un endroit où on peut aller. La ligne où on se trouve est surlignée, avec un petit trait de couleur collé à son bord gauche.
- À droite, la grande zone. Elle montre l'endroit choisi dans la barre. Quand on clique sur une autre ligne à gauche, seule cette zone change. La page ne se recharge pas : c'est instantané.
Les lignes de la barre de gauche sont rangées en trois familles : À faire, Mes dossiers, et sous le petit titre Mes modules, tes propres pages.
À faire — les boutons
C'est le cœur du cockpit. Une chose à faire = un bouton.
Avant, quand un assistant voulait que tu fasses quelque chose, il écrivait « tape cette commande ». Il fallait la recopier sans se tromper d'une virgule. Maintenant l'assistant pose un bouton dans ton cockpit. Toi, tu regardes, et tu cliques — ou tu ne cliques pas. La clé reste dans ta poche.
Chaque bouton est une carte qui contient trois choses :
- un titre en gras : ce que ça fait, en une ligne ;
- un détail en petit gris : ce qui va vraiment se passer, et surtout comment on saura que ça a marché ;
- le bouton lui-même, et à côté une petite phrase qui dit où ça en est.
Ce qui se passe quand tu cliques
- La page prévient le cockpit : « lance celui-là ».
- Le cockpit note tout de suite en cours, et te répond sans attendre — c'est pour ça que la page ne gèle jamais, même si le travail dure dix minutes.
- Le travail part de son côté, en fond.
- Quand il a fini, le cockpit regarde s'il a réussi ou raté, et l'écrit.
- Tu rafraîchis la page (touche F5) et tu vois la nouvelle couleur.
Les quatre couleurs d'un bouton
Chaque carte a un cadre coloré. La couleur dit tout, d'un seul coup d'œil :
Le mot écrit dans le bouton change aussi : « Lancer » la première fois, « Relancer » si c'est déjà passé, « Réessayer » si ça a raté.
Avant, il n'y avait que deux couleurs : « à lancer » et « fait ». Le cockpit écrivait « fait » au moment du départ du travail, sans jamais regarder le résultat. Donc un travail qui ratait restait marqué en vert, et le bouton disparaissait : impossible même de réessayer.
Un bouton vert qui n'a rien fait est pire qu'un bouton rouge : il rassure pour rien. C'est pour ça qu'il y a quatre couleurs aujourd'hui, et que le bouton reste toujours cliquable — un échec doit toujours avoir une sortie.
« Voir le journal » — comprendre un échec tout seul
Sous chaque bouton il y a un petit lien bleu : « Voir le journal ». Il ouvre un nouvel onglet qui montre tout ce que le script a écrit la dernière fois qu'il a tourné. Pas seulement la dernière ligne : tout, du début à la fin, plus les erreurs.
En haut de ce texte il y a le numéro de sortie du script. C'est le mot que tout programme dit en partant :
| Le numéro | Ce que ça veut dire |
|---|---|
| 0 | tout s'est bien passé |
| n'importe quel autre | ça a raté ; la raison est écrite juste en dessous |
Avant le 9 septembre 2026, ce journal n'existait pas. Un bouton rouge affichait seulement sa dernière ligne, coupée à 200 lettres. Impossible de savoir à quel moment ça avait lâché — il fallait appeler quelqu'un. C'est exactement ce que ce lien supprime.
Les journaux sont gardés dans le dossier journaux, à côté des réglages. On garde les dix derniers passages de chaque bouton, puis les plus vieux s'effacent tout seuls. Rien ne grossit sans fin.
Mes dossiers
Cette partie montre une carte par sous-dossier d'un dossier que tu as choisi. Un clic sur une carte ouvre ce dossier sur ton bureau, dans la fenêtre habituelle où tu ranges tes fichiers.
Tu choisis quel dossier dans les réglages, avec le mot dossier_travaux.
Si tu laisses ce mot vide, la partie « Mes dossiers » disparaît :
ni la ligne dans la barre de gauche, ni la zone à droite.
Le cockpit ne montre que les vrais dossiers. Il met de côté les fichiers seuls (les modes d'emploi, les raccourcis) et tout ce qui commence par un point — un nom qui commence par un point veut dire « caché ».
Mes modules et la pastille
Un module, c'est une de tes autres pages. Elle a sa propre adresse et vit de son côté. Le cockpit sait l'afficher à l'intérieur de lui-même, dans un cadre. Tu ne quittes donc jamais le cockpit.
Ce cadre s'appelle une fenêtre dans la fenêtre. Le module se charge seulement la première fois que tu cliques sur sa ligne. Tant que tu n'y vas pas, il ne coûte rien : ni mémoire, ni électricité.
En haut à droite de chaque module il y a « Ouvrir en grand » : ça ouvre la page toute seule, dans un nouvel onglet, sans le cadre.
La pastille
À droite de chaque nom de module, dans la barre de gauche, il y a un petit rond. C'est la pastille. Elle répond à une seule question : cette page est-elle vivante ?
| Le rond | Ce que ça veut dire |
|---|---|
| Gris | on n'a pas encore regardé |
| Vert | la page a répondu 200 — elle est allumée |
| Rouge | elle n'a pas répondu — la raison est écrite juste à côté |
Le cockpit refait ce contrôle tout seul toutes les 30 secondes. Tu n'as rien à faire.
Avant le 9 septembre 2026, la pastille se trompait : elle chargeait une image et disait vert même quand la page était morte. Elle a été remplacée par une vraie mesure, faite par le cockpit lui-même, qui lit le code de réponse.
Quand un module est éteint : le bouton « Rallumer »
Ouvre le module. Si sa page ne répond pas, une phrase rouge s'écrit en haut, à côté de son titre. Elle dit trois choses :
| Ce qui est écrit | Ce que ça veut dire |
|---|---|
| éteint | la page n'a rien répondu du tout |
| depuis 4 minutes | depuis combien de temps elle est tombée |
| personne n'écoute : son programme est éteint | la raison, en clair |
Les raisons possibles, et ce qu'elles veulent dire :
| La raison | Traduction |
|---|---|
| personne n'écoute : son programme est éteint | le programme de cette page n'est pas lancé. C'est le cas le plus fréquent, et le bouton Rallumer le règle. |
| il ne répond pas à temps | le programme tourne mais il est bloqué ou très lent. |
| la machine est introuvable | l'adresse pointe vers un ordinateur qui n'existe pas, ou qui est éteint. |
| il répond 404 au lieu de 200 | le programme tourne, mais cette page-là n'existe pas chez lui. |
À côté de la phrase rouge, un bouton vert « Rallumer » apparaît — seulement si le cockpit sait comment rallumer ce module-là. Un clic, et il lance la commande de démarrage, attend quatre secondes, puis re-teste. Il écrit ensuite « rallumé », ou bien « toujours éteint » avec la nouvelle raison.
Si aucun bouton n'apparaît, c'est que ce module ne vit pas sur ce PC : le cockpit ne peut pas le rallumer d'ici. La phrase rouge dit alors où il vit. Pour donner à un module sa commande de démarrage, voir relance dans le chapitre des réglages ci-dessous.
config.json — les réglages
config.json est un fichier de texte. Le mot json est juste une
façon d'écrire des réglages pour qu'un programme les lise sans se tromper :
un nom, deux points, une valeur.
Tout se règle là. On ne touche jamais au code. C'est ce qui fait qu'on peut donner ce cockpit à quelqu'un d'autre : il change ce seul fichier, et le cockpit devient le sien.
| Le réglage | Ce qu'il fait |
|---|---|
titre | le nom affiché en haut de la barre de gauche |
port | le numéro de la porte, celui de l'adresse (8790 par défaut) |
couleur_accent | la couleur des boutons et de la ligne surlignée |
dossier_travaux | le dossier dont chaque sous-dossier devient une carte ; vide = partie cachée |
pages | la liste de tes modules ; chacun a un id, un nom, une url |
Un module s'écrit comme ça :
{
"id": "labo", // son nom secret, sans espaces ni accents
"nom": "Le labo — l'agent 3D", // ce que TU lis dans la barre
"url": "http://192.168.1.24:8020/" // où la page habite
}
Le id ne s'affiche nulle part. Il sert au cockpit à s'y retrouver tout seul.
Deux modules ne doivent jamais avoir le même id.
Le fichier config.exemple.json est un modèle vierge. Si config.json
n'existe pas, le cockpit prend le modèle et démarre quand même. Il ne refuse jamais de s'allumer.
taches.json — la liste des boutons
Ce fichier contient les boutons de la partie « À faire ». Chaque bouton a quatre morceaux :
| Le morceau | Ce qu'il fait |
|---|---|
id | son nom secret ; c'est lui qui relie le bouton à sa mémoire |
titre | la ligne en gras que tu lis |
detail | le petit texte gris : ce qui va se passer, et comment on saura que ça a marché |
script | le nom du fichier de travail à lancer, rangé dans le dossier scripts |
[
{
"id": "exemple",
"titre": "Un exemple de bouton",
"detail": "Montre ce que fait un bouton : ici, il affiche la date.",
"script": "exemple.sh"
}
]
etat.json — la mémoire
etat.json se souvient de ce qui s'est passé pour chaque bouton.
C'est lui qui donne sa couleur à chaque carte.
Tu n'écris jamais dedans à la main : le cockpit s'en occupe seul, avant et après chaque travail.
| Le mot écrit | Ce qu'il veut dire |
|---|---|
encours | le travail est parti, on attend |
fait | le travail s'est terminé et il a réussi |
echoue | le travail s'est terminé mais il a raté |
quand | le jour et l'heure, pour savoir si c'est frais |
pourquoi | la dernière phrase que le travail a dite en ratant |
Si tu éteins le cockpit pendant qu'un travail tourne, personne ne sera là pour écrire la fin de l'histoire. Le bouton restera orange, comme figé. Ce n'est pas grave : clique sur « Relancer », et il repart proprement.
Le dossier scripts — le vrai travail
Le dossier scripts contient le travail lui-même. Un fichier par bouton.
Ces fichiers se terminent par .sh : c'est une suite d'ordres que la machine
exécute dans l'ordre, du haut vers le bas.
Le cockpit décide qu'un travail a réussi avec une règle très simple :
- le fichier finit en disant 0 → c'est réussi, la carte devient verte ;
- il finit en disant autre chose que 0 → c'est raté, la carte devient rouge.
Ce nombre s'appelle le code de sortie. Zéro veut dire « tout va bien ». C'est la convention de toutes les machines depuis cinquante ans.
Ne dis jamais zéro si tu n'as pas vérifié. Un script honnête finit par un vrai contrôle : la page répond-elle ? le fichier est-il arrivé ? Sinon, il fait exprès de finir sur autre chose que zéro, pour que la carte devienne rouge.
Ajouter un bouton
Un assistant — ou toi — ajoute un bouton avec un seul ordre à taper. Le voici, chaque morceau expliqué en dessous :
python3 ajouter-tache.py mon-bouton "Le titre" "Le détail" "la commande"
| Le morceau | Ce qu'il veut dire |
|---|---|
python3 | le langage dans lequel le cockpit est écrit ; il sait lire ce fichier |
ajouter-tache.py | le petit programme qui pose un bouton |
mon-bouton | le nom secret ; sans espaces ni accents |
"Le titre" | la ligne en gras que tu liras |
"Le détail" | le petit texte gris en dessous |
"la commande" | le travail à lancer quand tu cliqueras |
La preuve que ça a marché : l'écran répond
bouton ajouté : mon-bouton
Et si le bouton existait déjà, il répond déjà présent et
n'efface rien. Rafraîchis la page du cockpit (touche F5) : la nouvelle
carte est là, en bleu.
Les adresses que le cockpit comprend
Le cockpit ne connaît que quatre adresses. Toute autre reçoit un refus poli.
| L'adresse | Ce qu'elle fait |
|---|---|
/ | la page elle-même, refabriquée à chaque visite — donc toujours à jour |
/doc | cette page-ci, le mode d'emploi |
/lancer | démarre le travail d'un bouton |
/ouvrir | ouvre un dossier sur ton bureau |
Le cockpit ne garde aucune page toute faite de côté. Il la refabrique entièrement à chaque fois que tu la demandes, en relisant ses fichiers. Il ne peut donc pas te montrer une vieille version par erreur.
Démarrer et arrêter
Pour l'allumer, un seul ordre :
python3 cockpit.py
La preuve que ça a marché : l'écran écrit une ligne comme celle-ci
Mon cockpit sur http://127.0.0.1:8790
Tant que cette fenêtre reste ouverte, le cockpit vit. Si tu la fermes, il s'éteint, et la page ne répond plus.
Il n'a besoin de rien d'autre que Python : aucun programme à installer, aucune connexion à internet. C'est voulu — moins il dépend de choses, moins il peut tomber.
Les pièges déjà payés
Chacun de ces pièges a coûté du temps une vraie fois. Ils sont réparés, mais il faut les connaître.
Le cockpit écrivait « fait » au départ du travail. Trois boutons disaient « fait » alors que rien n'était fait. Il attend maintenant la fin, et il écrit ce qui s'est vraiment passé.
Un bouton marqué « fait » devenait impossible à recliquer. Quand ça avait raté, il n'y avait plus de sortie. Aujourd'hui le bouton reste toujours cliquable.
Écrire « tape cette commande » fait travailler l'humain à la place de la machine. La bonne façon est de poser un bouton. L'humain garde la décision ; la machine garde le travail.
Le petit dictionnaire
| Le mot | Ce que ça veut dire |
|---|---|
| cockpit | la cabine du pilote : un seul endroit avec tous les boutons |
| port | le numéro d'une porte de l'ordinateur ; ici, 8790 |
| 127.0.0.1 | « cet ordinateur-ci » ; personne d'autre ne peut y entrer |
| module | une de tes autres pages, montrée dans un cadre du cockpit |
| pastille | le petit rond qui dit si une page est allumée |
| script | une suite d'ordres que la machine exécute de haut en bas |
| code de sortie | le nombre dit par un script en finissant ; 0 = réussi |
| json | une façon d'écrire des réglages : un nom, deux points, une valeur |
| F5 | la touche qui redemande la page au cockpit, donc la met à jour |
Retourne sur À faire dans la barre de gauche, et regarde la couleur de tes cartes. Les oranges attendent, les rouges ont besoin de toi.