Voici un syllabus détaillé pour enseigner les bases du framework Laravel. Ce cours est conçu pour une durée de 8 à 10 semaines, avec une approche progressive pour introduire les concepts clés de Laravel et son utilisation dans le développement d’applications web.


Syllabus : Introduction à Laravel

Objectifs du cours :

  • Comprendre les concepts de base du framework Laravel.
  • Apprendre à utiliser Laravel pour développer des applications web dynamiques.
  • Savoir appliquer les principaux outils et fonctionnalités de Laravel (MVC, routing, Eloquent ORM, Blade, etc.).

Prérequis :

  • Connaissances en PHP et en programmation orientée objet.
  • Compréhension des bases du développement web (HTML, CSS, SQL).
  • Un environnement de développement PHP (Composer, MySQL, etc.).

Structure du cours :

Semaine 1 : Introduction à Laravel et Installation

  1. Présentation de Laravel
    • Qu’est-ce que Laravel ? Historique et philosophie.
    • Pourquoi choisir Laravel pour le développement web ?
    • Concepts de base du framework.
  2. Installation et configuration de Laravel
    • Installation de Composer.
    • Création d’un projet Laravel.
    • Configuration de l’environnement (serveur local avec Valet, Homestead, ou XAMPP).
  3. Exercice pratique : Créer un nouveau projet Laravel et configurer un environnement de développement.

Semaine 2 : Structure de Laravel et Routing

  1. Exploration de la structure d’un projet Laravel
    • Les dossiers et fichiers principaux : routes, contrôleurs, modèles, vues.
    • Le cycle de vie d’une requête dans Laravel.
  2. Introduction au routing dans Laravel
    • Comprendre les routes dans routes/web.php.
    • Différentes méthodes HTTP (GET, POST, etc.).
    • Groupes de routes et paramètres de routes.
  3. Exercice pratique : Créer des routes simples et dynamiques dans Laravel.

Semaine 3 : Contrôleurs et Actions

  1. Création et gestion des contrôleurs
    • Différence entre closure et méthodes de contrôleurs.
    • Générer des contrôleurs via Artisan.
    • Passer des données aux contrôleurs.
  2. Les actions des contrôleurs
    • Introduction aux méthodes des contrôleurs (index(), store(), show(), etc.).
    • Injection de dépendances dans les contrôleurs.
  3. Exercice pratique : Créer un contrôleur et manipuler les routes associées.

Semaine 4 : Vues et Blade Templates

  1. Introduction à Blade
    • Syntaxe Blade de base : affichage de variables, conditions, boucles.
    • Inclure et étendre des templates Blade.
  2. Layouts et sections
    • Créer un layout principal pour l’application.
    • Utilisation des directives Blade pour organiser les vues.
  3. Exercice pratique : Créer une structure Blade avec un layout et des vues dynamiques.

Semaine 5 : Modèles et Eloquent ORM

  1. Introduction à Eloquent ORM
    • Les modèles Laravel et leur lien avec les bases de données.
    • Migrations de bases de données.
    • Création et gestion des modèles.
  2. Requêtes Eloquent basiques
    • Lecture, création, mise à jour, suppression de données (CRUD).
    • Utiliser les relations entre les modèles (one-to-many, many-to-many).
  3. Exercice pratique : Créer un modèle, migrer une table et manipuler des données via Eloquent.

Semaine 6 : Formulaires et Validation

  1. Création et gestion des formulaires
    • Créer un formulaire dans Laravel avec Blade.
    • Utiliser des requêtes pour capturer les données des formulaires.
  2. Validation des données
    • Valider les données utilisateur avec les règles de validation de Laravel.
    • Messages d’erreur personnalisés.
  3. Exercice pratique : Créer un formulaire avec validation et stockage des données.

Semaine 7 : Gestion des Bases de Données et Migrations

  1. Migrations dans Laravel
    • Comprendre les migrations et les seeds.
    • Créer et modifier des tables avec les migrations.
  2. Requêtes complexes avec Eloquent
    • Utiliser les relations Eloquent pour lier plusieurs tables.
    • Requêtes avec des conditions, pagination et tri.
  3. Exercice pratique : Créer une base de données avec migrations et utiliser des requêtes complexes via Eloquent.

Semaine 8 : Authentification et Sécurité

  1. Authentification utilisateur avec Laravel
    • Introduction aux systèmes d’authentification préconstruits (Laravel Breeze ou Jetstream).
    • Gestion des rôles et permissions.
  2. Sécurité des applications Laravel
    • CSRF, XSS et la protection contre les injections SQL.
    • Utilisation de middleware pour la gestion de l’authentification.
  3. Exercice pratique : Ajouter un système d’authentification à une application Laravel.

Semaine 9 : API Restful avec Laravel

  1. Introduction aux API dans Laravel
    • Création de routes API avec api.php.
    • Utiliser les ressources Laravel pour formater les réponses API.
  2. Manipulation des données via API
    • CRUD avec API.
    • Introduction à l’authentification API (Laravel Passport ou Sanctum).
  3. Exercice pratique : Créer une API Restful avec Laravel et gérer les données via des requêtes API.

Semaine 10 : Projet Final

  1. Introduction au projet final
    • Concevoir une petite application web avec Laravel (ex. : gestionnaire de tâches, blog, système de commentaires, etc.).
    • Définir les fonctionnalités principales : gestion de données, vues, authentification, API.
  2. Mise en œuvre du projet
    • Développement du projet avec application des concepts appris (routes, contrôleurs, modèles, vues, formulaires, etc.).
  3. Présentation des projets et révisions finales
    • Chaque étudiant ou groupe présente son projet.
    • Discussion des points clés du cours et des bonnes pratiques.

Ressources complémentaires :


Conclusion :

Ce syllabus est conçu pour guider les étudiants à travers une introduction progressive aux fonctionnalités de Laravel. Le cours couvre l’essentiel des concepts de Laravel, de la configuration initiale à la création d’applications web fonctionnelles, en passant par les modèles, les contrôleurs, les vues, et les API. Le projet final permet aux étudiants de mettre en pratique ce qu’ils ont appris tout au long du cours.