Jarvis est une application tablette complète et entièrement fonctionnelle de gestion de cuisine, conçue spécifiquement pour les opérations de restauration (déployée chez Café Noisette et Sembilan). Elle privilégie la fiabilité en production et est déployée nativement sur des tablettes Android.
Architecture & Stack Technologique
Matériel / Environnement
- Tablette : Xiaomi Redmi Pad 2 Pro sous Android 13.
-
Les services s’exécutent dans Termux (émulateur de terminal Android) utilisant un système de fichiers ext4 pour assurer :
- la stabilité,
- les permissions Unix correctes.
Frontend
-
Développé avec :
- Vite,
- React,
- React Router.
- Utilisation de HashRouter pour la compatibilité tablette.
- Fonctionne localement sur le port 3000.
-
Interface optimisée pour écrans tablette 1280x800 :
- grandes zones tactiles (≥56 px),
- aucun défilement horizontal.
Backend
-
Propulsé par :
- FastAPI (Python),
- SQLite comme base de données.
- Exécuté sur le port 8000 via Uvicorn.
Flux de Déploiement
Le code est :
- compilé sur PC,
- envoyé via ADB vers un répertoire de staging FAT32 de la tablette (/sdcard/),
- puis copié dans le répertoire Termux ext4 (~/jarvis/) via des scripts bash afin d’être exécuté en toute sécurité.
Modules Principaux & Fonctionnalités
1. Module HACCP (Hazard Analysis Critical Control Point)
Le module prioritaire garantissant la sécurité alimentaire et la conformité réglementaire.
Suivi des températures
- Journalisation des températures de 3 réfrigérateurs.
- Alertes visuelles en cas de dépassement des seuils.
Contrôles de réception
- Validation des livraisons entrantes.
- Workflow de refus d’articles.
- Création d’incidents de Non-Conformité (NC).
Timers & Journaux
- Suivi des temps de refroidissement.
- Journalisation des pourcentages TPM (Total Polar Materials) des huiles de friture.
Checklists
Checklists interactives :
- ouverture,
- fermeture,
- réception quotidienne.
Traçabilité
- Traçabilité complète amont / interne.
Reporting
- Génération et export PDF des rapports HACCP quotidiens.
Impression d’étiquettes
Intégration avancée avec les imprimantes réseau TCP Brother QL-820NWB pour imprimer instantanément :
- étiquettes DLC,
- étiquettes HACCP,
-
étiquettes de réception,
directement depuis la tablette.
2. Gestion de Stock & Inventaire
Suivi d’inventaire
- Liste complète des stocks catégorisés.
- Niveaux de stock en temps réel.
Ajustements de stock
- Ajustements manuels positifs / négatifs.
Gestion FEFO (First Expired, First Out)
- Suivi des DLC via IDs de lots spécifiques.
- Alertes sur les produits proches d’expiration.
Alertes
- Alertes de stock faible basées sur des seuils.
Commandes fournisseurs
- Générateur automatisé de commandes Metro.
- Utilisation d’un pipeline OCR pour parser les données.
3. Planning & Pointeuse
Pointeuse
- Fonction sécurisée Clock-in / Clock-out.
- Authentification par PIN personnel à 4 chiffres.
Gestion des pauses
- Suivi du début et de la fin des pauses employés.
Planning
- Vue hebdomadaire des plannings.
- Visibilité en temps réel des membres d’équipe présents.
4. Intelligence IA & Pipelines Automatisés (V2)
Intégration Zelty POS
Pipeline Webhook permettant :
- l’ingestion des données Zelty,
- le mapping des tickets KDS,
- le suivi des ventes (SALE_DEDUCTION),
- la déduction automatique des ingrédients selon les recettes.
Prévision de la demande
- Système IA prédisant les besoins en ingrédients par recette jusqu’à 3 jours à l’avance.
Tableau de bord analytique
Suivi en temps réel des KPI :
- Food Cost,
- Waste,
- Variance.
Avec affichage d’indications détaillées directement sur les lignes d’inventaire.
Partie 2 : Documentation Essentielle de Développement
Pendant le développement, l’architecte humain (AC) et les agents IA (CC1 pour le Frontend, CC2 pour le Backend) communiquaient et maintenaient des protocoles stricts via plusieurs fichiers Markdown fondamentaux.
Tous ces fichiers étaient situés à la racine du workspace PC et servaient de source de vérité absolue afin d’éviter les conflits de synchronisation.
AGENTS.md (Le Protocole Maître)
Ce fichier définissait toute la dynamique de travail.
Rôles
- Architecte (AC),
- CC1 (Antigravity / Frontend),
- CC2 (Claude / Backend).
Chaque agent avait des répertoires strictement autorisés.
Règles
Frontend
- standards tactiles,
- routing HashRouter.
Backend
- préfixes API,
- limites SQLite worker,
- chemins de déploiement.
Gestion des quotas
Système dynamique de fallback :
- les tâches étaient redistribuées entre agents selon les limites de quota API.
BUILD_SYSTEM.md (Architecture & Règles de Build)
Documentait :
-
la séparation physique entre :
- /sdcard/ Android (sans permissions Unix),
- et l’environnement runtime Termux ~/jarvis/.
Compilation Frontend
- Build Vite via Node.js sous Windows.
Déploiement ADB
- Commandes exactes ADB push.
- Séquences d’exécution des scripts Termux.
Standard critique apiFetch
Gestion uniforme :
- réponses JSON,
-
réponses Blob,
dans le frontend.
DEPLOY_PROCESS.md (Runbook de Déploiement)
Guide étape par étape du passage en production.
Workflow documenté
- PC → staging,
- staging → runtime.
Script maître cc2_boot_vite.sh
Fonctions internes :
- arrêt d’Uvicorn,
- copie des fichiers,
- gestion des environnements virtuels Python.
Endpoints de déploiement distant
- /api/v6/admin/deploy_backend
- spa_restart
Permettaient de mettre à jour l’application sans shell ADB.
TABLET_DEBUG_TIPS.md (La Bible du Dépannage)
Collection essentielle de contournements pour Android et Termux.
Particularités ADB
Corrections pour :
- ADB supprimant les slashs initiaux lors des commandes de saisie texte.
Gestion des processus
Méthodes pour :
- identifier les workers Uvicorn orphelins,
- libérer le port 8000,
- scanner les inodes de sockets.
Race Conditions SQLite
Explication :
-
pourquoi FastAPI devait tourner avec --workers 1
afin d’éviter les blocages SQLite.
Cache navigateur
Correctifs pour :
- Firefox mettant en cache d’anciens bundles Vite,
- provoquant des écrans blancs.
DEBUG_V1.md (Checklist QA Post-Déploiement)
Script de vérification rapide après déploiement.
Vérification des services
- commandes /health.
Seed de données de démonstration
Commandes cURL permettant d’injecter :
- Staff,
- Inventory,
- KDS.
Checklist QA
Contrôle page par page :
- Planning,
- HACCP,
- Stock.
Matrice des problèmes connus
Association :
- symptômes fréquents,
- correctifs immédiats.
Exemples :
- erreur 422 sur authentification PIN,
- téléchargements PDF vides.
HANDOFF_YYYY-MM-DD.md (Logs de Communication Synchrones)
Exemple :
- HANDOFF_2026-05-07h.md
Comme les agents travaillaient de manière asynchrone, ces fichiers servaient de fil conducteur unique.
Contenu
- résumé des modifications de code,
- bugs critiques identifiés et corrigés,
-
commandes terminal exactes nécessaires au prochain agent pour :
- vérifier,
- ou déployer les changements.
Positionnement
Le positionnement de Jarvis est particulièrement intéressant parce qu’il ne cherche pas à devenir un simple “POS restaurant” supplémentaire, mais plutôt un OS opérationnel de cuisine terrain, ultra pragmatique, offline-first et optimisé pour la production réelle.
OS opérationnel de cuisine terrain positionning
Cela le différencie fortement des solutions classiques orientées :
- caisse,
- analytics corporate,
- franchise management,
- ou ERP centralisé.