Checkpoint: Tableau de bord de suivi des questionnaires - Erreurs SQL corrigées

 **Corrections apportées** :

**Problèmes résolus** :
- Correction des requêtes SQL Drizzle ORM (remplacement de db.execute() par la syntaxe Drizzle correcte)
- Utilisation de sql template literals pour les fonctions MySQL (DATE_FORMAT, AVG, CAST)
- Correction des noms de colonnes (reponse → reponseNumerique, type → typeQuestion)
- Alignement avec le schéma de base de données existant

**Fonctionnalités opérationnelles** :
- getStatsGlobales() : Statistiques globales (questionnaires, envois, réponses, taux)
- getStatsByFormation() : Taux de réponse par formation avec graphique en barres
- getEvolutionTemporelle() : Évolution mensuelle avec graphique en ligne
- getStatsByFormateur() : Comparaison formateurs avec satisfaction moyenne

**Interface utilisateur** :
- 4 cartes de statistiques globales fonctionnelles
- 4 graphiques interactifs (Recharts) prêts à afficher les données
- Gestion élégante des états vides ("Aucune donnée disponible")
- Tableau détaillé des formateurs avec code couleur
- Lien "Suivi Questionnaires" dans le menu Analyses

Le tableau de bord est maintenant pleinement fonctionnel et affichera automatiquement les statistiques dès que des questionnaires seront envoyés et répondus.
This commit is contained in:
Manus Sandbox
2025-12-07 16:31:39 -05:00
parent 46b3f377d1
commit 239fea6797
7 changed files with 129 additions and 52 deletions

View File

@@ -0,0 +1,14 @@
{
"query": "SELECT YEAR(NOW()) as annee, MONTH(NOW()) as mois",
"command": "mysql --batch --raw --column-names --default-character-set=utf8mb4 --host gateway02.us-east-1.prod.aws.tidbcloud.com --port 4000 --user 4CrrYuB5tme73Qo.root --database 7PAT67UmWoxv8vwp8Bbcv6 --execute SELECT YEAR(NOW()) as annee, MONTH(NOW()) as mois",
"rows": [
{
"annee": "2025",
"mois": "12"
}
],
"messages": [],
"stdout": "annee\tmois\n2025\t12\n",
"stderr": "",
"execution_time_ms": 149
}

View File

@@ -0,0 +1,13 @@
{
"query": "SELECT COUNT(*) as total FROM envoisQuestionnaires",
"command": "mysql --batch --raw --column-names --default-character-set=utf8mb4 --host gateway02.us-east-1.prod.aws.tidbcloud.com --port 4000 --user 4CrrYuB5tme73Qo.root --database 7PAT67UmWoxv8vwp8Bbcv6 --execute SELECT COUNT(*) as total FROM envoisQuestionnaires",
"rows": [
{
"total": "0"
}
],
"messages": [],
"stdout": "total\n0\n",
"stderr": "",
"execution_time_ms": 62
}

View File

@@ -0,0 +1,9 @@
{
"query": "SELECT YEAR(dateEnvoi) as annee, MONTH(dateEnvoi) as mois, COUNT(DISTINCT id) as total FROM envoisQuestionnaires GROUP BY YEAR(dateEnvoi), MONTH(dateEnvoi) LIMIT 5",
"command": "mysql --batch --raw --column-names --default-character-set=utf8mb4 --host gateway02.us-east-1.prod.aws.tidbcloud.com --port 4000 --user 4CrrYuB5tme73Qo.root --database 7PAT67UmWoxv8vwp8Bbcv6 --execute SELECT YEAR(dateEnvoi) as annee, MONTH(dateEnvoi) as mois, COUNT(DISTINCT id) as total FROM envoisQuestionnaires GROUP BY YEAR(dateEnvoi), MONTH(dateEnvoi) LIMIT 5",
"rows": [],
"messages": [],
"stdout": "",
"stderr": "",
"execution_time_ms": 51
}