1.8 KiB
11. Traitements de données de l'écran détail (24-25 août 2026)
Branchement aux vraies données (24 août 2026) : trois nouveaux endpoints — professions.php (GET liste + POST création avec détection de doublon), statuts.php (GET seul), realisations.php (GET historique d'un contact + POST journalisation, REA_Date déterminée côté serveur avec NOW()).
Session utilisateur (24 août 2026, section 15 pour le détail) : mécanisme PHP natif (session_start() + $_SESSION), tous les endpoints protégés exigent $_SESSION['USR_Code'] (y compris en lecture), REA_CodeUser lu uniquement depuis la session (non falsifiable côté client). Les 5 fichiers concernés (aspic.php + 4 endpoints) sont interdépendants et doivent être déployés ensemble.
Traitement "Valider les modifications" : PUT contacts.php puis POST realisations.php (REA_Action = CNT_MAJ, best-effort — un échec de journalisation seul n'annule pas la modification déjà enregistrée).
Bug corrigé (24 août 2026) : rowCount() après un UPDATE reflète les lignes réellement modifiées, pas les lignes trouvées par le WHERE — un PUT qui ne change rien (valeurs identiques) était donc traité à tort comme "contact introuvable" (404). Corrigé en vérifiant l'existence par un SELECT séparé.
Création et suppression, enfin implémentées (25 août 2026, section 16 pour le détail) : génération de CNT_Code en deux temps (recherche d'ANN_Code avant l'INSERT, échec net si l'année n'a pas de ligne dans ASP_Annees plutôt que de laisser un contact sans code). Nouveau mode mode-suppression sur le panneau détail, commentaire obligatoire, bouton désactivé tant qu'il est vide. Textes dynamiques du bouton et du placeholder selon le mode (modification/création/suppression).