{{-- - Concept : meta tag csrf-token dans le head - A quoi ça sert : rendre le token CSRF accessible à JavaScript pour les futures requêtes AJAX - Fait quoi : expose le token en HTML -> pour un formulaire classique @csrf dans le form suffit, mais on le met ici par habitude en cas de besoin AJAX plus tard --}} CFA - Liste des enquêtes {{-- - Concept : chargement des assets via CDN - A quoi ça sert : éviter d'installer les dépendances localement (pas de npm ni de vendor/) - Fait quoi : charge Font Awesome (icônes), Nunito (police Google), et SB Admin 2 (thème Bootstrap) depuis des serveurs externes --}}
{{-- SIDEBAR - Concept : classe "active" sur le bon
  • - A quoi ça sert : indiquer visuellement à l'utilisateur sur quelle section il se trouve - Fait quoi : SB Admin 2 surligne le lien actif avec un fond blanc et une couleur --}} {{-- fin sidebar --}}
    {{-- TOPBAR --}} {{-- fin topbar --}} {{-- CONTENU --}}

    Liste des enquêtes

    Retour à l'accueil
    {{-- - Concept : message flash de succès - A quoi ça sert : confirmer à l'utilisateur qu'une action s'est bien passée - Fait quoi : le controller glisse un message en session avec redirect()->with('success', '...'), Blade le récupère avec session('success') et l'affiche une seule fois -> Laravel détruit automatiquement la clé après affichage --}} @if (session('success')) @endif {{-- - Concept : lien de navigation vers la création - A quoi ça sert : permettre à l'utilisateur d'accéder au formulaire de création - Fait quoi : simple lien GET vers enquete.create -> pas besoin de form ici, c'est juste une navigation sans envoi de données --}} Ajouter une enquête
    {{-- - Concept : tableau HTML Bootstrap - A quoi ça sert : afficher la liste des enquêtes de façon lisible - Fait quoi : table-bordered met des bordures sur toutes les cellules, table-hover met en évidence la ligne survolée --}} {{-- - Concept : boucle @foreach sur la collection - A quoi ça sert : afficher une ligne par enquête dans le tableau - Fait quoi : $enquete est la collection passée par EnqueteController@index via Enquete::all() -> chaque itération génère une ligne --}} @foreach ($enquete as $e) {{-- - Concept : substr() sur les dates - A quoi ça sert : afficher une date lisible sans l'heure - Fait quoi : MySQL renvoie "2026-03-11 00:00:00", substr(..., 0, 10) garde uniquement les 10 premiers caractères soit "2026-03-11" --}} @endforeach
    ID Titre Description Statut Date de début Date de fin Actions
    {{ $e->id_enquete }} {{ $e->titre }} {{ $e->description }} {{ $e->statut }}{{ substr($e->date_debut, 0, 10) }} {{ substr($e->date_fin, 0, 10) }} {{-- - Concept : lien de modification - A quoi ça sert : accéder au formulaire de modification - Fait quoi : simple lien GET vers enquete.edit avec l'id en paramètre -> pas besoin de form pour une navigation --}} Modifier {{-- - Concept : formulaire de suppression avec confirm() - A quoi ça sert : supprimer l'enquête après confirmation de l'utilisateur - Fait quoi : form POST + @method('DELETE') car HTML ne supporte pas DELETE nativement -> Laravel intercepte le champ caché _method=DELETE. onsubmit="return confirm()" affiche une boîte de dialogue native du navigateur, si l'utilisateur clique "Annuler" le form n'est pas soumis --}}
    @csrf @method('DELETE')
    {{-- - Concept : formulaire de clôture - A quoi ça sert : passer le statut de l'enquête à "terminee" sans passer par le formulaire d'édition complet - Fait quoi : form POST vers enquete.cloturer qui met uniquement le statut à "terminee" et sauvegarde -> pas de @method('PUT') ici, la route attend un POST --}}
    @csrf
    {{-- fin container-fluid --}}
    {{-- fin #content --}}
    {{-- fin #content-wrapper --}}
  • {{-- fin #wrapper --}} {{-- - Concept : modal de déconnexion - A quoi ça sert : confirmer la déconnexion avant de l'exécuter - Fait quoi : affiche une boîte de dialogue Bootstrap, le bouton confirmer soumet un form POST car la déconnexion modifie la session -> un simple lien GET ne suffit pas et serait non sécurisé --}} {{-- - Concept : ordre de chargement des scripts - A quoi ça sert : garantir que chaque librairie est disponible avant que la suivante s'en serve - Fait quoi : jQuery doit être chargé en premier car Bootstrap en a besoin, Bootstrap ensuite, SB Admin 2 en dernier car il dépend des deux -> inverser l'ordre casse les modals, la sidebar, etc. --}}