mirror of
https://github.com/JMP-MS/ASPIC.git
synced 2026-10-27 16:07:10 +00:00
V1.009 Homogénéisation des écrans (début)
This commit is contained in:
+156
-143
@@ -4,6 +4,9 @@
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>ASPIC — Écran de fond (essai)</title>
|
||||
<!-- Icône d'onglet (3 septembre 2026, voir journal) : logo Mévélia Solutions,
|
||||
fourni par Jean-Marc, reprise à l'identique sur tous les écrans. -->
|
||||
<link rel="icon" href="mevelia-icone.png">
|
||||
<style>
|
||||
/* ecran_fond.html — 2 septembre 2026
|
||||
Premier essai de l'écran de fond "bureau à l'ancienne" (voir journal de
|
||||
@@ -80,30 +83,12 @@
|
||||
#classeur-contacts:hover{
|
||||
box-shadow:inset 0 0 0 2px rgba(255,255,255,.7);
|
||||
}
|
||||
/* Chevalet en bas à droite (2 septembre 2026, essai — simplifié le même
|
||||
jour à la demande de Jean-Marc) : plus que le prénom de l'utilisateur
|
||||
connecté (USR_Prenom), la société retirée ("l'utilisateur la connaît
|
||||
déjà"). Une seule ligne, donc plus de place pour une police nettement
|
||||
plus grande — c'était le point d'origine du problème de lisibilité.
|
||||
Donnée réelle de la session (preferences.php, voir script), jamais de
|
||||
texte figé. Ellipsis de sécurité si un prénom venait à être long. */
|
||||
#chevalet{
|
||||
position:fixed;
|
||||
display:flex;align-items:center;justify-content:center;
|
||||
text-align:center;
|
||||
color:#333;
|
||||
font-family:"Segoe UI","Arial",sans-serif;
|
||||
font-weight:700;
|
||||
pointer-events:none;
|
||||
user-select:none;
|
||||
overflow:hidden;
|
||||
}
|
||||
#chevalet-nom{
|
||||
white-space:nowrap;
|
||||
max-width:100%;
|
||||
overflow:hidden;
|
||||
text-overflow:ellipsis;
|
||||
}
|
||||
/* Chevalet supprimé le 3 septembre 2026 (voir journal) : Jean-Marc l'a
|
||||
rangé — "libère de la place sur le bureau" — dans la nouvelle photo qui
|
||||
ne le montre plus. Le prénom de l'utilisateur reste affiché ailleurs,
|
||||
dans le groupe société/prénom/marque repris de liste_contacts.html
|
||||
(voir #statut-version-bloc plus bas), désormais fixé en bas à droite
|
||||
de l'écran plutôt que calé sur un objet du bureau. */
|
||||
/* Micro cliquable (2 septembre 2026, essai — retouché le même jour après
|
||||
retour de Jean-Marc). Deux éléments distincts, superposés mais avec des
|
||||
rôles différents :
|
||||
@@ -167,16 +152,9 @@
|
||||
0%,100%{ transform:scaleY(.55); }
|
||||
50%{ transform:scaleY(1); }
|
||||
}
|
||||
/* Numéro de version, sur le bureau. Même source que #statut-version dans
|
||||
liste_contacts.html (version.php, voir commentaire de chargerVersion()
|
||||
ci-dessous) : jamais de numéro figé en dur, pour rester juste même si
|
||||
la version évolue sans repasser par cet écran. Repositionné le
|
||||
2 septembre 2026 : plus à droite (bord droit de l'écran plutôt que
|
||||
calé sur le chevalet) et plus bas, juste au-dessus de la bande claire
|
||||
qui marque la tranche avant du bureau. Couleur assombrie et rendue
|
||||
opaque (au lieu d'une transparence à 62%) à la demande de Jean-Marc —
|
||||
reste plus sobre que les objets fonctionnels, mais plus affirmée
|
||||
qu'avant. */
|
||||
/* Numéro de version : voir #statut-version-bloc plus haut — depuis le
|
||||
3 septembre 2026, fixé en bas à droite de l'écran (même place et même
|
||||
habillage que dans liste_contacts.html) plutôt que calé sur le bureau. */
|
||||
/* Pastille "nombre de contacts" sur le classeur Contacts (2 septembre
|
||||
2026, essai). Idée de Jean-Marc : au fur et à mesure que chaque classeur
|
||||
sera branché à sa table, afficher une petite pastille collée dessous le
|
||||
@@ -218,22 +196,60 @@
|
||||
font-weight:700;
|
||||
line-height:1;
|
||||
}
|
||||
#version-desk{
|
||||
/* Bloc société + prénom + marque (3 septembre 2026, voir journal). Posé
|
||||
d'abord calé sur le bureau comme le reste de cet écran, puis Jean-Marc a
|
||||
précisé vouloir "les infos en bas à droite à la même place que dans la
|
||||
liste des contacts" — repris ici en position FIXE par rapport à l'écran
|
||||
(et non plus en fraction de l'image), avec exactement les mêmes id, la
|
||||
même mise en forme et les mêmes tailles qu'en bas de liste_contacts.html
|
||||
(pixels fixes, pas de recalcul dans positionner()) : société, point
|
||||
séparateur, prénom, point séparateur, puis #marque-aspic (icône Mévélia
|
||||
+ logo ASPIC miniature + version). */
|
||||
#statut-version-bloc{
|
||||
position:fixed;
|
||||
color:#3a2712;
|
||||
right:16px;
|
||||
bottom:10px;
|
||||
display:flex;align-items:center;gap:8px;
|
||||
}
|
||||
.point-separateur{
|
||||
font-size:14px;line-height:1;color:#2a2a2a;
|
||||
}
|
||||
#societe-utilisateur, #prenom-utilisateur{
|
||||
font-size:11px;font-weight:700;color:#2a2a2a;
|
||||
font-family:"Segoe UI","Arial",sans-serif;
|
||||
white-space:nowrap;
|
||||
}
|
||||
#marque-aspic{
|
||||
display:flex;align-items:center;gap:4px;
|
||||
}
|
||||
#icone-mevelia{
|
||||
width:16px;height:16px;
|
||||
border-radius:50%;
|
||||
display:block;
|
||||
}
|
||||
#logo-aspic-mini{
|
||||
display:flex;align-items:center;
|
||||
background:#1B1B1B;
|
||||
border-radius:4px;
|
||||
padding:2px 6px;
|
||||
font-family:"Metro DF","Segoe UI Black","Segoe UI Semibold","Segoe UI",Arial,sans-serif;
|
||||
font-weight:900;font-size:9px;letter-spacing:1px;
|
||||
}
|
||||
#logo-aspic-mini .A{color:#FF5A1F;}
|
||||
#logo-aspic-mini .rest{color:#FFFFFF;}
|
||||
#statut-version{
|
||||
color:#4a4a4a;
|
||||
font-family:"Segoe UI","Arial",sans-serif;
|
||||
font-weight:700;
|
||||
letter-spacing:0.02em;
|
||||
text-align:right;
|
||||
white-space:nowrap;
|
||||
pointer-events:none;
|
||||
user-select:none;
|
||||
font-size:11px;
|
||||
}
|
||||
/* Post-its de la ToDoList personnelle (2 septembre 2026, premier
|
||||
affichage réel — voir journal section 28). Posés dans la zone décrite
|
||||
par ZONE_POSTITS_* plus bas dans le script : une bande occupant 30% de
|
||||
la largeur de l'écran depuis le bord droit, juste au-dessus du chevalet
|
||||
— décision de Jean-Marc ("le vilain petit canard sera l'humain", donc
|
||||
la largeur de l'écran depuis le bord droit, jusqu'à la ligne du bureau
|
||||
(chevalet supprimé le 3 septembre 2026, voir journal — la zone descend
|
||||
désormais jusqu'à la nouvelle limite mesurée sur la photo, avec la même
|
||||
marge de sécurité qu'avant) — décision de Jean-Marc ("le vilain petit canard sera l'humain", donc
|
||||
plus de place que chaque assistant, dont la ToDoList n'est pas encore
|
||||
gérée — voir Réflexions stratégiques section 11 et le fil du 2-3
|
||||
septembre). Grille à 4 colonnes × 5 lignes = 20 cases, volontairement
|
||||
@@ -294,9 +310,6 @@
|
||||
|
||||
<a id="classeur-contacts" href="liste_contacts.html" title="Ouvrir le classeur des contacts"></a>
|
||||
<div id="etiquette-contacts">Contacts</div>
|
||||
<div id="chevalet">
|
||||
<div id="chevalet-nom"></div>
|
||||
</div>
|
||||
<button id="micro-desk" type="button"></button>
|
||||
<div id="micro-icone">
|
||||
<svg id="glyphe-repos" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
||||
@@ -311,80 +324,68 @@
|
||||
</svg>
|
||||
</div>
|
||||
<div id="pastille-contacts"><span id="pastille-contacts-nombre">…</span></div>
|
||||
<div id="version-desk"></div>
|
||||
<div id="statut-version-bloc">
|
||||
<span id="societe-utilisateur" hidden></span>
|
||||
<span class="point-separateur" id="point-societe" hidden aria-hidden="true">•</span>
|
||||
<span id="prenom-utilisateur"></span>
|
||||
<span class="point-separateur" aria-hidden="true">•</span>
|
||||
<div id="marque-aspic" title="ASPIC
|
||||
Créé par Mevelia Solutions">
|
||||
<img id="icone-mevelia" src="mevelia-icone.png" alt="Mévélia Solutions">
|
||||
<span id="logo-aspic-mini"><span class="A">A</span><span class="rest">SPIC</span></span>
|
||||
<span id="statut-version"></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
// Référence de l'image : 1024×457 (voir ecran_fond.jpg — 2ᵉ recadrage du
|
||||
// 2 septembre 2026). Toutes les coordonnées ci-dessous sont exprimées en
|
||||
// Référence de l'image : 1024×457, inchangée en dimensions (voir
|
||||
// ecran_fond.jpg — 3ᵉ version le 3 septembre 2026, Jean-Marc a raccourci
|
||||
// le bureau de 13px en bas de la photo et ajouté 13px de liège en haut,
|
||||
// chevalet retiré). Toutes les coordonnées ci-dessous sont exprimées en
|
||||
// pixels de CETTE image de référence, puis converties en fraction pour
|
||||
// rester calées quelle que soit la taille réelle d'affichage (voir calcul
|
||||
// dans positionner()).
|
||||
// dans positionner()). Constantes remesurées directement sur la nouvelle
|
||||
// photo (comparaison pixel à pixel avec l'ancienne, tranche du classeur et
|
||||
// silhouette du micro) : décalage vertical uniforme de +13 confirmé pour
|
||||
// tout ce qui était calé sur le bureau ou le mur, aucun décalage
|
||||
// horizontal — cohérent avec la description de Jean-Marc.
|
||||
const IMG_W = 1024, IMG_H = 457;
|
||||
// Centre de l'étiquette du 1er classeur, remesuré une 3ᵉ fois le
|
||||
// 2 septembre 2026 : la mesure précédente (69) incluait par erreur
|
||||
// l'étiquette du classeur bleu voisin dans le calcul du centre ligne par
|
||||
// ligne (les deux étiquettes, blanches toutes les deux, se touchent
|
||||
// presque et le seuil de luminosité ne les distinguait pas) — d'où un
|
||||
// texte qui débordait vers la droite, dans le classeur bleu, au lieu de
|
||||
// rester dans le classeur bleu-vert. Remesuré en isolant la seule
|
||||
// première plage claire (x<80) sur plusieurs lignes : rectangle
|
||||
// d'étiquette réel x:[44,71], y:[240,324], centre (57.5, 282).
|
||||
// Centre de l'étiquette du 1er classeur (57.5, 282 -> 57.5, 295 : +13).
|
||||
const ETIQ_CENTRE_X_FRAC = 57.5 / IMG_W;
|
||||
const ETIQ_CENTRE_Y_FRAC = 282 / IMG_H;
|
||||
const ETIQ_CENTRE_Y_FRAC = 295 / IMG_H;
|
||||
const ETIQ_POLICE_FRAC = 19 / IMG_W;
|
||||
// Rectangle de la tranche visible du 1er classeur (face plate, sans le
|
||||
// dessus incliné), mesuré sur ecran_fond.jpg : x:[37,78], y:[224,397].
|
||||
// Rectangle de la tranche visible du 1er classeur (x inchangé, y:[224,397]
|
||||
// -> y:[237,410]).
|
||||
const CLASSEUR_X1 = 37, CLASSEUR_X2 = 78;
|
||||
const CLASSEUR_Y1 = 224, CLASSEUR_Y2 = 397;
|
||||
// Rectangle de la partie blanche du chevalet, mesuré sur ecran_fond.jpg :
|
||||
// x:[860,982], y:[359,394] — léger retrait (marge intérieure) pour ne pas
|
||||
// coller le texte au cadre en bois.
|
||||
const CHEVALET_X1 = 866, CHEVALET_X2 = 976;
|
||||
const CHEVALET_Y1 = 362, CHEVALET_Y2 = 391;
|
||||
// Une seule ligne désormais (prénom seul) : le chevalet est bas et
|
||||
// large, la police peut être nettement plus grande qu'avant.
|
||||
const CHEVALET_POLICE_FRAC = 18 / IMG_W;
|
||||
// Zone cliquable/survolable du micro : tout le silhouette du micro, du
|
||||
// pied à la tête (bras de la nacelle inclus), mesurée sur ecran_fond.jpg :
|
||||
// x:[465,543], y:[236,406].
|
||||
const CLASSEUR_Y1 = 237, CLASSEUR_Y2 = 410;
|
||||
// Chevalet supprimé le 3 septembre 2026 (voir journal) : plus d'objet à
|
||||
// cet endroit sur la nouvelle photo, Jean-Marc l'a rangé.
|
||||
// Zone cliquable/survolable du micro : silhouette complète, x inchangé,
|
||||
// y:[236,406] -> y:[249,419].
|
||||
const MICRO_ZONE_X1 = 465, MICRO_ZONE_X2 = 543;
|
||||
const MICRO_ZONE_Y1 = 236, MICRO_ZONE_Y2 = 406;
|
||||
// Centre du rond noir en haut du micro (grille), pour l'icône seule —
|
||||
// remonté le 2 septembre 2026 (icône perçue trop basse avec 268) : la
|
||||
// pointe du dôme est à y≈242, sa partie courbe se termine vers y≈260
|
||||
// avant de devenir un cylindre à largeur quasi constante (mesh) jusqu'à
|
||||
// y≈308. Centre replacé dans le haut du dôme, pas dans le cylindre :
|
||||
// (512, 255), diamètre réduit à ~22px pour ne pas déborder au-dessus de
|
||||
// la pointe (y=242).
|
||||
const ICONE_CENTRE_X = 512, ICONE_CENTRE_Y = 255;
|
||||
const MICRO_ZONE_Y1 = 249, MICRO_ZONE_Y2 = 419;
|
||||
// Centre du rond noir en haut du micro (grille), pour l'icône seule :
|
||||
// (512, 255) -> (512, 268).
|
||||
const ICONE_CENTRE_X = 512, ICONE_CENTRE_Y = 268;
|
||||
const ICONE_TAILLE_FRAC = 22 / IMG_W;
|
||||
// Coin haut-droit du texte de version (2 septembre 2026, repositionné) :
|
||||
// plus près du bord droit de l'écran (1024 de large) qu'aligné sur le
|
||||
// chevalet, et juste au-dessus de la bande claire de la tranche avant du
|
||||
// bureau — mesurée sur ecran_fond.jpg vers y:[442,450] ; le texte est
|
||||
// calé pour se terminer avant, vers y=436.
|
||||
const VERSION_X = 1012, VERSION_Y = 424;
|
||||
const VERSION_POLICE_FRAC = 11 / IMG_W;
|
||||
// Pastille "nombre de contacts", sous le trou cerclé de métal du classeur
|
||||
// Contacts. Trou mesuré sur ecran_fond.jpg : centre (58, 354), anneau
|
||||
// métallique jusqu'à y≈365. Pastille centrée sur le même axe X que le
|
||||
// trou (cohérence visuelle), posée juste en dessous, avant la fin du
|
||||
// classeur (bas de la tranche à y=397, voir CLASSEUR_Y2). Diamètre réduit
|
||||
// de 22 à 17 le 2 septembre 2026 (retour de Jean-Marc : "trop présente") —
|
||||
// centre recalé à (58, 381) pour rester au milieu de l'espace disponible
|
||||
// entre l'anneau et le bas du classeur avec la nouvelle taille.
|
||||
const PASTILLE_CONTACTS_CENTRE_X = 58, PASTILLE_CONTACTS_CENTRE_Y = 381;
|
||||
// Contacts : centre (58, 381) -> (58, 394).
|
||||
const PASTILLE_CONTACTS_CENTRE_X = 58, PASTILLE_CONTACTS_CENTRE_Y = 394;
|
||||
const PASTILLE_CONTACTS_DIAM_FRAC = 17 / IMG_W;
|
||||
|
||||
// Zone des post-its personnels (2 septembre 2026, premier affichage réel
|
||||
// — voir commentaire CSS .postit ci-dessus pour le détail des décisions).
|
||||
// 30% de la largeur de l'écran depuis le bord droit (1024 × 0.30 ≈ 307),
|
||||
// du haut de l'image jusqu'à juste au-dessus du chevalet (CHEVALET_Y1 =
|
||||
// 362, marge de 10px). Grille 4 colonnes × 5 lignes = 20 cases, alignée
|
||||
// sur CAPACITE_TABLEAU_PAR_UTILISATEUR (todolist.php) — à faire évoluer
|
||||
// 30% de la largeur de l'écran depuis le bord droit (1024 × 0.30 ≈ 307).
|
||||
// Bas de la zone (Y2) recalculé le 3 septembre 2026 : n'était plus borné
|
||||
// par le chevalet (supprimé) mais par la nouvelle ligne de bureau
|
||||
// (CLASSEUR_Y2 = 410), avec la même marge de sécurité qu'avant (~15px) —
|
||||
// 352 devient 395, quelques pixels de plus qu'un simple +13 puisque
|
||||
// l'espace se libère réellement, comme relevé par Jean-Marc. Grille
|
||||
// 4 colonnes × 5 lignes = 20 cases, volontairement alignée sur
|
||||
// CAPACITE_TABLEAU_PAR_UTILISATEUR (todolist.php) — à faire évoluer
|
||||
// ensemble le jour où cette capacité changera.
|
||||
const ZONE_POSTITS_X1 = 717, ZONE_POSTITS_X2 = 1024;
|
||||
const ZONE_POSTITS_Y1 = 6, ZONE_POSTITS_Y2 = 352;
|
||||
const ZONE_POSTITS_Y1 = 6, ZONE_POSTITS_Y2 = 395;
|
||||
const GRILLE_POSTITS_COLONNES = 4, GRILLE_POSTITS_LIGNES = 5;
|
||||
// Taille d'un post-it : ~60% de la plus petite dimension de case, pour
|
||||
// laisser de la marge au jitter sans jamais déborder sur la case voisine
|
||||
@@ -428,13 +429,6 @@
|
||||
classeur.style.width = (((CLASSEUR_X2 - CLASSEUR_X1) / IMG_W) * dispW) + 'px';
|
||||
classeur.style.height = (((CLASSEUR_Y2 - CLASSEUR_Y1) / IMG_H) * dispH) + 'px';
|
||||
|
||||
const chevalet = document.getElementById('chevalet');
|
||||
chevalet.style.left = (offX + (CHEVALET_X1 / IMG_W) * dispW) + 'px';
|
||||
chevalet.style.top = (offY + (CHEVALET_Y1 / IMG_H) * dispH) + 'px';
|
||||
chevalet.style.width = (((CHEVALET_X2 - CHEVALET_X1) / IMG_W) * dispW) + 'px';
|
||||
chevalet.style.height = (((CHEVALET_Y2 - CHEVALET_Y1) / IMG_H) * dispH) + 'px';
|
||||
chevalet.style.fontSize = (CHEVALET_POLICE_FRAC * dispW) + 'px';
|
||||
|
||||
const microDesk = document.getElementById('micro-desk');
|
||||
microDesk.style.left = (offX + (MICRO_ZONE_X1 / IMG_W) * dispW) + 'px';
|
||||
microDesk.style.top = (offY + (MICRO_ZONE_Y1 / IMG_H) * dispH) + 'px';
|
||||
@@ -448,11 +442,10 @@
|
||||
microIcone.style.width = iconeTaille + 'px';
|
||||
microIcone.style.height = iconeTaille + 'px';
|
||||
|
||||
const versionDesk = document.getElementById('version-desk');
|
||||
versionDesk.style.left = (offX + (VERSION_X / IMG_W) * dispW - 200) + 'px';
|
||||
versionDesk.style.width = '200px';
|
||||
versionDesk.style.top = (offY + (VERSION_Y / IMG_H) * dispH) + 'px';
|
||||
versionDesk.style.fontSize = (VERSION_POLICE_FRAC * dispW) + 'px';
|
||||
// #statut-version-bloc (société/prénom/marque) ne fait plus partie de ce
|
||||
// calcul depuis le 3 septembre 2026 : position fixe en bas à droite de
|
||||
// l'écran, en pixels fixes CSS — voir le commentaire au-dessus de sa
|
||||
// règle #statut-version-bloc et le journal.
|
||||
|
||||
const pastilleContacts = document.getElementById('pastille-contacts');
|
||||
const pastilleDiam = PASTILLE_CONTACTS_DIAM_FRAC * dispW;
|
||||
@@ -528,46 +521,63 @@
|
||||
});
|
||||
appliquerEtatMicroDesk();
|
||||
|
||||
// Identité affichée sur le chevalet : preferences.php (voir journal
|
||||
// section 22), qui renvoie USR_Prenom (ajouté le 2 septembre 2026 dans
|
||||
// ASP_Users à la demande de Jean-Marc). Société retirée de l'affichage
|
||||
// le même jour ("l'utilisateur la connaît déjà") — plus besoin d'aller
|
||||
// chercher USR_Societe ici. Repli silencieux (mêmes principes que
|
||||
// chargerPreferences()) si la session n'est pas active.
|
||||
async function chargerIdentiteChevalet() {
|
||||
const elNom = document.getElementById('chevalet-nom');
|
||||
// Société et prénom de l'utilisateur connecté (3 septembre 2026, voir
|
||||
// journal) : preferences.php, même endpoint et même logique que
|
||||
// chargerPreferences() dans liste_contacts.html — repris ici à l'identique
|
||||
// pour le groupe #statut-version-bloc (voir plus haut, id communs avec
|
||||
// liste_contacts.html). Le chevalet qui affichait seul le prénom
|
||||
// (USR_Prenom, ajouté le 2 septembre 2026 dans ASP_Users) a été retiré du
|
||||
// bureau le 3 septembre — cette fonction ne porte donc plus que ce groupe.
|
||||
// Repli silencieux si la session n'est pas active.
|
||||
async function chargerIdentiteUtilisateur() {
|
||||
const elSociete = document.getElementById('societe-utilisateur');
|
||||
const elPointSociete = document.getElementById('point-societe');
|
||||
const elPrenom = document.getElementById('prenom-utilisateur');
|
||||
try {
|
||||
const reponsePrefs = await fetch('preferences.php');
|
||||
if (!reponsePrefs.ok) throw new Error('HTTP ' + reponsePrefs.status);
|
||||
const prefs = await reponsePrefs.json();
|
||||
elNom.textContent = prefs.USR_Prenom || prefs.USR_Code || '—';
|
||||
if (prefs.USR_Societe) {
|
||||
elSociete.textContent = prefs.USR_Societe;
|
||||
elSociete.hidden = false;
|
||||
elPointSociete.hidden = false;
|
||||
} else {
|
||||
elSociete.hidden = true;
|
||||
elPointSociete.hidden = true;
|
||||
}
|
||||
if (prefs.USR_Prenom) elPrenom.textContent = prefs.USR_Prenom;
|
||||
} catch (erreur) {
|
||||
console.error('Erreur de chargement de preferences.php (chevalet) :', erreur);
|
||||
elNom.textContent = 'Prénom';
|
||||
console.error('Erreur de chargement de preferences.php (identité) :', erreur);
|
||||
}
|
||||
}
|
||||
chargerIdentiteChevalet();
|
||||
chargerIdentiteUtilisateur();
|
||||
|
||||
// Numéro de version affiché sur le bureau : même endpoint que
|
||||
// #statut-version dans liste_contacts.html (chargerVersion(), voir
|
||||
// journal). Repli silencieux si non joignable (fichier hors serveur, ou
|
||||
// version.php absent de ce dossier) : l'écran reste utilisable sans.
|
||||
async function chargerVersionDesk() {
|
||||
// Numéro de version : même endpoint que #statut-version dans
|
||||
// liste_contacts.html (chargerVersion(), voir journal). Repli silencieux
|
||||
// si non joignable (fichier hors serveur, ou version.php absent de ce
|
||||
// dossier) : l'écran reste utilisable sans.
|
||||
async function chargerVersionBureau() {
|
||||
try {
|
||||
const reponse = await fetch('version.php');
|
||||
if (!reponse.ok) throw new Error('HTTP ' + reponse.status);
|
||||
const data = await reponse.json();
|
||||
if (data.version) document.getElementById('version-desk').textContent = data.version;
|
||||
if (data.version) {
|
||||
document.getElementById('statut-version').textContent = data.version;
|
||||
// Infobulle du groupe icône Mévélia + logo ASPIC + version (3
|
||||
// septembre 2026, voir journal), identique à liste_contacts.html.
|
||||
const elMarque = document.getElementById('marque-aspic');
|
||||
if (elMarque) elMarque.title = 'ASPIC ' + data.version + '\nCréé par Mevelia Solutions';
|
||||
}
|
||||
} catch (erreur) {
|
||||
console.error('Erreur de chargement de version.php (bureau) :', erreur);
|
||||
}
|
||||
}
|
||||
chargerVersionDesk();
|
||||
chargerVersionBureau();
|
||||
|
||||
// Pastille "nombre de contacts" du classeur Contacts : total réel de la
|
||||
// table (contacts.php?compte=1, voir journal section 28 et commentaire
|
||||
// ajouté dans contacts.php), jamais un chiffre figé. Repli visuel "—" en
|
||||
// cas d'échec (même logique que chargerIdentiteChevalet), pour ne jamais
|
||||
// cas d'échec (même logique que chargerIdentiteUtilisateur), pour ne jamais
|
||||
// laisser une pastille vide sans explication. Le pattern (constantes
|
||||
// PASTILLE_*, positionnement dans positionner(), chargement ici) est
|
||||
// pensé pour être dupliqué sur les prochains classeurs à mesure qu'ils
|
||||
@@ -645,14 +655,17 @@
|
||||
chargerMesPostits();
|
||||
|
||||
// Lien visible "→ Liste des tâches" retiré le 2 septembre 2026 à la
|
||||
// demande de Jean-Marc. Échap conservé comme échappatoire silencieuse
|
||||
// (même logique que le reste de l'appli), pour ne pas rester bloqué sur
|
||||
// cet écran tant qu'il ne porte aucun objet fonctionnel.
|
||||
document.addEventListener('keydown', (e) => {
|
||||
if (e.key === 'Escape') {
|
||||
window.location.href = 'liste_todolist.html';
|
||||
}
|
||||
});
|
||||
// demande de Jean-Marc. Échap avait été conservé ce soir-là comme
|
||||
// échappatoire silencieuse vers liste_todolist.html, pour ne pas rester
|
||||
// bloqué sur cet écran tant qu'il ne portait aucun objet fonctionnel.
|
||||
// Retiré le 3 septembre 2026 (bug signalé par Jean-Marc) : cet écran est
|
||||
// depuis la veille le véritable écran d'accueil post-identification (voir
|
||||
// journal, section 28) — liste_contacts.html y ramène désormais par Échap
|
||||
// (voir journal du 3 septembre), donc un Échap qui, depuis l'écran
|
||||
// d'accueil lui-même, repartait ailleurs créait une boucle incohérente.
|
||||
// Aucune redirection ne remplace celle-ci : Échap ne fait plus rien ici,
|
||||
// faute d'un "retour" qui ait un sens depuis l'écran d'accueil. À revoir
|
||||
// le jour où la ToDoList aura son propre objet cliquable sur le bureau.
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
Reference in New Issue
Block a user