V1.14.15 Mise en plce des consignes et premiers tests

This commit is contained in:
2026-09-07 06:16:51 +00:00
parent 3d56de8bfa
commit d287607e45
8 changed files with 304 additions and 21 deletions
+23 -6
View File
@@ -56,11 +56,26 @@
* doit appeler `session_start()` et renseigner `$_SESSION['USR_Code']` au
* moment où l'identifiant/mot de passe sont validés ; sans cette mise à jour
* côté `aspic.php`, plus aucun appel à ce fichier ne pourra aboutir.
*
* ⚙️ Chantier des consignes (6 septembre 2026, voir Réflexions stratégiques) :
* POST et PUT n'ont plus aucun contrôle ni traitement écrit en dur sur les
* champs — un seul appel à appliquerConsignes() (moteur_consignes.php), qui
* lit ASP_Consignes/ASP_Fonctions à chaque appel et applique ce qu'il y
* trouve pour le contexte 'Contacts' (portée 'Création' ou 'Modification'
* selon le cas). Ajouter/modifier une consigne en base change donc le
* comportement réel sans toucher ce fichier — sauf si une fonction nécessaire
* n'existe pas encore dans consignes_fonctions.php, ou en cas de bug.
* Version volontairement simplifiée (voir en-tête de moteur_consignes.php) :
* pas de distinction Saisie/Validation (tout s'applique à l'enregistrement),
* pas de vérification en temps réel côté écran pour l'instant — décision de
* Jean-Marc du 6 septembre 2026, priorité à la robustesse.
*/
session_start();
header('Content-Type: application/json; charset=utf-8');
require __DIR__ . '/db.php';
require __DIR__ . '/consignes_fonctions.php';
require __DIR__ . '/moteur_consignes.php';
// Accès réservé aux utilisateurs identifiés (session ouverte par aspic.php).
if (empty($_SESSION['USR_Code'])) {
@@ -183,10 +198,11 @@ try {
case 'POST':
$data = json_decode(file_get_contents('php://input'), true) ?? [];
$nom = trim($data['CNT_Nom'] ?? '');
if ($nom === '') {
$erreurConsigne = appliquerConsignes($pdo, 'Contacts', 'Création', $data);
if ($erreurConsigne !== null) {
http_response_code(400);
echo json_encode(['error' => 'Le nom est obligatoire']);
echo json_encode(['error' => $erreurConsigne]);
exit;
}
@@ -239,10 +255,11 @@ try {
exit;
}
$data = json_decode(file_get_contents('php://input'), true) ?? [];
$nom = trim($data['CNT_Nom'] ?? '');
if ($nom === '') {
$erreurConsigne = appliquerConsignes($pdo, 'Contacts', 'Modification', $data);
if ($erreurConsigne !== null) {
http_response_code(400);
echo json_encode(['error' => 'Le nom est obligatoire']);
echo json_encode(['error' => $erreurConsigne]);
exit;
}