Installation et premier projet
Installer Laravel, structure des dossiers et premier démarrage
Concepts Théoriques
Laravel est un framework PHP. Un framework, c'est un ensemble d'outils et de conventions qui structurent votre code. Sans framework, un projet PHP devient rapidement un mélange de fichiers sans organisation — du SQL mélangé avec du HTML, de la logique copiée-collée partout, des failles de sécurité à chaque formulaire. Laravel impose une architecture propre (MVC), fournit des outils pour chaque besoin courant (routing, base de données, authentification, mails, files d'attente), et vous fait gagner des mois de développement.
Laravel est le framework PHP le plus utilisé au monde. Il propulse des millions d'applications — de la startup au service gouvernemental. Il est gratuit, open source, très bien documenté, et sa communauté est massive.
Pourquoi Laravel plutôt que du PHP pur ?
En PHP pur, pour afficher une liste de formations depuis la base de données, vous écririez environ 30 lignes : connexion PDO, requête préparée, fetch, boucle HTML, gestion des erreurs. En Laravel, c'est 2 lignes dans le contrôleur et une boucle @foreach dans la vue. Le framework gère la connexion, la sécurité, la pagination, le formatage — vous vous concentrez sur la logique métier.
Ce que vous allez construire : SunuLearn
SunuLearn est une plateforme de formations en ligne — comme JamonoLearn elle-même. Au fil des chapitres, vous allez construire :
- Un catalogue de formations avec catégories et filtres
- Des fiches formation avec chapitres détaillés
- Un système d'inscription et de connexion
- Un espace étudiant (mes formations, ma progression)
- Un back-office enseignant (créer et gérer des formations)
- Une API REST pour une future application mobile
Les tables : users, categories, formations, chapters, enrollments.
Prérequis techniques
- PHP 8.2+ — vérifiez avec php -v dans le terminal
- Composer — le gestionnaire de paquets PHP (getcomposer.org)
- Node.js + npm — pour compiler les assets CSS/JS (nodejs.org)
- MySQL — via XAMPP ou installé séparément
- Un éditeur — VS Code avec l'extension PHP Intelephense
Installer Laravel
Ouvrez votre terminal et créez le projet :
# Installer le Laravel Installer globalement
composer global require laravel/installer
# Créer le projet SunuLearn
laravel new sunulearnL'installateur vous pose des questions :
- Starter kit → choisissez None (on ajoutera Breeze plus tard)
- Testing framework → Pest (plus moderne que PHPUnit)
- Database → MySQL
- Run migrations → Yes
Si l'installateur n'est pas disponible, utilisez Composer directement :
composer create-project laravel/laravel sunulearn
cd sunulearnStructure du projet
Après l'installation, voici les dossiers importants :
sunulearn/
├── app/ ← Votre code PHP (Models, Controllers, etc.)
│ ├── Http/Controllers/ ← Les contrôleurs (logique des pages)
│ └── Models/ ← Les modèles Eloquent (tables de la BDD)
├── bootstrap/app.php ← Configuration de l'application (middleware, etc.)
├── config/ ← Fichiers de configuration
├── database/
│ ├── migrations/ ← Structure de la BDD (versionnée)
│ ├── seeders/ ← Données de test
│ └── factories/ ← Génération de fausses données
├── public/ ← Point d'entrée web (index.php, images, CSS compilé)
├── resources/views/ ← Les templates Blade (HTML)
├── routes/
│ ├── web.php ← Routes des pages HTML
│ └── api.php ← Routes de l'API JSON
├── storage/ ← Fichiers uploadés, logs, cache
├── tests/ ← Tests automatisés
├── .env ← Variables d'environnement (BDD, mail, clés)
└── artisan ← L'outil en ligne de commande de LaravelRetenez les 5 dossiers essentiels : app/ (votre code), routes/ (les URLs), resources/views/ (le HTML), database/ (la structure BDD), et .env (la configuration).
Le fichier .env
C'est le fichier le plus important à configurer. Ouvrez .env et modifiez la section base de données :
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=sunulearn
DB_USERNAME=root
DB_PASSWORD=Créez la base sunulearn dans phpMyAdmin ou en terminal : mysql -u root -e "CREATE DATABASE sunulearn;"
Lancer le serveur de développement
cd sunulearn
php artisan serveOuvrez http://localhost:8000 — la page d'accueil de Laravel s'affiche. Votre projet fonctionne.
Artisan — votre assistant en ligne de commande
artisan est l'outil CLI de Laravel. Vous l'utiliserez constamment :
php artisan serve # Démarrer le serveur
php artisan make:controller # Créer un contrôleur
php artisan make:model # Créer un modèle
php artisan migrate # Exécuter les migrations
php artisan db:seed # Remplir la BDD de test
php artisan tinker # Console interactive PHP
php artisan route:list # Lister toutes les routesTapez php artisan list pour voir TOUTES les commandes disponibles. Il y en a plus de 80 — vous en utiliserez une vingtaine régulièrement.