Cockpit
le mode d'emploi

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 :

Donc personne d'autre sur la terre ne peut ouvrir cette page. Elle n'existe que pour toi, sur ta machine.

Ce qui le rend différent

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.

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 :

  1. un titre en gras : ce que ça fait, en une ligne ;
  2. un détail en petit gris : ce qui va vraiment se passer, et surtout comment on saura que ça a marché ;
  3. le bouton lui-même, et à côté une petite phrase qui dit où ça en est.

Ce qui se passe quand tu cliques

  1. La page prévient le cockpit : « lance celui-là ».
  2. 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.
  3. Le travail part de son côté, en fond.
  4. Quand il a fini, le cockpit regarde s'il a réussi ou raté, et l'écrit.
  5. 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 :

Bleu — à lancerpersonne n'a encore cliqué
Orange — en coursle travail tourne en ce moment
Vert — réussifini, et ça a marché
Rouge — échouéfini, mais ça a raté — et on dit pourquoi

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é.

Le piège payé le 8 septembre 2026

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éroCe que ça veut dire
0tout 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 rondCe que ça veut dire
Grison n'a pas encore regardé
Vertla page a répondu 200 — elle est allumée
Rougeelle 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 écritCe que ça veut dire
éteintla page n'a rien répondu du tout
depuis 4 minutesdepuis combien de temps elle est tombée
personne n'écoute : son programme est éteintla raison, en clair

Les raisons possibles, et ce qu'elles veulent dire :

La raisonTraduction
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églageCe qu'il fait
titrele nom affiché en haut de la barre de gauche
portle numéro de la porte, celui de l'adresse (8790 par défaut)
couleur_accentla couleur des boutons et de la ligne surlignée
dossier_travauxle dossier dont chaque sous-dossier devient une carte ; vide = partie cachée
pagesla 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.

Un modèle tout prêt

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 morceauCe qu'il fait
idson nom secret ; c'est lui qui relie le bouton à sa mémoire
titrela ligne en gras que tu lis
detaille petit texte gris : ce qui va se passer, et comment on saura que ça a marché
scriptle 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 écritCe qu'il veut dire
encoursle travail est parti, on attend
faitle travail s'est terminé et il a réussi
echouele travail s'est terminé mais il a raté
quandle jour et l'heure, pour savoir si c'est frais
pourquoila dernière phrase que le travail a dite en ratant
Un bouton orange pour toujours

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 :

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.

Pour écrire un bon script

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 morceauCe qu'il veut dire
python3le langage dans lequel le cockpit est écrit ; il sait lire ce fichier
ajouter-tache.pyle petit programme qui pose un bouton
mon-boutonle 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'adresseCe qu'elle fait
/la page elle-même, refabriquée à chaque visite — donc toujours à jour
/doccette page-ci, le mode d'emploi
/lancerdémarre le travail d'un bouton
/ouvrirouvre un dossier sur ton bureau
Pourquoi la page est toujours juste

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.

1. Le bouton vert menteur

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é.

2. Le bouton qui disparaît

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.

3. La commande à recopier

É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 motCe que ça veut dire
cockpitla cabine du pilote : un seul endroit avec tous les boutons
portle numéro d'une porte de l'ordinateur ; ici, 8790
127.0.0.1« cet ordinateur-ci » ; personne d'autre ne peut y entrer
moduleune de tes autres pages, montrée dans un cadre du cockpit
pastillele petit rond qui dit si une page est allumée
scriptune suite d'ordres que la machine exécute de haut en bas
code de sortiele nombre dit par un script en finissant ; 0 = réussi
jsonune façon d'écrire des réglages : un nom, deux points, une valeur
F5la touche qui redemande la page au cockpit, donc la met à jour
La prochaine chose à faire

Retourne sur À faire dans la barre de gauche, et regarde la couleur de tes cartes. Les oranges attendent, les rouges ont besoin de toi.