mirror of
https://github.com/JMP-MS/ASPIC.git
synced 2026-10-27 16:07:10 +00:00
76 lines
3.4 KiB
PHP
76 lines
3.4 KiB
PHP
<?php
|
|
/**
|
|
* ASPIC — agents.php
|
|
* Liste des agents (ASP_Agents) — assistants IA nommés auxquels une
|
|
* consigne vocale peut être adressée (2 septembre 2026, suite du pilotage
|
|
* vocal, voir journal section 27 et réflexions stratégiques). Consultée
|
|
* par micro.js au chargement pour reconnaître dynamiquement, à la place du
|
|
* seul mot déclencheur "Lilou" d'origine, le nom de l'agent auquel
|
|
* l'utilisateur s'adresse ("Viktor, ajoute un prospect...", etc.) — et
|
|
* enregistrer ce nom dans CVX_AgentTraitant sans avoir à modifier le code
|
|
* à chaque agent ajouté ou retiré.
|
|
*
|
|
* GET seul : ASP_Agents est une table gérée à la main (voir journal de
|
|
* développement), pas de création depuis ce endpoint — même principe que
|
|
* utilisateurs.php pour ASP_Users.
|
|
*/
|
|
|
|
session_start();
|
|
header('Content-Type: application/json; charset=utf-8');
|
|
require __DIR__ . '/db.php';
|
|
|
|
if (empty($_SESSION['USR_Code'])) {
|
|
http_response_code(401);
|
|
echo json_encode(['error' => 'Non identifié — veuillez vous connecter.']);
|
|
exit;
|
|
}
|
|
|
|
if ($_SERVER['REQUEST_METHOD'] !== 'GET') {
|
|
http_response_code(405);
|
|
echo json_encode(['error' => 'Méthode non autorisée']);
|
|
exit;
|
|
}
|
|
|
|
try {
|
|
$pdo = getDbConnection();
|
|
} catch (PDOException $e) {
|
|
http_response_code(500);
|
|
echo json_encode(['error' => 'Connexion base de données impossible']);
|
|
exit;
|
|
}
|
|
|
|
try {
|
|
// AGN_Variantes (ajoutée le 2 septembre 2026, voir journal section 27) :
|
|
// graphies alternatives du prénom séparées par une virgule ("Milou,
|
|
// Loulou"), utilisées par micro.js pour tolérer les confusions
|
|
// récurrentes de la reconnaissance vocale sans avoir à modifier le
|
|
// code à chaque fois — colonne éditable directement par Jean-Marc.
|
|
//
|
|
// AGN_Nom renommée AGN_Prenom (7 septembre 2026, nuit — Jean-Marc,
|
|
// homogénéisation avec USR_Prenom) : répercuté ici et dans tous les
|
|
// consommateurs de ce endpoint (micro.js, contact_ia_panel.js,
|
|
// contact_ia_interprete.php) — la clé JSON change de nom avec la colonne,
|
|
// pas d'alias de compatibilité gardé, pour ne pas laisser deux noms
|
|
// cohabiter pour la même chose.
|
|
//
|
|
// AGN_Photo (9 septembre 2026, écran assistants) : nom de fichier de la
|
|
// photo de l'agent (ex. "assistant_matilda.jpg"), colonne éditée à la
|
|
// main par Jean-Marc — même principe que AGN_Variantes. Valeur
|
|
// vide/absente tolérée côté écran (repli visuel, voir ecran_fond.html) :
|
|
// un agent sans photo reste affiché.
|
|
//
|
|
// AGN_Couleur (9 septembre 2026) : couleur pastel affectée à l'agent (ex.
|
|
// "#A6D9F2"), pas encore utilisée par aucun écran à ce stade — récupérée
|
|
// ici par anticipation (même table, même endpoint), voir réflexions
|
|
// stratégiques pour son usage prévu (post-its par assistant notamment).
|
|
//
|
|
// ORDER BY AGN_OrdreAffichage (9 septembre 2026) remplace AGN_Incr :
|
|
// Jean-Marc pilote désormais l'ordre d'affichage indépendamment de
|
|
// l'ordre de création des agents (ex. écran assistants).
|
|
$stmt = $pdo->query('SELECT AGN_Incr, AGN_Prenom, AGN_Fonction, AGN_Variantes, AGN_Photo, AGN_Couleur FROM ASP_Agents ORDER BY AGN_OrdreAffichage ASC');
|
|
echo json_encode(['agents' => $stmt->fetchAll()]);
|
|
} catch (PDOException $e) {
|
|
http_response_code(500);
|
|
echo json_encode(['error' => 'Erreur base de données : ' . $e->getMessage()]);
|
|
}
|