LARAVEL
GROUP
E-2
a
d
e
f
n
i
p
a
-
P
3
2
0
2
4
VE I LL E TE C H N OLO G I Q U E
S I M P L O N S E N E G A L
GROUPE 2
Mame khady LAYE
DIAW
Yaye Fatou KANE
Fatou kiné DIAKITÉ
Ndiawar diop
PLAN
0
1
C’est quoi un
framework ?
Qu’est ce qu’un
ORM ?
0
2
0
3
C’est quoi Laravel ?
Installer et
configurer une
application Laravel ?
0
4
Structure des
dossiers d’une
application Laravel
0
5
0
6
Injection de
dépendances en
Laravel.
0
7
Routage de base de
Laravel
0
8
Laravel utilise quel
ORM et comment
l’utiliser?
0
9
la migration en
Laravel
1
0
Comment éviter les
attaques CSRF en
Laravel ?
PLAN
1
1
Quels sont les
avantages et
inconvénients de
LaraveL ?
1
2
Créer un système
d'authentification
avec Laravel.
C’EST QUOI UN
FRAMEWORK
Un framework est un ensemble
d'outils, de bibliothèques et de
conventions qui fournissent une
structure de base pour développer
des applications.
QU'EST-CE QU'UN
ORM ?
Un ORM (Object-Relational Mapping)
est un outil qui permet de manipuler
les données d'une base de données
en utilisant des objets plutôt que des
requêtes SQL brutes.
L’avantage de cette couche
d’abstraction est qu’il n’y a plus
besoin de se soucier du système de
base de données utilisé, c’est l’ORM
qui a la charge de transformer les
requêtes pour les rendre compatibles
avec la base de données.
L A G E S T I O N D E S
S E S S I O N S ,
L A V A L I D AT I O N
L E R O U TA G E ,
IL suit le modèle MVC (Modèle-Vue-Contrôleur), et est
conçu pour simplifier le développement d'applications
web en offrant une syntaxe expressive et élégante.
Laravel est réputé pour sa communauté active, sa
documentation détaillée et ses nombreuses
fonctionnalités intégrées telles que:
LA RAV E L E ST UN F RAM E WORK PHP
OPE N- SOURCE , T RÈ S POPUL AI RE
C'est quoi Laravel ?
Laravel rend le processus de
développement plus agréable pour le
développeur sans sacrifier la fonctionnalité
de l'application.
PHP :
Version 8.0 ou supérieure.
Gestionnaire de dépendances
pour PHP.
Composer :
INSTALLER ET CONFIGURER UNE APPLICATION LARAVEL
Étapes d'installation de Laravel :
Pré-requis :
• Installation de Composer :
⚬ Téléchargez Composer depuis getcomposer.org et
suivez les instructions d'installation.
• Créer un nouveau projet Laravel : Ouvrez votre
terminal ou PowerShell et exécutez la commande
suivante :
composer create-project laravel/laravel nom-du-projet
INSTALLER ET CONFIGURER UNE
APPLICATION LARAVEL
INSTALLER ET CONFIGURER UNE APPLICATION
LARAVEL
• Configurer le fichier .env :
Copier le fichier .env.example en .env :
cp .env.example .env
Configurer les paramètres de votre base de données dans le fichier .env.
• Générer la clé d'application :
php artisan key:generate
• Configurer la base de données :
Ouvrir le fichier .env et définissez les paramètres de connexion à votre base de
données (SQLite, MySQL, PostgreSQL, etc.).
• Exécuter les migrations :
php artisan migrate
INSTALLER ET CONFIGURER UNE APPLICATION
LARAVEL
• Démarrer le serveur de développement :
php artisan serve
L'application sera accessible à l'adresse
http://127.0.0.1:8000.
Remarque : Vous pouvez également utiliser des outils
comme Laragon, XAMPP ou Laravel Valet pour
simplifier l'environnement de développement.
La structure d'une application Laravel
est organisée de manière à séparer
les différentes parties de
l'application, facilitant ainsi la
maintenance et l'évolutivité.
Chaque partie a un rôle précis dans
la structure de Laravel, ce qui rend
l’organisation du code plus claire et
facile à gérer.
STRUCTURE DES DOSSIERS
D’UNE APPLICATION
LARAVEL
APP/
BOOTSTRAP/
CONFIG/
DATABASE/
1
2
3
4
• Démarre l'application
• Initialise et met en cache
• Logique de l'app
• (Contrôleurs, Modèles)
• Paramètres de
l'application
• Connexions base de
données, API
• Gestion de la base de
données
• Migrations, données de
test
STRUCTURE DES
DOSSIERS D’UNE
APPLICATION LARAVEL
PUBLIC/
RESOURCES/
ROUTES/
STORAGE/
5
6
7
8
• Vues HTML, fichiers
CSS/JS
• Traductions
• Fichiers accessibles par
les utilisateurs
• Images, CSS, JavaScript
• Chemins (URLs) et actions
• Gère les pages
• Fichiers temporaires
• Logs, fichiers téléchargés
TESTS/ VENDOR/ .ENV
STRUCTURE DES DOSSIERS
D’UNE APPLICATION LARAVEL
• Tests pour vérifier
l'application
• Assure bon
fonctionnement
• Bibliothèques
externes
• Gestion automatique
• Informations
importantes
• Mots de passe, clés
API
INJECTION DE DÉPENDANCES EN
LARAVEL.
En Laravel, l'injection de dépendances est facilitée par le conteneur
d'inversion de contrôle (IoC Container)
L'injection de dépendances est un design pattern où les objets reçoivent
leurs dépendances au lieu de les créer. Laravel utilise un conteneur de
services pour gérer les dépendances.
INJECTION DE DÉPENDANCES EN LARAVEL.
Exemples d'injection de dépendances :
Injection dans un contrôleur :
<?php
namespace AppHttpControllers;
use AppServicesPaymentService;
class OrderController extends Controller
{
protected $paymentService;
// Injection via le constructeur
public function __construct(PaymentService $paymentService)
{
$this->paymentService = $paymentService;
}
public function store()
{
// Utilisation du service de paiement
$this->paymentService->process();
}
}
AVANTAGES DE L'INJECTION DE
DÉPENDANCES
• Découplage : Les classes ne sont pas responsables de la création de leurs
dépendances, ce qui réduit le couplage.
• Testabilité : Facilite les tests unitaires en permettant de remplacer facilement
les dépendances par des mocks ou des stubs.
• Maintenabilité : Facilite la modification des dépendances sans affecter les
classes qui les utilisent
• UTILISATION DU CONTENEUR IOC
Laravel utilise automatiquement le conteneur IoC pour résoudre les
dépendances déclarées dans les constructeurs ou les méthodes. Vous
pouvez également l'utiliser manuellement pour lier des interfaces à des
implémentations spécifiques.
Injection de dépendances en Laravel
Le routage en Laravel permet de
définir les URL qui correspondent
à différentes actions de votre
application.
Expliquez le routage de base de
Laravel.
Imaginez Laravel comme un
réceptionniste dans un grand hôtel.
Quand un visiteur (une requête
HTTP) arrive, le réceptionniste (le
système de routage) doit savoir où
l'envoyer.
Dans Laravel, les routes sont
généralement définies dans le
fichier routes/web.php. C'est
comme le carnet d'instructions
du réceptionniste.
Expliquez le routage de base de
Laravel.
• Définir une route
simple
C'est comme dire au réceptionniste : "Si
quelqu'un demande la chambre 'accueil',
dis-leur 'Bienvenue à l'hôtel Laravel !'"
Expliquez le routage de base de
Laravel.
• Route vers un contrôleur
"Quand quelqu'un visite la page '/chambres'
avec une requête GET, va dans la classe
ChambresController et exécute la méthode
index."
Expliquez le routage de base de
Laravel.
• Routes avec paramètres
C'est comme dire : "Si quelqu'un demande
une chambre spécifique, note le numéro et
envoie-les à M. ChambresController pour
qu'il leur montre cette chambre précise."
On peut aussi avoir des routes avec des
parties variables
Expliquez le routage de base de
Laravel.
• Nommer les routes
C'est comme donner un surnom à une
chambre. Au lieu de dire "la chambre au
bout du couloir à gauche", on peut dire "la
suite royale".
On peut donner des noms aux routes
pour s'y référer plus facilement
Route::get('/contact',
[ContactController::class, 'index'])
->name('contact');
Référence facile : Vous pouvez faire référence à cette route par son
nom plutôt que par son URL dans votre code.
Expliquez le routage de base de
Laravel.
• Groupes de routes
C'est comme dire : "Pour accéder à ces
chambres (profil et réservations), il faut
d'abord montrer sa carte d'accès (être
authentifié)."
On peut regrouper des routes qui ont
des caractéristiques communes
Expliquez le routage de base de
Laravel.
• Verbes HTTP
C'est comme avoir différentes instructions
pour différentes actions : regarder les
chambres, faire une réservation, mettre à
jour son profil, ou annuler une réservation.
Laravel comprend différents types de
requêtes
Expliquez le routage de base de
Laravel.
• Verbes HTTP
C'est comme avoir différentes instructions
pour différentes actions : regarder les
chambres, faire une réservation, mettre à
jour son profil, ou annuler une réservation.
Laravel comprend différents types de
requêtes
Expliquez le routage de base de
Laravel.
• Tester vos routes
Nous pouvons voir toutes vos routes en
utilisant la commande :
Laravel utilise Eloquent comme ORM (Object-Relational
Mapping). Eloquent permet d'interagir avec votre base de
données de manière simple et élégante.
Laravel utilise quel ORM et comment
l’utiliser?
Chaque table de votre base de
données correspond généralement
à un "Modèle" Eloquent
• Définition d'un modèle
Laravel utilise quel ORM et comment
l’utiliser?
• Récupération de données
Laravel utilise quel ORM et comment
l’utiliser?
• Création de données
Laravel utilise quel ORM et comment
l’utiliser?
• Mise à jour de données
Laravel utilise quel ORM et comment
l’utiliser?
• Suppression de données
Laravel utilise quel ORM et comment
l’utiliser?
• Requêtes avancées
La configuration de la
base de données se fait
dans le fichier .env en
définissant les variables
suivantes :
EXPLIQUEZ LA CONFIGURATION DE LA BASE
DE DONNÉES.
Laravel utilise ces paramètres pour établir
une connexion à la base de données .
Migration dans Laravel
Les migrations dans Laravel, c'est comme un système de contrôle de version pour
votre base de données.
• Création d'une table :
Quand on veut créer
une nouvelle table, on
crée une migration.
• Modification d'une table
existante : On veut
ajouter une colonne ? Ou
en supprimer une ? On
crée une migration
• Historique des changements :
Chaque migration est datée.
Ça permet de savoir
exactement quand et comment
votre base de données a
évolué
• Travail en équipe : Les migrations
permettent à toute l'équipe
d'avoir la même structure de base
de données. C'est comme si tout
le monde suivait le même plan de
construction
• Aller-retour facile : On peut
facilement annuler un
changement (rollback) ou
appliquer tous les changements
(migrate) d'un coup.
Migration dans Laravel
Les migrations dans Laravel, c'est comme un système de contrôle de version pour
votre base de données.
• Sécurité :On ne touche jamais directement
à la base de données. Tout passe par ces
fichiers de migration, ce qui réduit les
risques d'erreur
php artisan make:migration
create_users_table
Cette commande permet de créer une table
Pour exécuter les migrations :
php artisan migrate
Après avoir créer toute vos tables on fait:
UNE ATTAQUE CSRF
Comment fonctionne une attaque CSRF ?
Une attaque CSRF (Cross-Site Request Forgery) est un type d'exploitation malveillante par
lequel des commandes non autorisées sont exécutées au nom d'un utilisateur authentifié.
UNE ATTAQUE CSRF
Comment protéger une application des attaques CSRF ?
La protection contre les attaques CSRF se fait
généralement par l'utilisation de jetons CSRF. Chaque
fois qu'un formulaire est soumis, un jeton unique est
inclus dans la requête. L'application vérifie ce jeton
pour s'assurer que la requête provient d'une source
légitime.
UNE ATTAQUE CSRF
Comment adapter un formulaire Laravel pour le protéger des attaques CSRF ?
Pour protéger un formulaire dans Laravel,
vous devez inclure un champ caché
contenant le jeton CSRF. Cela se fait
généralement en ajoutant @csrf dans le
formulaire Blade.
UNE ATTAQUE CSRF
Comment fonctionne le Middleware VerifyCSRFToken ?
Le middleware VerifyCSRFToken est responsable
de la validation des jetons CSRF. Lorsqu'une
requête est reçue, le middleware vérifie que le
jeton envoyé correspond à celui stocké dans la
session.
AVANTAGES ET INCONVÉNIENTS DE LARAVEL
Avantages :
- Écosystème riche
- Documentation complète
- Eloquent ORM puissant
- Artisan CLI pour l'automatisation
Inconvénients :
- Courbe d'apprentissage pour les débutants
- Peut être "lourd" pour de petits projets
- Mises à jour fréquentes nécessitant une maintenance
SYSTÈME D'AUTHENTIFICATION AVEC LARAVEL
Présentation des différentes options d'authentification dans Laravel et leur utilité
selon les cas d’usage.
Laravel UI
1 2
Laravel Breeze
Ancienne méthode utilisant
Bootstrap, Vue ou React.
Abandonné et déconseillé
pour les nouveaux projets.
Remplace Laravel UI.
C'est le premier choix pour
commencer avec un projet
simple.
Code publié et prêt à
l’emploi.
Laravel Sanctum
5 6
Authentification
(Personnalisée)
Spécialement conçu pour la gestion
des API et des tokens.
déal pour les applications qui ont
besoin de gérer des
authentifications via API, comme les
applications mobiles ou les
applications SPA.
Implémentation sur-mesure
en utilisant les composants
d’authentification de Laravel.
3 4
Laravel Jetstream Laravel Fortify
Idéal pour le prototypage
rapide avec de nombreuses
fonctionnalités intégrées
(comme la gestion de sessions,
d’équipes, etc.).
C’est un package complet, mais
plus complexe à personnaliser.
Fournit la logique backend pour
l’authentification, laissant le choix
au développeur pour le frontend.
Offre la liberté de créer son propre
frontend tout en bénéficiant de la
logique backend prédéfinie.
AUTHENTIFICATION PERSONNALISÉE DANS
LARAVEL SANS UTILISER DE BIBLIOTHÈQUES
Prérequis
• Avoir une application Laravel déjà installée.
• Assurez-vous d'avoir configuré une base de données et mis à jour le fichier .env avec les informations
correctes.
Étape 1: Créer la Table Utilisateurs
Créez une migration pour la table des utilisateurs si elle n'existe pas déjà.
AUTHENTIFICATION PERSONNALISÉE DANS
LARAVEL SANS UTILISER DE BIBLIOTHÈQUES
Modifiez le fichier de migration pour définir la structure de la table :
Appliquez la
migration :
AUTHENTIFICATION PERSONNALISÉE DANS
LARAVEL SANS UTILISER DE BIBLIOTHÈQUES
Étape 2: Créer le Modèle Utilisateur
Créez une model user si ça n’existe pas déjà
User utilise le bon namespace et que les propriétés sont définies correctement :
AUTHENTIFICATION PERSONNALISÉE DANS
LARAVEL SANS UTILISER DE BIBLIOTHÈQUES
Étape 2: Créer le Modèle Utilisateur
Créez une model user si ça n’existe pas déjà
User utilise le bon namespace et que les propriétés sont définies correctement :
AUTHENTIFICATION PERSONNALISÉE DANS
LARAVEL SANS UTILISER DE BIBLIOTHÈQUES
Étape 3: Créer le Contrôleur d'Authentification
Créez un contrôleur pour gérer l'authentification :
Modifiez le contrôleur pour ajouter des
méthodes pour l'inscription, la connexion et la
déconnexion :
AUTHENTIFICATION PERSONNALISÉE DANS
LARAVEL SANS UTILISER DE BIBLIOTHÈQUES
Étape 4: Définir les Routes
Ajoutez les routes nécessaires dans le fichier routes/web.php :
Étape 5: Créer les Vues
THANK YOU
F O R WAT C H I N G

Présentation veille technologique LARAVEL.pptx

  • 1.
    LARAVEL GROUP E-2 a d e f n i p a - P 3 2 0 2 4 VE I LLE TE C H N OLO G I Q U E S I M P L O N S E N E G A L
  • 2.
    GROUPE 2 Mame khadyLAYE DIAW Yaye Fatou KANE Fatou kiné DIAKITÉ Ndiawar diop
  • 3.
    PLAN 0 1 C’est quoi un framework? Qu’est ce qu’un ORM ? 0 2 0 3 C’est quoi Laravel ? Installer et configurer une application Laravel ? 0 4 Structure des dossiers d’une application Laravel 0 5 0 6 Injection de dépendances en Laravel. 0 7 Routage de base de Laravel 0 8 Laravel utilise quel ORM et comment l’utiliser? 0 9 la migration en Laravel 1 0 Comment éviter les attaques CSRF en Laravel ?
  • 4.
    PLAN 1 1 Quels sont les avantageset inconvénients de LaraveL ? 1 2 Créer un système d'authentification avec Laravel.
  • 5.
    C’EST QUOI UN FRAMEWORK Unframework est un ensemble d'outils, de bibliothèques et de conventions qui fournissent une structure de base pour développer des applications.
  • 6.
    QU'EST-CE QU'UN ORM ? UnORM (Object-Relational Mapping) est un outil qui permet de manipuler les données d'une base de données en utilisant des objets plutôt que des requêtes SQL brutes. L’avantage de cette couche d’abstraction est qu’il n’y a plus besoin de se soucier du système de base de données utilisé, c’est l’ORM qui a la charge de transformer les requêtes pour les rendre compatibles avec la base de données.
  • 7.
    L A GE S T I O N D E S S E S S I O N S , L A V A L I D AT I O N L E R O U TA G E , IL suit le modèle MVC (Modèle-Vue-Contrôleur), et est conçu pour simplifier le développement d'applications web en offrant une syntaxe expressive et élégante. Laravel est réputé pour sa communauté active, sa documentation détaillée et ses nombreuses fonctionnalités intégrées telles que: LA RAV E L E ST UN F RAM E WORK PHP OPE N- SOURCE , T RÈ S POPUL AI RE C'est quoi Laravel ? Laravel rend le processus de développement plus agréable pour le développeur sans sacrifier la fonctionnalité de l'application.
  • 8.
    PHP : Version 8.0ou supérieure. Gestionnaire de dépendances pour PHP. Composer : INSTALLER ET CONFIGURER UNE APPLICATION LARAVEL Étapes d'installation de Laravel : Pré-requis :
  • 9.
    • Installation deComposer : ⚬ Téléchargez Composer depuis getcomposer.org et suivez les instructions d'installation. • Créer un nouveau projet Laravel : Ouvrez votre terminal ou PowerShell et exécutez la commande suivante : composer create-project laravel/laravel nom-du-projet INSTALLER ET CONFIGURER UNE APPLICATION LARAVEL
  • 10.
    INSTALLER ET CONFIGURERUNE APPLICATION LARAVEL • Configurer le fichier .env : Copier le fichier .env.example en .env : cp .env.example .env Configurer les paramètres de votre base de données dans le fichier .env. • Générer la clé d'application : php artisan key:generate • Configurer la base de données : Ouvrir le fichier .env et définissez les paramètres de connexion à votre base de données (SQLite, MySQL, PostgreSQL, etc.). • Exécuter les migrations : php artisan migrate
  • 11.
    INSTALLER ET CONFIGURERUNE APPLICATION LARAVEL • Démarrer le serveur de développement : php artisan serve L'application sera accessible à l'adresse http://127.0.0.1:8000. Remarque : Vous pouvez également utiliser des outils comme Laragon, XAMPP ou Laravel Valet pour simplifier l'environnement de développement.
  • 12.
    La structure d'uneapplication Laravel est organisée de manière à séparer les différentes parties de l'application, facilitant ainsi la maintenance et l'évolutivité. Chaque partie a un rôle précis dans la structure de Laravel, ce qui rend l’organisation du code plus claire et facile à gérer. STRUCTURE DES DOSSIERS D’UNE APPLICATION LARAVEL APP/ BOOTSTRAP/ CONFIG/ DATABASE/ 1 2 3 4 • Démarre l'application • Initialise et met en cache • Logique de l'app • (Contrôleurs, Modèles) • Paramètres de l'application • Connexions base de données, API • Gestion de la base de données • Migrations, données de test
  • 13.
    STRUCTURE DES DOSSIERS D’UNE APPLICATIONLARAVEL PUBLIC/ RESOURCES/ ROUTES/ STORAGE/ 5 6 7 8 • Vues HTML, fichiers CSS/JS • Traductions • Fichiers accessibles par les utilisateurs • Images, CSS, JavaScript • Chemins (URLs) et actions • Gère les pages • Fichiers temporaires • Logs, fichiers téléchargés
  • 14.
    TESTS/ VENDOR/ .ENV STRUCTUREDES DOSSIERS D’UNE APPLICATION LARAVEL • Tests pour vérifier l'application • Assure bon fonctionnement • Bibliothèques externes • Gestion automatique • Informations importantes • Mots de passe, clés API
  • 15.
    INJECTION DE DÉPENDANCESEN LARAVEL. En Laravel, l'injection de dépendances est facilitée par le conteneur d'inversion de contrôle (IoC Container) L'injection de dépendances est un design pattern où les objets reçoivent leurs dépendances au lieu de les créer. Laravel utilise un conteneur de services pour gérer les dépendances.
  • 16.
    INJECTION DE DÉPENDANCESEN LARAVEL. Exemples d'injection de dépendances : Injection dans un contrôleur : <?php namespace AppHttpControllers; use AppServicesPaymentService; class OrderController extends Controller { protected $paymentService; // Injection via le constructeur public function __construct(PaymentService $paymentService) { $this->paymentService = $paymentService; } public function store() { // Utilisation du service de paiement $this->paymentService->process(); } }
  • 17.
    AVANTAGES DE L'INJECTIONDE DÉPENDANCES • Découplage : Les classes ne sont pas responsables de la création de leurs dépendances, ce qui réduit le couplage. • Testabilité : Facilite les tests unitaires en permettant de remplacer facilement les dépendances par des mocks ou des stubs. • Maintenabilité : Facilite la modification des dépendances sans affecter les classes qui les utilisent
  • 18.
    • UTILISATION DUCONTENEUR IOC Laravel utilise automatiquement le conteneur IoC pour résoudre les dépendances déclarées dans les constructeurs ou les méthodes. Vous pouvez également l'utiliser manuellement pour lier des interfaces à des implémentations spécifiques. Injection de dépendances en Laravel
  • 19.
    Le routage enLaravel permet de définir les URL qui correspondent à différentes actions de votre application. Expliquez le routage de base de Laravel. Imaginez Laravel comme un réceptionniste dans un grand hôtel. Quand un visiteur (une requête HTTP) arrive, le réceptionniste (le système de routage) doit savoir où l'envoyer. Dans Laravel, les routes sont généralement définies dans le fichier routes/web.php. C'est comme le carnet d'instructions du réceptionniste.
  • 20.
    Expliquez le routagede base de Laravel. • Définir une route simple C'est comme dire au réceptionniste : "Si quelqu'un demande la chambre 'accueil', dis-leur 'Bienvenue à l'hôtel Laravel !'"
  • 21.
    Expliquez le routagede base de Laravel. • Route vers un contrôleur "Quand quelqu'un visite la page '/chambres' avec une requête GET, va dans la classe ChambresController et exécute la méthode index."
  • 22.
    Expliquez le routagede base de Laravel. • Routes avec paramètres C'est comme dire : "Si quelqu'un demande une chambre spécifique, note le numéro et envoie-les à M. ChambresController pour qu'il leur montre cette chambre précise." On peut aussi avoir des routes avec des parties variables
  • 23.
    Expliquez le routagede base de Laravel. • Nommer les routes C'est comme donner un surnom à une chambre. Au lieu de dire "la chambre au bout du couloir à gauche", on peut dire "la suite royale". On peut donner des noms aux routes pour s'y référer plus facilement Route::get('/contact', [ContactController::class, 'index']) ->name('contact'); Référence facile : Vous pouvez faire référence à cette route par son nom plutôt que par son URL dans votre code.
  • 24.
    Expliquez le routagede base de Laravel. • Groupes de routes C'est comme dire : "Pour accéder à ces chambres (profil et réservations), il faut d'abord montrer sa carte d'accès (être authentifié)." On peut regrouper des routes qui ont des caractéristiques communes
  • 25.
    Expliquez le routagede base de Laravel. • Verbes HTTP C'est comme avoir différentes instructions pour différentes actions : regarder les chambres, faire une réservation, mettre à jour son profil, ou annuler une réservation. Laravel comprend différents types de requêtes
  • 26.
    Expliquez le routagede base de Laravel. • Verbes HTTP C'est comme avoir différentes instructions pour différentes actions : regarder les chambres, faire une réservation, mettre à jour son profil, ou annuler une réservation. Laravel comprend différents types de requêtes
  • 27.
    Expliquez le routagede base de Laravel. • Tester vos routes Nous pouvons voir toutes vos routes en utilisant la commande :
  • 28.
    Laravel utilise Eloquentcomme ORM (Object-Relational Mapping). Eloquent permet d'interagir avec votre base de données de manière simple et élégante. Laravel utilise quel ORM et comment l’utiliser? Chaque table de votre base de données correspond généralement à un "Modèle" Eloquent • Définition d'un modèle
  • 29.
    Laravel utilise quelORM et comment l’utiliser? • Récupération de données
  • 30.
    Laravel utilise quelORM et comment l’utiliser? • Création de données
  • 31.
    Laravel utilise quelORM et comment l’utiliser? • Mise à jour de données
  • 32.
    Laravel utilise quelORM et comment l’utiliser? • Suppression de données
  • 33.
    Laravel utilise quelORM et comment l’utiliser? • Requêtes avancées
  • 34.
    La configuration dela base de données se fait dans le fichier .env en définissant les variables suivantes : EXPLIQUEZ LA CONFIGURATION DE LA BASE DE DONNÉES. Laravel utilise ces paramètres pour établir une connexion à la base de données .
  • 35.
    Migration dans Laravel Lesmigrations dans Laravel, c'est comme un système de contrôle de version pour votre base de données. • Création d'une table : Quand on veut créer une nouvelle table, on crée une migration. • Modification d'une table existante : On veut ajouter une colonne ? Ou en supprimer une ? On crée une migration • Historique des changements : Chaque migration est datée. Ça permet de savoir exactement quand et comment votre base de données a évolué • Travail en équipe : Les migrations permettent à toute l'équipe d'avoir la même structure de base de données. C'est comme si tout le monde suivait le même plan de construction • Aller-retour facile : On peut facilement annuler un changement (rollback) ou appliquer tous les changements (migrate) d'un coup.
  • 36.
    Migration dans Laravel Lesmigrations dans Laravel, c'est comme un système de contrôle de version pour votre base de données. • Sécurité :On ne touche jamais directement à la base de données. Tout passe par ces fichiers de migration, ce qui réduit les risques d'erreur php artisan make:migration create_users_table Cette commande permet de créer une table Pour exécuter les migrations : php artisan migrate Après avoir créer toute vos tables on fait:
  • 37.
    UNE ATTAQUE CSRF Commentfonctionne une attaque CSRF ? Une attaque CSRF (Cross-Site Request Forgery) est un type d'exploitation malveillante par lequel des commandes non autorisées sont exécutées au nom d'un utilisateur authentifié.
  • 38.
    UNE ATTAQUE CSRF Commentprotéger une application des attaques CSRF ? La protection contre les attaques CSRF se fait généralement par l'utilisation de jetons CSRF. Chaque fois qu'un formulaire est soumis, un jeton unique est inclus dans la requête. L'application vérifie ce jeton pour s'assurer que la requête provient d'une source légitime.
  • 39.
    UNE ATTAQUE CSRF Commentadapter un formulaire Laravel pour le protéger des attaques CSRF ? Pour protéger un formulaire dans Laravel, vous devez inclure un champ caché contenant le jeton CSRF. Cela se fait généralement en ajoutant @csrf dans le formulaire Blade.
  • 40.
    UNE ATTAQUE CSRF Commentfonctionne le Middleware VerifyCSRFToken ? Le middleware VerifyCSRFToken est responsable de la validation des jetons CSRF. Lorsqu'une requête est reçue, le middleware vérifie que le jeton envoyé correspond à celui stocké dans la session.
  • 41.
    AVANTAGES ET INCONVÉNIENTSDE LARAVEL Avantages : - Écosystème riche - Documentation complète - Eloquent ORM puissant - Artisan CLI pour l'automatisation Inconvénients : - Courbe d'apprentissage pour les débutants - Peut être "lourd" pour de petits projets - Mises à jour fréquentes nécessitant une maintenance
  • 42.
    SYSTÈME D'AUTHENTIFICATION AVECLARAVEL Présentation des différentes options d'authentification dans Laravel et leur utilité selon les cas d’usage. Laravel UI 1 2 Laravel Breeze Ancienne méthode utilisant Bootstrap, Vue ou React. Abandonné et déconseillé pour les nouveaux projets. Remplace Laravel UI. C'est le premier choix pour commencer avec un projet simple. Code publié et prêt à l’emploi.
  • 43.
    Laravel Sanctum 5 6 Authentification (Personnalisée) Spécialementconçu pour la gestion des API et des tokens. déal pour les applications qui ont besoin de gérer des authentifications via API, comme les applications mobiles ou les applications SPA. Implémentation sur-mesure en utilisant les composants d’authentification de Laravel. 3 4 Laravel Jetstream Laravel Fortify Idéal pour le prototypage rapide avec de nombreuses fonctionnalités intégrées (comme la gestion de sessions, d’équipes, etc.). C’est un package complet, mais plus complexe à personnaliser. Fournit la logique backend pour l’authentification, laissant le choix au développeur pour le frontend. Offre la liberté de créer son propre frontend tout en bénéficiant de la logique backend prédéfinie.
  • 44.
    AUTHENTIFICATION PERSONNALISÉE DANS LARAVELSANS UTILISER DE BIBLIOTHÈQUES Prérequis • Avoir une application Laravel déjà installée. • Assurez-vous d'avoir configuré une base de données et mis à jour le fichier .env avec les informations correctes. Étape 1: Créer la Table Utilisateurs Créez une migration pour la table des utilisateurs si elle n'existe pas déjà.
  • 45.
    AUTHENTIFICATION PERSONNALISÉE DANS LARAVELSANS UTILISER DE BIBLIOTHÈQUES Modifiez le fichier de migration pour définir la structure de la table : Appliquez la migration :
  • 46.
    AUTHENTIFICATION PERSONNALISÉE DANS LARAVELSANS UTILISER DE BIBLIOTHÈQUES Étape 2: Créer le Modèle Utilisateur Créez une model user si ça n’existe pas déjà User utilise le bon namespace et que les propriétés sont définies correctement :
  • 47.
    AUTHENTIFICATION PERSONNALISÉE DANS LARAVELSANS UTILISER DE BIBLIOTHÈQUES Étape 2: Créer le Modèle Utilisateur Créez une model user si ça n’existe pas déjà User utilise le bon namespace et que les propriétés sont définies correctement :
  • 48.
    AUTHENTIFICATION PERSONNALISÉE DANS LARAVELSANS UTILISER DE BIBLIOTHÈQUES Étape 3: Créer le Contrôleur d'Authentification Créez un contrôleur pour gérer l'authentification : Modifiez le contrôleur pour ajouter des méthodes pour l'inscription, la connexion et la déconnexion :
  • 49.
    AUTHENTIFICATION PERSONNALISÉE DANS LARAVELSANS UTILISER DE BIBLIOTHÈQUES Étape 4: Définir les Routes Ajoutez les routes nécessaires dans le fichier routes/web.php : Étape 5: Créer les Vues
  • 50.
    THANK YOU F OR WAT C H I N G