Ce projet a été développé de manière innovante avec l'assistance d'un agent IA de codage nommé Google Antigravity. L'approche consistait à concevoir et générer le système sur une machine locale de développement puissante, puis à déployer, tester et itérer sur un vieil ordinateur via une connexion SSH.
Le principe fondateur de GrimOS est de s'exécuter sur du matériel ancien ou très modeste. Cependant, écrire du code, tester, et utiliser des outils modernes (comme des assistants IA ou de gros IDE) nécessite de la puissance. Alors comment développer confortablement pour GrimOS ?
La solution est de séparer l'environnement d'exécution de l'environnement de développement.
Le flux de développement idéal : on code sur un ordinateur moderne (à gauche) et on envoie instantanément le résultat sur la machine cible (à droite).
Plutôt que de brancher un clavier et un écran sur le vieil ordinateur (la "machine cible") et de s'épuiser sur un petit éditeur de texte lent, on utilise un ordinateur moderne (la "machine de développement").
Cela offre des avantages considérables :
Sur cette machine, l'installation doit être la plus pure possible.
💻 Terminal :
sudo apt-get update
sudo apt-get install xorg python3 python3-tk openssh-server
Sur votre ordinateur habituel (Windows, macOS, ou un Linux moderne), vous n'avez besoin que de deux choses :
Pour éviter de devoir taper le mot de passe de la machine cible à chaque fois que vous y envoyez du code, nous allons créer une "clé numérique" (une clé SSH).
Étape 1 : Générer la clé sur l'ordinateur moderne Ouvrez votre terminal et tapez :
💻 Terminal :
ssh-keygen -t ed25519 -C "mon_ordinateur_dev"
Appuyez sur Entrée à toutes les questions pour accepter les choix par défaut.
Étape 2 : Transférer la clé sur la machine cible
Nous allons dire à l'antique ordinateur de faire confiance à cette clé. Remplacez utilisateur par votre nom d'utilisateur sur Debian, et 192.168.1.xxx par l'adresse IP locale de la machine cible :
💻 Terminal :
ssh-copy-id utilisateur@192.168.1.xxx
(Il vous demandera le mot de passe une toute dernière fois pour enregistrer la clé).
Désormais, votre ordinateur moderne a un accès administrateur direct et transparent à la machine cible !
Une fois les ordinateurs reliés, voici comment se déroule la création d'une application pour GrimOS.
Vous ouvrez le dossier source de GrimOS sur votre ordinateur moderne. Vous y ajoutez un fichier, par exemple apps/mon_app/app.py.
Dès que vous sauvegardez votre code, vous pouvez envoyer l'intégralité du dossier grimos/ vers la machine cible grâce à la commande de copie sécurisée (scp) :
💻 Terminal :
scp -r ./grimos_build/* utilisateur@192.168.1.xxx:/home/utilisateur/grimos/
Grâce à la clé SSH configurée plus tôt, le transfert est instantané et invisible.
Pour tester votre code, pas besoin de changer de clavier ! Depuis le terminal de votre ordinateur moderne, vous lancez la commande d'exécution à distance :
💻 Terminal :
ssh utilisateur@192.168.1.xxx "cd /home/utilisateur/grimos && DISPLAY=:0 python3 main.py"
L'interface graphique de GrimOS s'affichera immédiatement sur l'écran branché au vieil ordinateur, et si votre code contient des erreurs (bugs), les messages d'erreurs s'afficheront directement dans le terminal de votre ordinateur moderne.
C'est ce qui rend le développement de GrimOS si agréable : une boucle de rétroaction instantanée alliée au confort du matériel moderne !