mirror of
https://github.com/JMP-MS/ASPIC.git
synced 2026-10-27 16:07:10 +00:00
57 lines
9.0 KiB
Markdown
57 lines
9.0 KiB
Markdown
# ASPIC — Journal de développement (index)
|
|
|
|
*CRM sur mesure — PHP + MySQL + JavaScript vanilla*
|
|
|
|
**Le détail complet du journal est désormais tenu dans le dépôt GitHub `JMP-MS/ASPIC`, dossier `/journal`** (26 fichiers `.md`, un par grande section, protégés en accès web direct par un `.htaccess`). Ce document ne garde plus qu'un sommaire et l'état actuel, pour une vue d'ensemble rapide sans avoir à cloner le dépôt. Pour toute question qui touche à l'historique détaillé d'une section, demander sa lecture — Claude ira la chercher sur GitHub avec le token transmis en session (jamais stocké).
|
|
|
|
## Consigne de travail (Claude) — à partir du 2 septembre 2026
|
|
|
|
Pour les trois documents de ce projet (ce journal — résumé/index —, les Réflexions stratégiques, la Documentation utilisateur), **ainsi que pour les fichiers de section individuels du journal détaillé** (`/journal` sur GitHub, 28 sections numérotées 00 à 27 au 2 septembre 2026) : les mises à jour de contenu ne sont faites qu'**en toute fin de session**, jamais au fil de l'eau pendant les essais — pour éviter d'enregistrer un état intermédiaire ou instable. À ce moment-là, en plus d'écrire la mise à jour dans le document du projet le cas échéant, Claude fournit systématiquement une **copie téléchargeable** (fichier `.md`) de chaque document ou section modifié(e), pour que Jean-Marc puisse la sauvegarder de son côté et la déposer dans le dépôt GitHub. Pour une section du journal détaillé, le fichier téléchargeable reprend le nom exact utilisé dans `/journal` sur GitHub, pour un dépôt direct sans renommage.
|
|
|
|
## Sommaire des sections (`/journal` sur GitHub)
|
|
|
|
- 00. Présentation
|
|
- 01. Contexte et décision d'architecture
|
|
- 02. Modèle de données
|
|
- 03. Architecture technique
|
|
- 04. Fichiers de l'application
|
|
- 05. Points de friction
|
|
- 06. Pistes pour la suite
|
|
- 07. Statut actuel
|
|
- 08. Écran d'identification
|
|
- 09. Écran liste des contacts
|
|
- 10. Écran détail du contact
|
|
- 11. Traitements de données de l'écran détail
|
|
- 12. Notion de session utilisateur
|
|
- 13. Prochaines étapes côté frontend
|
|
- 14. Pivot sur le modèle de prospection
|
|
- 15. Implémentation session utilisateur
|
|
- 16. Panneau de détail du contact — création/suppression
|
|
- 17. Panneau détail redimensionnable
|
|
- 18. Formulaire de prospect externe
|
|
- 19. Navigation entre contacts en panneau détail
|
|
- 20. Dépôt GitHub et mirroir Gitea
|
|
- 21. MIRADOR — base d'authentification centralisée
|
|
- 22. Badge société et avatar utilisateur
|
|
- 23. Push GitHub en SSH depuis le VPS
|
|
- 24. MIRADOR branché
|
|
- 25. MIRADOR validé à deux utilisateurs
|
|
- 26. ToDoList
|
|
- 27. Pilotage vocal (Lilou)
|
|
|
|
*(Numérotation et titres repris du découpage fait par Jean-Marc le 31 août 2026, légèrement reformulés par lui à cette occasion — se référer aux fichiers eux-mêmes pour le libellé exact. Section 26 confirmée présente dans le dépôt le 1er septembre 2026. Section 27 (Pilotage vocal) n'a en revanche pas encore son fichier dans `/journal` au moment de cette mise à jour — comportement pas encore stabilisé, voir Reste à faire ci-dessous ; fichier à créer une fois le test de bout en bout confirmé.)*
|
|
|
|
## Statut actuel (2 septembre 2026)
|
|
|
|
**Écrans "Identification" et "Liste des contacts"** (avec panneau détail intégré) : aboutis depuis le 25 août 2026, testés en production. **Prospection** (formulaire externe, vérification mail, envoi de doc) : livrée et testée en conditions réelles le 26 août 2026 (section 18). **Dépôt Git** en place depuis le 27-28 août (section 20), avec circuit de livraison FileZilla → SSH VPS → `git push` (section 23) — l'écriture directe par Claude reste bloquée côté proxy Anthropic, contournement adopté sans gêne. **MIRADOR** (authentification centralisée multi-bases, identifiant = email) branché et validé à deux utilisateurs le 30 août 2026, déployé sur `aspic.mvl-tls.fr` (développement) et `crm.aspic.bzh` (test), chacun avec son propre environnement Docker (sections 21, 24, 25).
|
|
|
|
**31 août 2026 : ToDoList.** Nouvel écran, devenu l'écran d'accueil post-connexion (la liste des contacts passe dans le menu hamburger). Table `ASP_ToDoList`, trois indicateurs d'urgence par pastille (rouge = à faire sans date ou en retard, orange = à faire dans les temps, vert = réalisé), tri par urgence calculé côté PHP. `TDL_ToDoDate` (date de création) reste éditable pour permettre l'antidatage d'une tâche oubliée. Nouveaux endpoints `todolist.php` et `utilisateurs.php`, nouvel écran `liste_todolist.html` (même gabarit que `liste_contacts.html`, hauteur de panneau égalisée entre les trois modes). Livré, testé (Playwright) et déployé — version **V1.004**, qui inclut aussi ce découpage du journal.
|
|
|
|
**1er septembre 2026 : migration du sous-domaine de bêta test.** L'environnement de test bascule de `aspic.bzh` vers `crm.aspic.bzh`. Objectif : libérer la racine du domaine pour y installer, dans quelques mois, un site de promotion de la solution — si le contexte business évolue favorablement dans ce sens (voir réflexions stratégiques, section 7). Aucun changement fonctionnel côté application ; toute mention antérieure d'`aspic.bzh` comme environnement de test (dans ce document comme dans le journal détaillé sur GitHub) désigne donc désormais `crm.aspic.bzh`.
|
|
|
|
**1er-2 septembre 2026 (nuit) : pilotage vocal — Lilou, phase 1.** Nouveau bouton micro dans le bandeau (positionné après l'avatar, pour une place fixe à l'écran), comportement centralisé dans un fichier partagé `micro.js` chargé sur chaque écran hôte — reconnaissance vocale réelle via l'API Web Speech du navigateur, écoute continue avec redémarrage automatique tant que l'utilisateur n'a pas explicitement refermé le micro, mot déclencheur "Lilou" (assistante vocale d'ASPIC, dans la même veine que "Viktor" côté contacts) pour ignorer la conversation de fond — tolérant aussi "Milou", confusion fréquente du moteur de reconnaissance sur ce prénom. Fonctionnalité livrée ce soir : le "mode notation", qui capture une dictée libre entre une phrase d'ouverture ("Lilou, ajoute une tâche" / "un truc à faire" / "note ça dans ma todolist") et une phrase de clôture ("c'est tout Lilou") ou d'annulation ("Lilou annule") — les deux traitées à l'identique, sans interprétation à ce stade, sur demande explicite de Jean-Marc — puis envoie le texte capté tel quel à un nouvel endpoint `lilou_notes.php`, qui l'ajoute, horodaté et attribué à l'utilisateur, à un fichier texte global (`notes_lilou/dictees.txt`, pensé pour être protégé par un `.htaccess` du même principe que `/journal`). Objectif : accumuler un vrai corpus d'essais réels avant de définir, dans un prochain chantier, des règles d'interprétation (étape 2, envisagée via n8n, avec des règles modifiables par l'utilisateur). Version incrémentée une fois pour cette session, **V1.005**.
|
|
|
|
Longue session de débogage en conditions réelles cette nuit-là : plusieurs corrections apportées à `micro.js` (la clôture peut désormais porter à la fois la dernière ligne de contenu et la fin du lot dans une seule phrase, sans "ensuite" artificiel juste avant ; tolérance à la confusion "Lilou"/"Milou" ; fenêtre de quelques secondes pour recoller une phrase que le moteur de reconnaissance a coupée juste après la virgule suivant "Lilou"), et côté serveur (le fichier `lilou_notes.php` n'avait pas été déployé au premier essai ; droits d'écriture insuffisants sur `notes_lilou/` une fois déployé — dossier propriété de `1001:users`, `www-data` hors de ce groupe). Contournement provisoire en fin de session : `dictees.txt` écrit directement à la racine de l'application plutôt que dans `notes_lilou/`, donc **temporairement hors de toute protection `.htaccess`** — à corriger dès que possible. **Test de bout en bout non confirmé réussi au moment d'arrêter la session** ; à valider dès demain avec la dernière version livrée de `micro.js`.
|
|
|
|
**Reste à faire, noté au passage :** vérifier concrètement que le `.htaccess` du dossier `/journal` bloque bien l'accès direct (`curl -I` sur un fichier du dossier doit répondre `403`, pas `200` — risque connu que `AllowOverride None` côté Apache ignore silencieusement le fichier, voir échange du 31 août). Pour le pilotage vocal (section 27) : confirmer demain qu'une dictée complète produit bien `dictees.txt` ; une fois validé, remettre ce fichier sous la protection d'un `.htaccess` dans `notes_lilou/` (en corrigant durablement les droits d'écriture de `www-data` sur ce dossier — `chown`/`chmod`, ou ajout de `www-data` au groupe `users` — plutôt que de rouvrir le dossier en écriture pour tout le monde) ; créer alors le fichier de section 27 dans `/journal` sur GitHub. `notes_lilou/` (avec son contenu, y compris `dictees.txt` au fil de son remplissage) est destiné à être versionné et poussé sur GitHub comme le reste de l'application — décision explicite de Jean-Marc, pour qu'une future session Claude puisse lire ce corpus directement en clonant le dépôt.
|