Créer un compte | Mot de passe oublié
Créer Envoyer lien <script> // Stockage des utilisateurs (demo) const USERS = JSON.parse(localStorage.getItem('users')||'[]'); // Modules const MODULES = [ { id:'fpr', title:'FPR', fields:['Nom','Prénom','DOB','Motif'], listKey:'fpr', listLabels:['nom','prenom','dob','motif']}, { id:'siv', title:'SIV', fields:['Immatriculation','Propriétaire','Infos'], listKey:'siv', listLabels:['imm','prop','infos']}, { id:'aud', title:'Auditions', fields:['Nom','Prénom','DOB','Contenu'], listKey:'aud', listLabels:['nom','prenom','dob','content']}, { id:'garde', title:'Garde à vue',fields:['Nom','Prénom','DOB','Motif','NoAgent'],listKey:'garde', listLabels:['nom','prenom','dob','motif','agent']}, { id:'urg', title:'Urgences', fields:['Num','Localisation','Message'], listKey:'urg', listLabels:['num','loc','msg']}, { id:'proc', title:'Procureur', fields:['Type','Statut'], listKey:'proc', listLabels:['type','statut'], autoRef:true}, { id:'just', title:'Justice', fields:['Réf','Description','Date'], listKey:'just', listLabels:['ref','desc','date']} ]; // Authentification const loginForm = document.getElementById('loginForm'), regForm = document.getElementById('regForm'), resetForm = document.getElementById('resetForm'), loginPage = document.getElementById('login'), tabsNav = document.getElementById('tabs'), content = document.getElementById('content'); document.getElementById('toRegister').onclick = _=> toggleForms('reg'); document.getElementById('toReset').onclick = _=> toggleForms('reset'); document.getElementById('toLogin1').onclick = _=> toggleForms('login'); document.getElementById('toLogin2').onclick = _=> toggleForms('login'); function toggleForms(f){ loginForm.parentElement.classList.toggle('hidden', f!=='login'); regForm.classList.toggle('hidden', f!=='reg'); resetForm.classList.toggle('hidden', f!=='reset'); } loginForm.onsubmit = e=>{ e.preventDefault(); const u=uName.value, p=uPass.value; if(USERS.find(x=>x.name===u && x.pass===p)){ initApp(); } else alert('Identifiant ou mot de passe invalide'); }; regForm.onsubmit = e=>{ e.preventDefault(); const u=rName.value, p1=rPass.value, p2=rPass2.value; if(p1!==p2){ alert('Les mots de passe ne correspondent pas'); return; } USERS.push({name:u,pass:p1}); localStorage.setItem('users', JSON.stringify(USERS)); alert('Compte créé. Connecte-toi.'); toggleForms('login'); }; resetForm.onsubmit = e=>{ e.preventDefault(); alert('Un lien de réinitialisation a été envoyé (simulation).'); toggleForms('login'); }; // Initialisation de l’app function initApp(){ loginPage.classList.add('hidden'); tabsNav.classList.remove('hidden'); content.classList.remove('hidden'); buildTabs(); activate('fpr'); } function buildTabs(){ MODULES.forEach(m=>{ // onglet const btn=document.createElement('button'); btn.id='tab-'+m.id; btn.textContent=m.title; btn.onclick=_=>activate(m.id); tabsNav.appendChild(btn); // section const sec=document.createElement('section'); sec.id=m.id; sec.className='tab'; // Formulaire générique let html=``; if(m.autoRef) html+=``; m.fields.forEach(f=> html+=`
`); html+=`Enregistrer
