V 1.003 Accès par MIRADOR sur deux environnements

This commit is contained in:
2026-08-30 15:53:07 +00:00
parent 64cc133b41
commit 00c58fb125
4 changed files with 150 additions and 79 deletions
+7 -34
View File
@@ -383,7 +383,7 @@
<form class="login-panel" id="login-form" novalidate>
<div class="panel-header">Utilisateur</div>
<div class="panel-body">
<input type="text" id="identifiant" name="identifiant" placeholder="Identifiant" autocomplete="off" autofocus required>
<input type="email" id="identifiant" name="identifiant" placeholder="Adresse mail" autocomplete="off" autofocus required>
<div class="champ-mdp-wrapper">
<input type="password" id="motdepasse" name="motdepasse" placeholder="Mot de passe" autocomplete="off" required>
<button type="button" class="toggle-mdp" id="toggle-mdp" title="Afficher le mot de passe" aria-label="Afficher le mot de passe">
@@ -405,13 +405,8 @@
/* =========================================================================
ASPIC — Écran "Identification"
-------------------------------------------------------------------------
Appelle aspic.php (voir verifierIdentifiants) pour la vraie vérification
contre ASP_Users. Filet temporaire (21 août 2026, à retirer avant la
mise en production finale) : si aspic.php n'est pas joignable — fichier
ouvert en local sans serveur PHP à côté — la vérification bascule sur un
compte de démonstration (UTILISATEURS_DEMO, plus bas), pour continuer à
tester le parcours complet (compteur d'essais, redirection vers l'écran
liste des contacts) sans avoir à déployer.
Appelle aspic.php (voir verifierIdentifiants) pour la vérification
contre ASP_Users.
========================================================================= */
const form = document.getElementById('login-form');
const panneauErreur = document.getElementById('panneau-erreur');
@@ -435,32 +430,10 @@
}
})();
// ---- Utilisateur de démonstration — FILET TEMPORAIRE (21 août 2026) ----
// aspic.php existe désormais (voir journal, section 8) et fait la vraie
// vérification contre ASP_Users. Mais tant qu'il n'est pas déployé quelque
// part joignable (ex. ce fichier ouvert directement en local, sans serveur
// PHP), fetch() échoue — voir verifierIdentifiants() plus bas, qui bascule
// alors automatiquement sur ce compte de démo pour ne pas bloquer les tests
// à l'ouverture simple du fichier. Identifiant de test : JMP / mot de passe :
// aspic2026. À SUPPRIMER explicitement avant la mise en production finale
// (ce serait sinon un mot de passe en dur qui fonctionnerait même une fois
// aspic.php en place) — décision actée avec Jean-Marc le 21 août 2026.
const UTILISATEURS_DEMO = [
{ USR_Code: 'JMP', USR_MDP: 'aspic2026' }
];
function trouverUtilisateurDemo(identifiant, motdepasse) {
return UTILISATEURS_DEMO.find(u =>
u.USR_Code.toUpperCase() === identifiant.toUpperCase() && u.USR_MDP === motdepasse
);
}
// ---- Vérification des identifiants (21 août 2026) ----
// Appel réel à aspic.php. Si le serveur PHP n'est pas joignable (fetch()
// rejette : pas de serveur à cette adresse, fichier ouvert en local, etc.)
// ou renvoie une réponse inexploitable, on bascule sur le compte de
// démonstration ci-dessus plutôt que de bloquer les tests — voir le
// commentaire de UTILISATEURS_DEMO pour le retrait de ce filet avant prod.
// rejette) ou renvoie une réponse inexploitable, l'identification échoue
// proprement plutôt que de basculer sur un filet de secours.
async function verifierIdentifiants(identifiant, motdepasse) {
try {
const reponse = await fetch('aspic.php', {
@@ -471,8 +444,8 @@
const data = await reponse.json();
return !!data.success;
} catch (erreurReseau) {
console.warn('aspic.php injoignable, bascule sur le compte de démonstration :', erreurReseau);
return !!trouverUtilisateurDemo(identifiant, motdepasse);
console.error('aspic.php injoignable :', erreurReseau);
return false;
}
}