8. Comment il fonctionne à l'intérieur

8.3 Processus en arrière-plan

Ce qui démarre avec l'application, ce qui s'arrête quand vous la fermez, et pourquoi aucun programme ne reste allumé à votre insu.

En bref

  • Quand vous ouvrez Atollo, seules les choses que vous avez demandées démarrent : les bases de données et les serveurs avec « Démarrer avec Atollo ».
  • Chaque programme lancé par le kit est lié à l'application : si l'application se ferme, même de la pire façon, ils se ferment avec elle.
  • Une seule fenêtre par dossier du kit : la rouvrir met au premier plan celle qui existe.

Au démarrage

  1. DossiersCrée projects et data s'ils manquent et vérifie qu'il peut écrire.
  2. EmplacementS'aperçoit si le kit a été déplacé et le note.
  3. EnvironnementLit les Paramètres et construit l'environnement du kit.
  4. FenêtreUne seule par dossier ; puis ouvre la fenêtre.
  5. Arrière-planLance ce qui est marqué « Démarrer avec Atollo », aligne les agents et Git, vérifie les mises à jour.
  • Les serveurs de bases de données et les profils de serveurs web avec « Démarrer avec Atollo » démarrent juste après l'ouverture.
  • Les composants obligatoires manquants et ceux à réinstaller sont installés automatiquement ; pas au premier lancement : là, tout n'est téléchargé qu'avec « Installer » de la page « Bienvenue ».
  • Les instructions, skills et serveurs MCP des agents sont alignés ; si le kit a été déplacé, les chemins sont mis à jour.
  • Git suit le dossier du kit (safe.directory) et le compte GitHub : si « Qui signe les commits » est vide, le nom et l'adresse privée viennent du compte.
  • Après 10 secondes, les versions proposées par chaque source, pour les menus qui en téléchargent une (au plus une fois par jour) ; puis, avec « Mise à jour automatique » activée, la dernière version de chaque composant installé, pour le volet « Mises à jour » d'Outils (au plus une fois par jour aussi).
  • Après 20 secondes, si elle est activée, la vérification des mises à jour d'Atollo (désactiver « Mise à jour automatique » avant l'annule).

Pendant que vous travaillez

QuoiQuand ça démarreQuand ça s'arrête
Actions des projetsAvec « Démarrer » ou ▶Avec « Arrêter », ou à la fermeture de l'application
Serveurs web partagésAvec le premier projet qui les utilise, depuis la page Serveurs web ou avec « Démarrer avec Atollo »Avec le dernier projet, sauf s'ils ont été démarrés depuis la page Serveurs web ou avec « Garder actif même sans projets » ; avec « Arrêter » ; à la fermeture
Bases de donnéesAvec « Démarrer », « Démarrer avec Atollo » ou quand un projet les demandeAvec « Arrêter », ou à la fermeture (arrêt propre)
ÉditeurAvec le premier « Éditeur »À la fermeture de l'application
Consoles et agentsAvec « Terminal », « Ouvrir », les logos des agentsQuand vous les fermez, ou à la fermeture de l'application
Serveur des modèles locauxAvec « Démarrer », « Démarrer avec Atollo » ou en ouvrant Pi sur un modèle localAvec « Arrêter », « Tout arrêter », ou à la fermeture ; un modèle quitte la mémoire après dix minutes sans requêtes

Fermer une console n'arrête pas les bases de données : elles restent allumées jusqu'à ce que vous les arrêtiez ou fermiez l'application. Le panneau Activité (depuis la barre d'état) liste les actions des projets, chaque version de base de données démarrée, les pools actifs et le serveur des modèles locaux ; « Tout arrêter » les arrête après une confirmation.

À la fermeture

Si quelque chose est ouvert, Atollo demande « Fermer Atollo ? » avec la liste ; « Tout fermer » arrête les actions, les serveurs web et le serveur des modèles locaux et éteint proprement les bases de données, puis quitte. Avant de débrancher le lecteur, utilisez Retirer le lecteur en toute sécurité (7.1).

Sous le capot
  • Sur Windows, tous les programmes du kit vivent dans un Job Object avec l'option « fermer à la fermeture » : si l'application se termine de quelque façon que ce soit, Windows les ferme aussi. L'éditeur et les actions ont leur propre Job, à l'intérieur de celui de l'application.
  • Sur macOS et Linux, un petit processus de surveillance s'aperçoit si l'application meurt et ferme les groupes de processus du kit (SIGTERM, puis SIGKILL après 5 secondes).
  • L'instance unique utilise un identifiant tiré du dossier du kit (un mutex sur Windows, un verrou sur macOS et Linux) : deux kits différents ne se gênent pas.
  • Chaque port n'a qu'un seul propriétaire : un pool (par défaut de 8081 à 8999), une version de base de données, une action d'un projet (par défaut de 7100 à 7999), le serveur des modèles locaux (9931 et les suivants) ; de 7000 à 7099, ils sont à l'éditeur. Un port déjà pris est refusé avec le nom de celui qui le tient (par exemple « Le port 3306 appartient déjà à la base de données MySQL 8.4 : choisissez-en un autre. »), et le port automatique d'un nouveau pool les évite tous.
  • Chaque version d'une base de données garde son propre port, même quand vous changez la version du serveur ; deux démarrages de la même version ne lancent qu'un seul serveur, sur le même port.
  • Le navigateur et l'Explorateur de fichiers sont ouverts hors du Job : ils restent ouverts même après la fermeture d'Atollo.
  • À la fermeture, si une mise à jour est prête, l'exécutable est remplacé.