Ce fichier README.md décrit l'architecture technique, la topologie logicielle et le fonctionnement de l'application.
L'application est construite selon une architecture full-stack modulaire :
- Client (Front-end) : React 18, TypeScript, Tailwind CSS, Vite.
- Serveur (Back-end) : Express (Node.js) sur le port 3000.
- Moteur d'Inférence : Support du SDK officiel @google/genai(serveur) combiné à un mode déterministe local en fallback (0 $ jeton).
/
├── server.ts # Serveur principal Express & relais API
├── src/
│ ├── App.tsx # Composant racine et gestionnaire de bureau
│ ├── components/ # Composants d'interface (Bureau, Dock, Fenêtres)
│ │ ├── dock/ # Barre des tâches, contrôles et panneaux
│ │ ├── modals/ # Fenêtres modales et réglages
│ │ └── ui/ # Éléments d'UI réutilisables
│ ├── services/ # Logiciel métier & intégrations
│ │ ├── agents/ # Services de routage API
│ │ ├── export/ # Générateur de bundles autonomes
│ │ ├── agentMeshHub.ts # Hub de communication inter-modules
│ │ └── aiStudioService.ts # Service d'intégration IA
│ ├── types.ts # Définitions des types TypeScript
│ └── main.tsx # Point d'entrée React
├── prompts/ # Fichiers de règles et instructions système
└── metadata.json # Métadonnées de l'application
-
Interface Utilisateur (Bureau Virtuel) : - L'utilisateur interagit avec des fenêtres de travail (Terminal, Éditeur, Paramètres) intégrées dans un bureau dynamique.
-
Relais Serveur Sécurisé ( /server.ts) :- Les requêtes d'API vers les modèles de langage passent exclusivement par le serveur local /api/chatou/api/generate.
- Les clés d'API sont conservées côté serveur via process.env.GEMINI_API_KEYet ne sont jamais exposées directement au navigateur client.
- Les requêtes d'API vers les modèles de langage passent exclusivement par le serveur local
-
Boucle d'Auto-Correction ( Self-Healing Pipeline) :- Lorsque des scripts ou des vérifications de code sont lancés, le serveur capture les logs d'erreur.
- Si une erreur survient, le système tente un ajustement de syntaxe en boucle fermée (limité à 3 essais pour des raisons de sécurité).
-
Mode Fallback Local : - Si aucune clé d'API n'est renseignée dans l'environnement, le système bascule automatiquement sur un moteur d'exécution local déterministe sans interrompre l'interface.
- Gestion des Secrets : Déclarés dans .env.example, chargés en variables d'environnement.
- Isolation des Ports : Le serveur écoute sur 0.0.0.0:3000conformément à la configuration réseau.
- Sécurité Côté Client : Aucune clé sensible n'est enregistrée en clair dans le code source.
Documentation générée pour la maintenance et la compréhension de l'architecture du projet.