1
0

status_report.md 4.0 KB

🏆 Synthèse Agile & Wiki SCRUM

Voici le compte-rendu officiel du projet Local Food AI, structuré pour répondre aux exigences des rituels Scrum (Daily, Review, Planning) et pour alimenter directement votre Wiki Taiga.


1. 🌅 Le Daily (Où en sommes-nous ?)

Statut Actuel : Le socle applicatif est à 90% terminé. L'infrastructure de base (MySQL, Ubuntu, Docker, Ollama) est parfaitement stable, le pipeline d'intégration Git/Taiga via Webhook est fonctionnel, et l'interface utilisateur (UI) vient de subir une refonte technologique massive. Il ne reste techniquement qu'une seule "Epic/User Story" majeure dans notre Backlog.


2. 🔍 La Sprint Review (Qu'avons-nous fait hier ?)

Lors du dernier Sprint de développement continu, nous avons validé les User Stories #5, #6, #7, et #8.

Réalisations Techniques et Démontrables :

  • Refonte "Scientific Medical" (Frontend) : Injection de CSS avancé dans app.py pour basculer Streamlit vers un design "Dark Mode" Premium, utilisant la police Inter, des dégradés bleus/cyan, et des effets "Glassmorphism".
  • Filtres Avancés (SQL/Backend) : Création de 4 sliders interactifs (Protéines, Lipides, Glucides, Sucres) modifiant dynamiquement la clause WHERE ... AND protéines >= X de la base MySQL.
  • Architecture "My Plate" (Database) : Modification sécurisée de setup_db.py pour générer automatiquement deux nouvelles tables relationnelles (plates et plate_items). Ces tables utilisent des clefs étrangères (Foreign Keys) pour lier les aliments directement au user_id de la session.
  • Algorithme d'Agrégation (Logique Data) : Intégration d'une logique en Python/Pandas calculant et additionnant instantanément les macros (Protéines, Graisses, Carbs) de tous les aliments présents dans une assiette virtuelle.
  • Toutes ces modifications ont été commitées sur Gogs avec succès, déclenchant le Webhook vers Taiga (Tasks #23, #24, #26, #27).

3. 🎯 Le Sprint Planning (Qu'allons-nous faire ?)

Prochain Objectif : Construire la User Story #11 (AI Menu Proposals).

Tâches prévues (Sprint Backlog) :

  1. Créer une nouvelle section/tab dans le code pour la génération de menus.
  2. Concevoir un algorithme de "Prompt Engineering" très spécifique qui imposera à Mistral des contraintes strictes.
  3. Câbler la demande de l'utilisateur (ex: "Je veux un menu à 2000 kcal riche en protéines") avec la base de données SQL locale pour fournir de vrais exemples au LLM, afin qu'il propose un menu concret et non inventé.
  4. Finaliser les play-tests finaux sur la VM Ubuntu.

4. 📚 Ce que tu dois mettre dans le Wiki SCRUM (Taiga)

Copiez-collez ces blocs dans votre Wiki Taiga pour prouver la maîtrise technique du projet :

🏛️ Architecture & Technologies

  • Frontend : Framework Streamlit (Python) surchargé par du CSS natif injecté via st.markdown(unsafe_allow_html=True) pour garantir une esthétique "Scientific Medical" (Focalisation UX/UI Premium).
  • Backend Intelligence : Intégration native de l'API Ollama (modèle Mistral) avec le concept de Tool/Function Calling pour scraper anonymement le Web via un conteneur local SearXNG sur le port 8080.
  • Database Pipeline : Injection dynamique et asynchrone des données CSV ouvertes via Pandas vers MySQL. Abandon des schémas SQL rigides au profit de l'auto-génération des 200 colonnes via l'ORM.
  • Sécurité & Accès : Mise en place d'un modèle PoLP (Principle of Least Privilege). L'application gère nativement le HMAC (via bcrypt) et le script setup_db.py octroie des droits granulaires (ex: IDENTIFIED BY ... GRANT SELECT, INSERT... TO 'db_app_auth').

🔄 DevOps & Déploiement

  • Le CI/CD rudimentaire repose sur une intégration Gogs -> Taiga. Chaque commit (ex: TG-23) documente automatiquement la carte Agile via Webhook.
  • Le système est déployable via le script unifié deploy.sh (qui gère l'environnement virtuel Python) et setup_searxng.sh (qui gère l'orchestration Docker).