V1.007 Premiers paramétrages de l'écran de fond

This commit is contained in:
2026-09-02 22:39:17 +00:00
parent 5ed02a8020
commit 7120d4d65e
8 changed files with 448 additions and 21 deletions
+37 -11
View File
@@ -6,7 +6,7 @@
Décision actée en cours de session : le futur écran d'accueil d'ASPIC n'ouvrira plus directement sur la ToDoList ni sur la liste des contacts (comportement actuel depuis la V1.004), mais sur un écran de fond visuel reprenant la métaphore du "bureau à l'ancienne" — un tableau en liège avec un post-it par agent IA nommé, et un bureau sur lequel sont posés les objets/raccourcis fonctionnels de l'application.
## Démarche suivie
## Démarche suivie (maquette graphique, Claude Design)
Faute de pouvoir décrire précisément la composition attendue par écrit, Jean-Marc a fourni deux croquis papier photographiés, puis plusieurs photos trouvées sur le web comme références de style (texture de liège et punaises colorées, classeurs à levier avec trou de préhension, ambiance de bureau photographiée). Une première maquette a été construite avec l'outil de canevas de design de Claude (Claude Design), publiée sous forme d'Artifact éditable — ce n'est pas un livrable de code, seulement un support visuel de travail.
@@ -14,22 +14,48 @@ Une deuxième itération a corrigé la composition générale (liège en arrièr
Une troisième itération, dans la même session, s'appuie sur une image trouvée par Jean-Marc (générée par l'outil DeeVid AI) qu'il a jugée très proche de ce qu'il avait en tête ("voilà ce à quoi je pensais"). Claude a reconstruit la maquette à partir de cette référence : liège et bureau réunifiés en une seule composition (le bureau occupe le premier plan sur toute la largeur, les objets hauts — classeurs, micro, boîte à archives — dépassant visuellement au-dessus de la ligne du bureau, devant le mur en liège), classeurs remis à **hauteur uniforme** (la version précédente avait des hauteurs différentes sans raison fonctionnelle, remarqué à juste titre par Jean-Marc), boîte à archives redessinée en gris avec coins métalliques et porte-étiquette, micro redessiné dans un style "micro de podcast sur pied" plus réaliste. Le logo de l'outil ayant généré l'image de référence (DeeVid AI, visible en haut à droite de la photo) n'a bien sûr pas été repris dans la maquette — utilisé uniquement comme inspiration de style, pas comme contenu.
## Composition retenue (état à la pause du 2 septembre 2026)
**Composition envisagée à ce stade (maquette Claude Design, jamais codée telle quelle — voir plus bas le changement de cap) :** arrière-plan liège sur toute la largeur avec un post-it par agent actif (Viktor, Matilda, Léon, Nikita) ; bande basse bureau en bois clair avec 4 classeurs à levier ("Contacts", "Catalogue", "Affaires en cours", et un 4ᵉ "À faire" proposé par Claude, jamais confirmé), une pile d'enveloppes surmontée du logo Gmail, un agenda fermé surmonté du logo Google Agenda, un téléphone écran éteint, un micro physique à voyant pulsé, une boîte à archives. Point resté ouvert à l'issue de cette phase : garder ou non les enveloppes/Gmail, absentes de la dernière image de référence DeeVid AI mais demandées explicitement plus tôt par Jean-Marc.
- **Arrière-plan, sur toute la largeur** : un panneau en liège (texture générée, pas une photo), avec un post-it par agent actif (Viktor, Matilda, Léon, Nikita), couleur de fond calquée sur ce que sera le champ couleur d'`ASP_Agents` une fois la table modifiée par Jean-Marc, punaise colorée par-dessus.
- **Premier plan, bande basse (bureau en bois clair)** : de gauche à droite — une rangée de 4 classeurs à levier à hauteur uniforme, un par grande section fonctionnelle de l'application (étiquettes actuelles : "Contacts", "Catalogue", "Affaires en cours", et un 4ᵉ "À faire" ajouté par Claude à titre d'hypothèse, **à confirmer**), avec infobulle au survol de chaque classeur ; une pile d'enveloppes surmontée du logo Gmail ; un agenda fermé (façon carnet en cuir) surmonté du logo Google Agenda ; un téléphone portable posé écran éteint (explicitement demandé : **pas d'écran d'ordinateur/laptop représenté**) ; un micro **physique** sur pied (pas une icône plate), avec un voyant rouge qui pulse en continu pour signifier qu'il est actif — clic prévu pour ouvrir la fonctionnalité déjà existante de pilotage vocal ; une boîte à archives grise avec coins métalliques et porte-étiquette.
## Changement de cap : d'une maquette stylisée à un essai fonctionnel sur photo réelle (2 septembre 2026, reprise en soirée)
À la reprise, Jean-Marc a mis de côté la maquette liège/post-its ci-dessus (non tranchée, non codée) au profit d'une approche plus directe pour un premier essai réel : une **photo** de scène de bureau (classeurs à levier colorés, micro de studio sur pied, carnet, téléphone, chevalet nominatif), qu'il a lui-même fournie, recadrée puis re-recadrée à deux reprises à ses propres proportions d'écran (image finale **1024×457**, `ecran_fond.jpg`). Ce choix remplace, pour ce premier essai, la voie "maquette Claude Design + post-its par agent" — cette dernière n'est pas abandonnée sur le fond (elle reste une piste pour une version plus élaborée), mais l'essai en cours ne s'appuie plus dessus.
**Objectif de ce test, explicitement cadré par Jean-Marc dès le départ : "c'est juste un test"** — comprendre le rendu réel après identification, avant d'aller plus loin, pas un livrable final. Nouvel écran `ecran_fond.html`, affiché en plein écran juste après l'identification (redirection modifiée dans `identification.html`, qui pointait auparavant vers `liste_todolist.html`).
### Choix techniques retenus
- **`background-size:contain`, pas `cover`.** Premier essai en `cover` : sur l'écran réel de Jean-Marc (proportions différentes de l'image), le bas de l'image était rogné. Passage à `contain` : l'image entière reste toujours visible quelle que soit la proportion d'écran, quitte à laisser une bande de la couleur du mur (échantillonnée sur la photo) de part et d'autre plutôt que de rogner.
- **Système de coordonnées calé sur l'image de référence.** Chaque élément cliquable/affiché est positionné en pixels de l'image de référence (`IMG_W`/`IMG_H`, constantes en tête de script), puis converti en position/taille réelle à l'écran par une fonction `positionner()` qui refait à la main le calcul de `background-size:contain` (comparaison du ratio image/fenêtre, calcul de la zone réellement affichée et des bandes vides). Appelée au chargement et à chaque redimensionnement. Ce pattern est appelé à être réutilisé pour tout futur objet ajouté sur ce bureau.
- **Zone cliquable large, séparée de l'icône visuelle précisément positionnée** (cas du micro, voir plus bas) : un premier essai avec une seule zone cliquable de la taille de l'icône s'est révélé trop étroit à l'usage réel (infobulle qui ne se déclenchait qu'en survolant précisément quelques pixels) — le pattern retenu sépare un grand bouton invisible (toute la silhouette de l'objet, pour le survol/clic/infobulle) d'un petit élément visuel `pointer-events:none` posé par-dessus, calé sur le détail précis à afficher (ici le rond noir du micro), reliés par un sélecteur de fratrie CSS (`~`) pour l'effet visuel au survol.
- **Aucune donnée figée en dur** : tout ce qui s'affiche vient d'un endpoint PHP réel de la session en cours (`preferences.php`, `version.php`), jamais de texte statique.
### Éléments livrés dans ce test
- **Classeur "Contacts" cliquable.** Zone calée sur la tranche visible (face plate) du premier classeur (bleu-vert sur la photo), lien vers `liste_contacts.html`, infobulle "Ouvrir le classeur des contacts", léger liseré blanc au survol.
- **Étiquette "Contacts" sur la tranche**, texte tourné (`rotate(-90deg)`, lecture bas → haut, comme demandé — "il faudra tourner la tête sur le côté pour le lire"). Centrage horizontal corrigé à deux reprises après retours de Jean-Marc : une première mesure (encadrement min/max brut des pixels clairs) donnait un centre décalé ; une deuxième mesure par moyenne ligne par ligne a **mélangé par erreur l'étiquette du classeur voisin** (bleu), collée visuellement à celle du classeur "Contacts" — d'où un texte qui débordait cette fois dans le mauvais sens, vers le classeur voisin. Centrage définitif obtenu en isolant la seule plage claire du classeur "Contacts" (x < 80 sur l'image de référence) sur plusieurs lignes avant d'en prendre le centre. **Point de méthode à garder pour la suite** : sur cette photo, deux étiquettes voisines ont une couleur de fond quasi identique (blanc/gris clair) — toute mesure automatique par simple seuil de luminosité doit borner la zone de recherche à l'objet visé, sous peine de capter l'objet d'à côté.
- **Chevalet nominatif** (en bas à droite du bureau) : affiche le prénom de l'utilisateur connecté (`USR_Prenom`, nouvelle colonne ajoutée par Jean-Marc à `ASP_Users`, exposée par `preferences.php`). Une seule ligne (le nom de la société, initialement envisagé en 2ᵉ ligne, retiré à la demande de Jean-Marc — "l'utilisateur la connaît déjà"), ellipsis de sécurité si le prénom est long.
- **Micro cliquable**, icône logée dans le rond noir de la grille du micro photographié. Bascule ouvert/fermé au clic (test d'affichage seulement — ne déclenche pas encore la reconnaissance vocale réelle de `micro.js`) : fermé = glyphe micro gris clair, infobulle "Le micro est fermé, cliquez pour l'ouvrir" ; ouvert = barres façon vu-mètre animées en rouge (couleur proche de `--rouge-micro` de `liste_contacts.html`), infobulle "Le micro est ouvert, cliquez pour le fermer". Icônes redessinées en SVG à partir de `mic_repos.png`/`mic_ecoute.png` (déjà utilisées pour le bouton micro du bandeau). Position verticale de l'icône ajustée après retour de Jean-Marc ("icônes trop basses") par mesure précise du profil de la calotte du micro sur la photo (pointe du dôme, puis passage à un cylindre à largeur constante) pour recentrer l'icône dans la partie haute du dôme sans déborder au-dessus.
- **Numéro de version affiché sur le bureau**, même source que `#statut-version` de `liste_contacts.html` (`version.php`). Couleur et position ajustées après retour de Jean-Marc : couleur assombrie et rendue opaque (au lieu d'une transparence à 62 %), texte en gras, repositionné bord droit de l'écran, juste au-dessus de la bande claire de la tranche avant du bureau.
- **Touche Échap** conservée comme échappatoire silencieuse vers `liste_todolist.html`, le temps que cet écran ne porte pas encore d'objet fonctionnel complet.
- **Version applicative incrémentée à `V1.007`** pour l'ensemble de ce lot (première modification livrée dans cette étape du travail).
### Fichiers touchés
`identification.html` (redirection post-connexion), `ecran_fond.html` (nouveau), `ecran_fond.jpg` (nouveau, image de référence 1024×457 fournie et recadrée par Jean-Marc), `preferences.php` (ajout de `USR_Prenom` en lecture), `version.php` (`V1.007`). Côté base : colonne `USR_Prenom` ajoutée à `ASP_Users` par Jean-Marc directement (voir convention actée en tête de journal sur les exports SQL transmis).
## Point ouvert, non tranché
La dernière image de référence apportée par Jean-Marc (photo DeeVid AI) ne montre pas d'enveloppes ni de logo Gmail — uniquement classeurs, agenda, téléphone, micro et boîte à archives. Claude a choisi de **conserver** les enveloppes/Gmail dans la reconstruction, cet élément ayant été demandé explicitement par Jean-Marc plus tôt dans la session (indépendamment du style visuel de la référence). **À trancher à la prochaine session** : les garder, ou les retirer pour rester au plus près de l'image de référence.
- La question enveloppes/Gmail (voir plus haut) portait sur la maquette liège/post-its, mise de côté par le changement de cap ci-dessus — à retrancher le jour où cette piste sera reprise, pas urgent pour l'essai en cours.
- Confirmer un jour le libellé du 4ᵉ classeur envisagé dans la maquette liège ("À faire" / ToDoList) — question qui ne se pose plus dans l'immédiat : l'essai en cours n'a pour l'instant qu'un seul classeur fonctionnel ("Contacts").
- **Nouveau (2 septembre 2026, remonté par Jean-Marc) : la "tranche du bureau" (bord avant du plan de travail, en bas de l'image) n'est pas visible à l'écran chez lui.** Jean-Marc précise que ça ne le gêne pas dans l'immédiat, mais que ça pourrait poser problème plus tard — à revoir un jour. Cause non investiguée à ce stade (a priori liée à la proportion réelle de son écran par rapport à l'image, malgré le passage en `background-size:contain` qui garantit que l'image entière reste visible — reste à vérifier si la bande en question est simplement hors du cadre visible dans son cas, ou une autre cause).
## Statut et suite
**Session close pour la journée à la demande de Jean-Marc (2 septembre 2026 au soir)**, sans blocage particulier — juste une fin de journée de travail. Contrairement à ce qui avait été envisagé un peu plus tôt dans la session (attendre qu'une connaissance de Jean-Marc produise une meilleure représentation visuelle avant de reprendre), Jean-Marc a finalement trouvé lui-même une image de référence suffisamment proche pour permettre une nouvelle itération dans la foulée, dans la même session. **Aucun développement de code engagé à ce stade** — uniquement une maquette graphique exploratoire, aucun impact sur l'écran d'accueil actuellement en production (ToDoList).
**Essai fonctionnel en cours de test réel par Jean-Marc, sur son environnement de développement** (redirection post-identification vers `ecran_fond.html`, activée). Plusieurs allers-retours de correction fine déjà effectués dans la session (centrage de l'étiquette, position de l'icône micro, couleur/position du numéro de version) à partir des retours directs de Jean-Marc sur son propre écran — plusieurs points ont nécessité plus d'une itération, la mesure de position sur une photo réelle (plutôt que sur un dessin vectoriel) demandant une vérification fine à chaque retour. Fin de session actée le 2 septembre 2026 à la demande de Jean-Marc (changement de fenêtre de conversation) — pas de blocage, juste une pause volontaire.
**Reste à faire, noté au passage :**
- Trancher le point ouvert : conserver ou retirer les enveloppes/logo Gmail.
- Confirmer le libellé du 4ᵉ classeur (hypothèse actuelle : "À faire" / ToDoList).
- Une fois le champ couleur ajouté à `ASP_Agents` par Jean-Marc, faire correspondre exactement les couleurs de la maquette à celles réellement choisies en base.
- Décider si les icônes/objets du bureau (micro, téléphone, agenda, enveloppes, classeurs) doivent devenir réellement cliquables/fonctionnels dans une deuxième étape, ou rester d'abord un habillage visuel statique.
- Artifact de travail (maquette éditable, dernière version) : https://claude.ai/code/artifact/a647369f-d320-4b21-9f8c-11b20f2ad353 — lien privé à Jean-Marc, à ne pas considérer comme un livrable définitif.
- Revoir un jour le sujet de la "tranche du bureau" non visible chez Jean-Marc (voir ci-dessus).
- Décider si les autres objets photographiés sur le bureau (carnet, téléphone) doivent devenir cliquables/fonctionnels dans une prochaine étape, ou rester un habillage visuel statique pour l'instant.
- Brancher réellement le micro du bureau sur la reconnaissance vocale de `micro.js` (aujourd'hui : bascule d'affichage seule, sans effet sur l'écoute réelle).
- Trancher, un jour, le sort de la piste "maquette liège + post-its par agent" (Claude Design) : abandonnée pour cet essai, mais pas explicitement enterrée pour une version plus aboutie.
- Artifact de travail de la maquette liège (dernière version, non utilisée dans l'essai actuel) : https://claude.ai/code/artifact/a647369f-d320-4b21-9f8c-11b20f2ad353 — lien privé à Jean-Marc, à ne pas considérer comme un livrable définitif.