mirror of
https://github.com/JMP-MS/ASPIC.git
synced 2026-10-27 17:17:08 +00:00
V1.17.18 Modifications consignes correction bugs
This commit is contained in:
@@ -59,7 +59,7 @@ Pour les trois documents de ce projet (ce journal — résumé/index —, les R
|
||||
- 29. Interprétation vocale des contacts par LLM
|
||||
- 30. Chantier des consignes — moteur générique
|
||||
|
||||
*(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 27 (Pilotage vocal) validée de bout en bout et son fichier définitif déposé dans `/journal` le 2 septembre 2026. Section 28 (Écran de fond) ouverte le 2 septembre 2026, toujours **en cours** — passée d'une maquette graphique exploratoire à un premier essai fonctionnel réel, puis (soirée du 2 au 3 septembre) à une pastille de comptage sur le classeur Contacts et à un premier affichage réel des post-its personnels sur le tableau de liège, puis (8 septembre 2026, matin) à un bureau à trois fonds interchangeables (liège actuel, futur écran assistants, futur tableau de bord) navigables par deux flèches, avant-plan désormais séparé du code des fonds — fichier de section mis à jour ce jour-là, à déposer par Jean-Marc, voir Statut actuel. Section 29 (Interprétation vocale des contacts par LLM) ouverte et son fichier définitif déposé le 4 septembre 2026 après validation de bout en bout sur un premier corpus réel ; fichiers de section à déposer par Jean-Marc, voir Statut actuel. Section 30 (Chantier des consignes — moteur générique) ouverte le 6 septembre 2026, fichier définitif rédigé le soir même après validation de bout en bout du mécanisme sur des cas réels ; **substantiellement complétée le 7 septembre 2026** (hiérarchisation cohérence/Tests/IA, traçabilité de l'agent, `REA_NomAffiche`, premier appel IA réel dans une consigne avec avertissement bloquant) — fichier de section mis à jour à déposer par Jean-Marc, voir Statut actuel.)*
|
||||
*(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 27 (Pilotage vocal) validée de bout en bout et son fichier définitif déposé dans `/journal` le 2 septembre 2026. Section 28 (Écran de fond) ouverte le 2 septembre 2026, toujours **en cours** — passée d'une maquette graphique exploratoire à un premier essai fonctionnel réel, puis (soirée du 2 au 3 septembre) à une pastille de comptage sur le classeur Contacts et à un premier affichage réel des post-its personnels sur le tableau de liège, puis (8 septembre 2026, matin) à un bureau à trois fonds interchangeables (liège actuel, futur écran assistants, futur tableau de bord) navigables par deux flèches, avant-plan désormais séparé du code des fonds — fichier de section mis à jour ce jour-là, à déposer par Jean-Marc, voir Statut actuel. Section 29 (Interprétation vocale des contacts par LLM) ouverte et son fichier définitif déposé le 4 septembre 2026 après validation de bout en bout sur un premier corpus réel ; fichiers de section à déposer par Jean-Marc, voir Statut actuel. Section 30 (Chantier des consignes — moteur générique) ouverte le 6 septembre 2026, fichier définitif rédigé le soir même après validation de bout en bout du mécanisme sur des cas réels ; **substantiellement complétée le 7 septembre 2026** (hiérarchisation cohérence/Tests/IA, traçabilité de l'agent, `REA_NomAffiche`, premier appel IA réel dans une consigne avec avertissement bloquant) ; **complétée à nouveau le 8 septembre 2026** (unicité mail/portable, retrait des points sur les numéros, échecs de `consigne_completer_code_postal()` rendus non-silencieux) — fichier de section mis à jour à déposer par Jean-Marc, voir Statut actuel.)*
|
||||
|
||||
## Statut actuel (2-8 septembre 2026)
|
||||
|
||||
@@ -107,12 +107,26 @@ Version incrémentée une seule fois pour l'ensemble de cette session (pastille
|
||||
|
||||
**8 septembre 2026 (matin) : écran de fond — trois fonds interchangeables derrière un avant-plan désormais séparé du décor (V1.16.18).** Détail complet en section 28 du journal. Résumé : Jean-Marc a constaté que l'écran de fond, limité à un seul décor (le tableau de liège), ne suffira pas à tout gérer, et a posé le principe de trois fonds navigables par deux flèches, derrière un même avant-plan (bureau, classeurs, micro, carnet, téléphone) qui ne change jamais — l'écran 1 restant l'actuel tableau de liège, l'écran 2 un futur écran "assistants" (fond en tasseaux de bois gris, présentation encore à concevoir), l'écran 3 un futur tableau de bord (fond tableau blanc). Décisions actées avant codage : code de l'avant-plan et code des fonds séparés ; les trois fonds codés en dur plutôt qu'en liste extensible ("il faut s'autoriser à coder ça en dur") ; animation de glissement au changement de fond, dont le sens dépend de la flèche pressée (l'écran n+1 entre par la droite en chassant l'écran actuel vers la gauche, et inversement) ; l'avant-plan reste visible sur les trois écrans, y compris le futur tableau de bord ; aucune mémorisation du fond choisi d'une session à l'autre (toujours l'écran 1 à l'ouverture) ; flèches posées sur le bureau à droite. Point corrigé en cours de route : les post-its, d'abord traités par erreur comme un élément fixe de l'avant-plan, doivent en réalité rester solidaires du panneau de liège et disparaître/réapparaître avec lui — résolu par une technique de réattachement du même nœud DOM de post-its à la bonne "diapositive" de fond, sans dupliquer sa logique de position. Le nouvel avant-plan fourni par Jean-Marc étant un dessin recomposé (pas la même photo que l'ancienne), l'ensemble des repères (classeurs, micro, pastille, zone de post-its) a dû être entièrement remesuré par analyse de pixels plutôt qu'ajusté par simple décalage — remesure reconduite une seconde fois après qu'une version corrigée de l'avant-plan (traces blanches et halo du micro retouchés) s'est révélée légèrement décalée par rapport à la première. Nombreux réglages fins en fin de session à partir des retours directs de Jean-Marc sur son propre écran (taille et position des flèches, position de l'icône du micro, position de la pastille de comptage des contacts). Version incrémentée une seule fois pour cette session : **V1.16.18** (`<code>` avancé dès le début à la demande de Jean-Marc, `<conception>` inchangé — évolution jugée comme une continuation du chantier de l'écran de fond, pas une nouvelle section des Réflexions stratégiques).
|
||||
|
||||
**8 septembre 2026 (après-midi) : petits chantiers de finition — position du micro, unicité mail/portable, retrait des points, robustesse du code postal auto, toast bloquant sans bouton (V1.17.18).** Aucune réflexion stratégique nouvelle (`<conception>` inchangé, pas de nouvelle section des Réflexions stratégiques) ; `<code>` avancé dès le début de session à la demande de Jean-Marc. Résumé, dans l'ordre traité :
|
||||
|
||||
- *Position de l'icône micro sur l'écran de fond.* Le dernier réglage du 8 septembre au matin (`ICONE_CENTRE_X = 522`) allait trop loin vers la droite — repéré par Jean-Marc en testant. Ramené à `515` dans `ecran_fond.html` après essai réel. L'icône en état "écoute" reste masquée par un panneau superposé sur l'écran de test actuel de Jean-Marc — signalé, volontairement non traité (pas prioritaire).
|
||||
- *Unicité mail/portable (chantier des consignes, section 30).* Deux nouveaux Tests dans `ASP_Fonctions`/`consignes_fonctions.php` : `MAIL_UNIQUE` et `PORTABLE_UNIQUE`, deux fonctions dédiées (`consigne_mail_unique()`, `consigne_portable_unique()`) plutôt qu'une seule fonction générique paramétrable par champ — décision explicite de Jean-Marc pour qu'un futur opérateur du catalogue ne puisse pas appliquer par erreur une contrainte d'unicité à un champ où elle n'a pas de sens (ex. Prénom, où deux homonymes sont normaux). Les deux s'appuient en interne sur un même utilitaire privé (`valeurDejaUtilisee()`, hors catalogue) pour ne pas dupliquer la requête SQL. A nécessité une première extension du contrat des Tests à un champ dans `moteur_consignes.php` : ces fonctions peuvent désormais recevoir deux paramètres de plus, `$pdo` et `$idExclusion` (identifiant de la fiche en cours de modification, pour qu'une consigne d'unicité ne se bloque jamais elle-même en retrouvant sa propre valeur déjà enregistrée — null en Création) — sans effet sur les Tests existants, qui ignorent simplement ces arguments en trop. `contacts.php` (PUT) transmet désormais cet identifiant au moteur.
|
||||
- *Retrait des points dans les numéros de téléphone.* Nouveau Traitement générique `RETIRER_POINTS` (`consigne_retirer_points()`), sur le même principe que `SANS_CHIFFRE` (7 septembre) : une seule fonction réutilisable, appliquée par Jean-Marc à `CNT_Portable` et `CNT_Tel` via deux lignes dans `ASP_Consignes`, sans aucune fonction par champ.
|
||||
- *Bug corrigé : échecs silencieux de `consigne_completer_code_postal()`.* Jean-Marc a repéré qu'une ville inconnue de l'IA n'aboutissait à aucune trace dans les réalisations, contrairement au cas "ville ambiguë" (type Paris) déjà traité le 7 septembre. Diagnostic : deux sorties anticipées de la fonction (clé API absente ; échec réseau/HTTP) renvoyaient les valeurs inchangées sans jamais poser ni `_realisation` ni `_avertissement`. Corrigé : l'échec réseau/HTTP pose désormais les deux (un appel a réellement été tenté, donc journalisé comme le cas "ville ambiguë") ; la clé API absente pose seulement l'avertissement écran (aucun appel réellement tenté, rien à journaliser comme coût engagé).
|
||||
- *Toast bloquant du code postal : bouton "Valider" retiré, Échap seul.* Le bouton du toast bloquant (avertissement IA, 7 septembre) fonctionnait, mais Échap sur ce même toast fermait EN PLUS le panneau détail en dessous — le gestionnaire clavier global ne savait pas qu'un toast bloquant était ouvert. Corrigé dans `liste_contacts.html` : bouton retiré, le toast mémorise son rappel de fermeture (`toastValidationEnCours`) et le gestionnaire Échap global le vérifie désormais EN TOUT PREMIER, avant le menu contextuel du panneau détail — Échap referme alors le toast seul.
|
||||
- *Ménage à prévoir sur `ASP_Consignes`.* Jean-Marc a repéré des champs qui lui semblent redondants dans la structure de cette table (`CNS_TexteDefinition`/`CNS_TexteAffiche` en particulier) — à examiner ensemble, rien fait ce jour.
|
||||
- *Confusion résolue en cours de session :* un doute initial de Jean-Marc sur la persistance du correctif "Échap" (le bouton "Valider" restait visible après un premier essai) provenait du cache navigateur, pas d'un problème de déploiement — confirmé après rechargement forcé.
|
||||
|
||||
Version incrémentée une seule fois pour l'ensemble de cette session (uniquement `<code>`) : **V1.17.18**.
|
||||
|
||||
**Prochain chantier annoncé par Jean-Marc pour la session suivante : écran 2 ("assistants") — gérer les attributions de Matilda.** À rapprocher des points déjà notés plus bas dans "Reste à faire" (discriminant humain/agent sur `ASP_ToDoList`, répartition dynamique des 70% par charge de tâches, `AGN_Couleur`) — rien de plus précisé à ce stade sur le périmètre exact.
|
||||
|
||||
**Reste à faire, noté au passage :**
|
||||
- Décider s'il faut renforcer le prompt d'extraction pour neutraliser les mots parasites/formules de politesse dictés autour d'une adresse mail (bug identifié le 4 septembre sur le corpus réel, correction non encore actée par Jean-Marc).
|
||||
- Clarifier l'origine de la coupure de fin de dictée observée sur un essai du 4 septembre (minuteur de silence à 3,5s vs interruption réelle) avant de décider si `DUREE_SILENCE_ARRET_MS` (`contact_ia_panel.js`) doit être allongée.
|
||||
- Concevoir la séparation entre actions utilisables par l'utilisateur humain (menu/clavier) et actions utilisables par le LLM de saisie vocale, avec "création du contact" formalisée comme action à part entière toujours classée en premier et connue des deux voies d'accès — réflexion actée par Jean-Marc le 4 septembre, non conçue, non codée (voir section 29).
|
||||
- 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` — point en suspens depuis le 31 août).
|
||||
- Confirmer le déploiement du correctif `.htaccess` de cache livré le 3 septembre (fichier `htaccess-racine-aspic.txt`, à renommer et déposer à la racine de l'application).
|
||||
- Confirmer le déploiement du correctif `.htaccess` de cache livré le 3 septembre (fichier `htaccess-racine-aspic.txt`, à renommer et déposer à la racine de l'application) — distinct du cache navigateur simple rencontré le 8 septembre (résolu par un rechargement forcé), toujours en suspens.
|
||||
- Laisser Jean-Marc constituer un vrai volume de dictées sur "Gestion des Contacts" (nouvel outil, voir ci-dessus) avant toute analyse ; puis concevoir le catalogue d'actions et le mécanisme LLM à sortie structurée correspondant (voir réflexions stratégiques, section 12, et journal section 27).
|
||||
- Récupérer les résultats de la campagne de tests d'adresses mail que Jean-Marc prévoit de mener le 4 septembre (mode adresse de `micro_test.js`) pour mesurer un vrai taux de réussite, sur un échantillon plus significatif que les 4 essais du 3 septembre.
|
||||
- Retirer le bloc de diagnostic temporaire (`DIAGNOSTIC_ACTIF`/`logDiag`) de `micro_test.js` une fois son comportement confirmé stable sur cette campagne.
|
||||
@@ -123,11 +137,11 @@ Version incrémentée une seule fois pour l'ensemble de cette session (pastille
|
||||
- Étendre `MARQUEUR_FIN_LIGNE` dans `micro.js` pour accepter "puis" en plus de "ensuite" (retour d'usage de Jean-Marc, 3 septembre) — sans urgence.
|
||||
- Continuer à observer les agents actifs (Viktor, Matilda, Léon, Nikita) en usage réel ; ajuster `AGN_Variantes` en base si de nouvelles confusions apparaissent.
|
||||
- Documentation utilisateur : le panneau de détail du contact, la ToDoList et le pilotage vocal restent à documenter (mise à jour du 3 septembre limitée à l'écran d'accueil et à la liste des contacts) — l'outil de banque de dictées et le chantier des consignes n'ont volontairement pas vocation à y figurer pour l'instant, ce sont des chantiers internes, pas des modules utilisateur finalisés.
|
||||
- Écran de fond : contenu de présentation de l'écran 2 ("assistants") et contenu réel de l'écran 3 (tableaux de bord) restent entièrement à concevoir, seuls les fonds existent à ce stade (8 septembre) ; décider si les autres objets de l'avant-plan (carnet, téléphone) doivent devenir cliquables ; trancher un jour le sort de la piste "maquette liège + post-its par agent" (Claude Design, mise de côté pour cet essai, pas explicitement abandonnée).
|
||||
- **Écran de fond, écran 2 ("assistants") : prochain chantier annoncé par Jean-Marc — gérer les attributions de Matilda** (voir plus haut). Contenu réel de l'écran 3 (tableau de bord) toujours entièrement à concevoir ; décider si les autres objets de l'avant-plan (carnet, téléphone) doivent devenir cliquables ; trancher un jour le sort de la piste "maquette liège + post-its par agent" (Claude Design, mise de côté pour cet essai, pas explicitement abandonnée).
|
||||
- Section 28 du journal détaillé : combler, si l'occasion se présente, un trou de documentation relevé le 8 septembre — le passage d'un classeur unique ("Contacts") à neuf classeurs (Consignes, Contacts, Catalogue, Documents, Prospection, Réseaux, En-cours, Factures, Journalier) a eu lieu dans une session intermédiaire (aux alentours du 7 septembre) jamais consignée dans le fichier de section correspondant.
|
||||
- Concevoir les deux signes graphiques distincts pour les post-its "à corriger"/"à valider" (réflexions stratégiques, section 12) — le premier acté (point d'interrogation), le second encore à choisir.
|
||||
- Tableau de liège : coder la répartition dynamique des 70% entre assistants par charge de tâches (formule actée, voir Statut actuel) — bloqué tant que la ToDoList des assistants n'existe pas réellement.
|
||||
- Étendre `ASP_ToDoList`/`todolist.php` pour qu'un assistant puisse être attributaire d'une tâche (discriminant humain/agent à définir) — préalable à la répartition dynamique et aux couleurs de post-it par assistant (`AGN_Couleur`, à ajouter).
|
||||
- Tableau de liège : coder la répartition dynamique des 70% entre assistants par charge de tâches (formule actée, voir Statut actuel) — bloqué tant que la ToDoList des assistants n'existe pas réellement. **À rapprocher du prochain chantier (écran 2, attributions de Matilda).**
|
||||
- Étendre `ASP_ToDoList`/`todolist.php` pour qu'un assistant puisse être attributaire d'une tâche (discriminant humain/agent à définir) — préalable à la répartition dynamique et aux couleurs de post-it par assistant (`AGN_Couleur`, à ajouter). **À rapprocher du prochain chantier (écran 2, attributions de Matilda).**
|
||||
- Écran "journalier" (trace des réalisations, humain + assistants) — donnée déjà quasi disponible (`TDL_RealDate`/`TDL_RealUser`/`TDL_RealText`), écran de consultation à construire.
|
||||
- Revoir les règles de calcul des pastilles rouge/orange/vert (`calculerGroupe()`) pour éviter un tableau trop chargé en rouge/orange maintenant que le vert quitte le tableau immédiatement.
|
||||
- Décider du comportement du clic sur un post-it (aujourd'hui inerte) : ouvrir `liste_todolist.html` sur la tâche précise, ou afficher un détail directement sur l'écran de fond.
|
||||
@@ -139,4 +153,4 @@ Version incrémentée une seule fois pour l'ensemble de cette session (pastille
|
||||
- Gestion des consignes transverses à toute la fiche (`CNS_Champ` NULL, ex. contrôle de doublon) — non traitée par le moteur de consignes actuel.
|
||||
- Distinction Saisie/Validation réellement exploitée un jour dans le moteur de consignes (temps réel), si le besoin redevient assez fort pour justifier la complexité écartée le 6 septembre.
|
||||
- Ouvrir le chantier du dialogue simulé avec Claude intégré à ASPIC (bulles de dialogue façon SMS, mission dédiée, clé API Anthropic) — faisabilité confirmée le 8 septembre 2026 (réflexions stratégiques, section 18), rien conçu ni codé à ce stade.
|
||||
</content>
|
||||
- **Ménage dans la structure de `ASP_Consignes`** (8 septembre 2026) : Jean-Marc a repéré des champs qui lui semblent redondants (`CNS_TexteDefinition`/`CNS_TexteAffiche` en particulier) — à examiner ensemble avant de toucher au schéma, pour ne pas supprimer un champ qui sert ailleurs sans qu'on l'ait vérifié.
|
||||
|
||||
Reference in New Issue
Block a user