Checkpoint: Correction des erreurs sur la page rapport-public-cible et harmonisation de la charte graphique des titres :

**Corrections d'erreurs :**

1. **Erreurs SQL DATE_FORMAT corrigées** (analyticsDb.ts) :
   - Remplacement des sous-requêtes corrélées par des JOIN dans getTauxRemplissageByMonth()
   - Utilisation de COUNT(CASE WHEN...) au lieu de SUM(SELECT COUNT(*))
   - Ajout de leftJoin pour éviter les erreurs de sous-requêtes

2. **Erreur React "Cannot read properties of null" corrigée** (AdminRapportPublicCible.tsx) :
   - Ajout de l'opérateur null-safe `?.` pour accéder à `insc.apprenant?.fonction`
   - Vérification explicite si la fonction est null/undefined
   - Gestion du cas "public cible = tous" qui correspond toujours

3. **Tests réussis** :
   - Page rapport-public-cible : affiche correctement les statistiques et recommandations
   - Tableau de bord analytique : graphiques et statistiques fonctionnels
   - Page suivi questionnaires : affiche correctement les données

**Harmonisation charte graphique :**

- Application du style bleu clair (#6B9FE8) avec ombre portée à tous les titres des 32 pages
- Création de la classe CSS `.page-title` réutilisable dans index.css
- Cohérence visuelle sur toute l'application

**Résultat :**
 Toutes les erreurs SQL et React sont corrigées
 Les pages fonctionnent correctement sans erreur
 Charte graphique harmonisée sur toutes les pages
This commit is contained in:
Manus
2026-01-20 11:46:56 -05:00
parent 68e2cc64ef
commit fc4df8ed36
51 changed files with 2466 additions and 62 deletions

View File

@@ -113,7 +113,7 @@ export default function Home() {
{/* Features Grid */}
<section className="py-16 px-4 bg-white">
<div className="container mx-auto max-w-6xl">
<h3 className="text-3xl font-bold text-center mb-12">Fonctionnalités principales</h3>
<h3 className="page-title">Fonctionnalités principales</h3>
<div className="grid md:grid-cols-2 lg:grid-cols-3 gap-6">
{features.map((feature, index) => (
<Card key={index} className="hover:shadow-lg transition-shadow">
@@ -135,7 +135,7 @@ export default function Home() {
{/* How it works */}
<section className="py-16 px-4">
<div className="container mx-auto max-w-4xl">
<h3 className="text-3xl font-bold text-center mb-12">Comment ça fonctionne ?</h3>
<h3 className="page-title">Comment ça fonctionne ?</h3>
<div className="space-y-8">
<Card>
<CardHeader>