Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Supports de cours
  2. Laravel - Un framework efficace pour développer vos applications PHP (2e édition)

Laravel Un framework efficace pour développer vos applications PHP (2e édition)

Informations

Livraison possible dès le 06 mai 2024
  • Personnalisable
Livres rédigés par des auteurs francophones et imprimés à Nantes

Caractéristiques

  • Reliure spirale - 17 x 21 cm (Médian)
  • ISBN : 978-2-409-04275-1
  • EAN : 9782409042751
  • Ref. ENI : EIM2LAR

Informations

  • Consultable en ligne immédiatement après validation du paiement et pour une durée de 10 ans.
  • Version HTML
Livres rédigés par des auteurs francophones et imprimés à Nantes

Caractéristiques

  • HTML
  • ISBN : 978-2-409-04276-8
  • EAN : 9782409042768
  • Ref. ENI : LNEIM2LAR
Ce support s'adresse aux développeuses et développeurs qui souhaitent découvrir Laravel (en version 10 dans cet ouvrage) et acquérir des bases solides pour être autonomes dans le développement d'applications avec ce framework. Pour l'apprécier, il est conseillé d'avoir un minimum de connaissances sur les concepts de base du langage PHP ou d'un autre langage orienté objet.    Les auteurs commencent par détailler la préparation de l'environnement de développement. Ensuite, les...
Aperçu du livre papier
  • Niveau Confirmé à Expert
  • Nombre de pages 306 pages
  • Parution février 2024
  • Niveau Confirmé à Expert
  • Parution février 2024
Ce support s'adresse aux développeuses et développeurs qui souhaitent découvrir Laravel (en version 10 dans cet ouvrage) et acquérir des bases solides pour être autonomes dans le développement d'applications avec ce framework. Pour l'apprécier, il est conseillé d'avoir un minimum de connaissances sur les concepts de base du langage PHP ou d'un autre langage orienté objet.   

Les auteurs commencent par détailler la préparation de l'environnement de développement. Ensuite, les éléments clés du développement avec Laravel sont étudiés et agrémentés d'exemples : la création de routes, l'utilisation des vues, le mapping objet-relationnel avec l'ORM Eloquent, la mise en place de contrôleurs, le filtrage avec les middlewares ou encore le traitement des données de formulaires. Vous apprendrez également à mettre en place un système d'authentification et à gérer les autorisations, à utiliser les sessions et les files d'attente et à planifier l'envoi d'email. Pour finir, les auteurs traitent de la mise en place de tests automatisés, l'intégration de composants ou le recours à des fonctions assistantes avant de conclure par le déploiement en production de l'application développée.   

À l'issue de la lecture de ce support, le lecteur aura une connaissance avancée des possibilités du framework et sera en mesure de faire les bons choix pour développer des applications PHP robustes et fiables.
Avant-propos
  1. 1. À qui s’adresse ce livre ?
  2. 2. Prérequis
  3. 3. Pourquoi choisir Laravel ?
Installation et configuration
  1. 1. Introduction
  2. 2. Laravel Sail
    1. 2.1 Prérequis
    2. 2.2 Installation en une commande
    3. 2.3 Lancer notre application avec Laravel Sail
  3. 3. Structure et configuration de Laravel
    1. 3.1 Structure de l’application
    2. 3.2 Configuration
  4. 4. Choisir une base de données
Premiers pas
  1. 1. Laravel et le design pattern MVC
    1. 1.1 Modèle : migrations et Eloquent
    2. 1.2 Vue : templates Blade
    3. 1.3 Contrôleur : routes et controllers
  2. 2. Lignes de commandes : Artisan
  3. 3. Commandes utiles pour déboguer
    1. 3.1 dd
    2. 3.2 dump
    3. 3.3 Log
  4. 4. Qu’est-ce qu’un assistant (helper) ?
Créer des routes
  1. 1. Prise en main
    1. 1.1 Définir une route
    2. 1.2 Les méthodes HTTP
    3. 1.3 Choisir les adresses des routes
    4. 1.4 La fonction de rappel
  2. 2. Paramètres des routes
    1. 2.1 Déclarer des paramètres
    2. 2.2 Utiliser les paramètres capturés
    3. 2.3 Utiliser plusieurs paramètres
    4. 2.4 Paramètres optionnels
    5. 2.5 Usage des expressions régulières
  3. 3. Réponses
    1. 3.1 Les types de réponses
    2. 3.2 Les réponses textuelles
    3. 3.3 Les réponses JSON
    4. 3.4 Les réponses HTML
    5. 3.5 Les redirections
  4. 4. Groupes de routes
    1. 4.1 Préfixes de routes
    2. 4.2 Sous-domaines
    3. 4.3 Autres usages
  5. 5. Rate limiting (protection)
  6. 6. Routes et vues
Utiliser des vues
  1. 1. Créer des vues
    1. 1.1 Afficher du HTML
    2. 1.2 Organiser en sous-dossiers
    3. 1.3 Insérer du code PHP dans les vues
  2. 2. Premiers pas avec Blade
    1. 2.1 Pourquoi un moteur de template ?
    2. 2.2 Syntaxe de base
  3. 3. Les variables
    1. 3.1 Afficher des données
    2. 3.2 Passer des variables aux vues
    3. 3.3 Afficher des données non protégées
  4. 4. Les directives
    1. 4.1 Définition
    2. 4.2 Boucles
      1. 4.2.1 L'affichage d'une liste
      2. 4.2.2 Les autres types de boucles
      3. 4.2.3 La variable $loop
    3. 4.3 Conditions
    4. 4.4 Piles
  5. 5. Organiser les vues
    1. 5.1 Création d’un template de base
      1. 5.1.1 Création en utilisant l’héritage
      2. 5.1.2 Création en utilisant un composant
    2. 5.2 Utilisation d’un template de base
      1. 5.2.1 Utilisation par héritage
      2. 5.2.2 Utilisation avec un composant
    3. 5.3 Les fichiers statiques
      1. 5.3.1 Le dossier public
      2. 5.3.2 Introduction à Vite
    4. 5.4 À propos du cache
  6. 6. Internationalisation
    1. 6.1 Fichiers de traduction
    2. 6.2 Définition de la langue courante
    3. 6.3 Utilisation dans les vues
      1. 6.3.1 Variables
      2. 6.3.2 Pluriel
    4. 6.4 Groupes de routes pour l’internationalisation
Eloquent ORM
  1. 1. Object Relational Mapping
    1. 1.1 À propos des modèles
    2. 1.2 Manipuler des objets
    3. 1.3 Active Record
  2. 2. Construire des modèles
    1. 2.1 Utiliser Artisan
      1. 2.1.1 Initialisation d’un modèle
      2. 2.1.2 Modèles et migrations
    2. 2.2 Créer une migration
      1. 2.2.1 Initialisation d’une table
      2. 2.2.2 Créer des colonnes
      3. 2.2.3 Exemples et conseils de création de tables
      4. 2.2.4 Mise à jour d’une table
      5. 2.2.5 Lancer les migrations
      6. 2.2.6 Rollback
  3. 3. Utiliser des modèles
    1. 3.1 Créer et enregistrer une instance de modèle
      1. 3.1.1 Instancier un modèle
      2. 3.1.2 Enregistrement d’un modèle
      3. 3.1.3 Créer et enregistrer un modèle en une ligne
    2. 3.2 Récupérer un modèle
      1. 3.2.1 Récupérer par l’identifiant
      2. 3.2.2 Récupérer par une requête
      3. 3.2.3 Récupérer ou créer
    3. 3.3 Modifier un modèle
      1. 3.3.1 Mise à jour d’un modèle
      2. 3.3.2 Mettre à jour plusieurs modèles
    4. 3.4 Supprimer un modèle
      1. 3.4.1 Supprimer un modèle
      2. 3.4.2 Supprimer plusieurs modèles
      3. 3.4.3 Soft delete
    5. 3.5 Utiliser une collection de modèles
      1. 3.5.1 Récupérer une liste
      2. 3.5.2 Requêtes complexes (Query Builder)
      3. 3.5.3 Utilisation d’un modèle : mise en pratique
      4. 3.5.4 Création du modèle
      5. 3.5.5 Création des routes
      6. 3.5.6 Création de la vue
      7. 3.5.7 Test
  4. 4. Les relations
    1. 4.1 Relations 1..1
      1. 4.1.1 Création des modèles
      2. 4.1.2 Structure des tables
      3. 4.1.3 Déclarer les relations
      4. 4.1.4 Accéder aux relations
    2. 4.2 Relations 1..n
      1. 4.2.1 Création des modèles
      2. 4.2.2 Structure des tables
      3. 4.2.3 Déclarer les relations
      4. 4.2.4 Accéder aux relations
    3. 4.3 Relations n..n
      1. 4.3.1 Création des modèles
      2. 4.3.2 Structure des tables
      3. 4.3.3 Déclarer les relations
      4. 4.3.4 Accéder aux relations
  5. 5. Mutation, accesseurs et transformation
    1. 5.1 Accesseurs
    2. 5.2 Mutateurs
  6. 6. Surveiller les performances
    1. 6.1 Nombre de requêtes SQL
    2. 6.2 Nombre de modèles instanciés
    3. 6.3 Seeders
    4. 6.4 Eloquent en mode Strict
    5. 6.5 Conclusion
Organiser grâce aux contrôleurs
  1. 1. Définition et usage
    1. 1.1 Déplacer le code des fonctions de rappel des routes
    2. 1.2 Rappels sur le CRUD
    3. 1.3 Séparer les contrôleurs par ressource
  2. 2. Créer et utiliser un contrôleur
    1. 2.1 Créer un contrôleur CRUD avec Artisan
    2. 2.2 Structure d’un contrôleur
    3. 2.3 Lier les routes aux contrôleurs
  3. 3. Injection de dépendances
    1. 3.1 Fonctionnement
    2. 3.2 Ordre des arguments
    3. 3.3 La classe Request
      1. 3.3.1 Obtenir les informations de la requête
      2. 3.3.2 Données des formulaires
      3. 3.3.3 URI et méthodes HTTP
    4. 3.4 Autres instances injectables
  4. 4. Bilan des premiers chapitres
Middlewares
  1. 1. À propos des middlewares
    1. 1.1 Cycle de vie de l’application
    2. 1.2 Exemple du middleware d’authentification
    3. 1.3 Autres exemples
  2. 2. Créer un middleware
    1. 2.1 Utiliser Artisan
    2. 2.2 Structure d’un middleware
  3. 3. Utiliser un middleware
    1. 3.1 Middleware global
    2. 3.2 Déclaration d’alias
    3. 3.3 Utilisation sur une route unique
    4. 3.4 Utilisation sur un groupe de routes
    5. 3.5 Passer des paramètres supplémentaires
Travailler avec les données
  1. 1. Sécuriser les formulaires
    1. 1.1 Attaques CSRF
    2. 1.2 Fonctionnement du CSRF Token
    3. 1.3 Utilisation du csrf_field dans les formulaires
    4. 1.4 Requêtes Ajax
    5. 1.5 Désactiver la protection pour certaines routes
  2. 2. Valider les données
    1. 2.1 Introduction
    2. 2.2 Validation dans le contrôleur
      1. 2.2.1 Contexte
      2. 2.2.2 Logique de validation
      3. 2.2.3 Afficher les messages d’erreur
    3. 2.3 Validation dans une classe de type FormRequest
    4. 2.4 Règles de validation personnalisées
      1. 2.4.1 Utilisation d’une closure
      2. 2.4.2 Utilisation d’une classe de validation
  3. 3. Formulaires PATCH, PUT et DELETE
  4. 4. Chargement de fichiers
    1. 4.1 Configuration
    2. 4.2 Création du formulaire
    3. 4.3 Validation des données
    4. 4.4 Stockage et récupération des fichiers
Authentification et autorisations
  1. 1. Démarrer rapidement
    1. 1.1 Installation de Laravel Breeze
    2. 1.2 Le modèle User et les migrations
    3. 1.3 Les vues, les routes et les contrôleurs
      1. 1.3.1 Les vues
      2. 1.3.2 Les routes
      3. 1.3.3 Les contrôleurs
      4. 1.3.4 Utiliser le système d’authentification
  2. 2. Paramétrage avancé
    1. 2.1 Personnaliser le mail de réinitialisation de mot de passe
    2. 2.2 Événements et écouteurs : envoyer un e-mail de bienvenue
    3. 2.3 Ajouter un champ téléphone lors de l’inscription
      1. 2.3.1 Migration
      2. 2.3.2 Modification du modèle
      3. 2.3.3 Modification de la vue
      4. 2.3.4 Modification du contrôleur
  3. 3. Autres méthodes d’authentification
    1. 3.1 Laravel Socialite
    2. 3.2 Authentification manuelle
    3. 3.3 Prise de contrôle (impersonation)
    4. 3.4 Authentification HTTP
    5. 3.5 Authentification OAuth2
  4. 4. Déconnexion
  5. 5. Rappels sur la sécurité
    1. 5.1 Mots de passe
    2. 5.2 Cryptage
  6. 6. Autorisations
    1. 6.1 Gates
      1. 6.1.1 Déclarer une porte
      2. 6.1.2 Protéger à l’aide d’une porte
    2. 6.2 Policies
      1. 6.2.1 Création d’une policy
      2. 6.2.2 Protéger avec une policy
    3. 6.3 Rôles
      1. 6.3.1 Ajout d’une colonne « role »
      2. 6.3.2 Policy
      3. 6.3.3 Protéger les routes
Les sessions et le cache
  1. 1. Les sessions
    1. 1.1 Choisir un pilote
      1. 1.1.1 Stocker dans des fichiers
      2. 1.1.2 Utiliser Redis
      3. 1.1.3 Utiliser une base de données
    2. 1.2 Stocker des données
    3. 1.3 Retrouver des données
    4. 1.4 Supprimer des données
    5. 1.5 Messages flash
  2. 2. Le cache
    1. 2.1 Choisir un pilote
      1. 2.1.1 Stockage dans des fichiers
      2. 2.1.2 Redis
      3. 2.1.3 Base de données
    2. 2.2 Stocker, retrouver et supprimer des données
Les files d'attente
  1. 1. Pourquoi utiliser des files d’attente ?
  2. 2. Configuration
    1. 2.1 Pilote
    2. 2.2 Queue Worker
  3. 3. Créer et expédier des tâches
    1. 3.1 Créer une tâche
    2. 3.2 Expédier une tâche
  4. 4. Monitoring
    1. 4.1 Traitement des erreurs
    2. 4.2 Horizon
Envoyer des e-mails
  1. 1. Configuration d’un environnement local
    1. 1.1 Mailpit
      1. 1.1.1 Configuration
      2. 1.1.2 Utilisation
    2. 1.2 Autres méthodes
      1. 1.2.1 E-mails dans les logs
      2. 1.2.2 Destinataire global
  2. 2. Préparer des e-mails
    1. 2.1 Création de la classe Mailable
    2. 2.2 Création des vues
      1. 2.2.1 Passage de données dynamiques aux vues
      2. 2.2.2 Template Blade
      3. 2.2.3 Markdown
      4. 2.2.4 Texte brut
    3. 2.3 Configuration de l’e-mail
      1. 2.3.1 Expéditeur et sujet
      2. 2.3.2 Pièces jointes
  3. 3. Envoyer des e-mails
    1. 3.1 Envoyer un e-mail immédiatement
    2. 3.2 Mise en file d’attente
    3. 3.3 Envoyer un e-mail plus tard
    4. 3.4 Afficher un e-mail sans l’envoyer
  4. 4. Utiliser des notifications
    1. 4.1 Créer une notification
      1. 4.1.1 Commande de création
      2. 4.1.2 Définir la liste des canaux
    2. 4.2 Paramétrage des différents canaux
      1. 4.2.1 E-mail
      2. 4.2.2 Slack
      3. 4.2.3 Base de données
      4. 4.2.4 SMS
    3. 4.3 Envoyer une notification
      1. 4.3.1 Envoyer à un utilisateur
      2. 4.3.2 Envoyer à plusieurs utilisateurs
      3. 4.3.3 Mettre en file d’attente
  5. 5. Choisir un pilote pour la production
Mise en place d’une stratégie de test
  1. 1. Introduction
  2. 2. Tests unitaires
    1. 2.1 Introduction
    2. 2.2 Créer un test unitaire
  3. 3. Base de données
    1. 3.1 Configuration
    2. 3.2 Migrations et transactions
    3. 3.3 Assertions
    4. 3.4 Fabriques (factories)
      1. 3.4.1 Initialisation
    5. 3.5 Utiliser les fabriques dans les tests
  4. 4. Tester des fonctionnalités
    1. 4.1 Introduction
    2. 4.2 Créer un test de fonctionnalité
  5. 5. Laravel Dusk
    1. 5.1 Introduction
    2. 5.2 Installation
    3. 5.3 Créer un test
      1. 5.3.1 Créer la classe
      2. 5.3.2 Interagir avec le navigateur
    4. 5.4 Lancer les tests
    5. 5.5 Pour aller plus loin
      1. 5.5.1 Utiliser un autre navigateur
      2. 5.5.2 Utilisation des pages
  6. 6. Automatiser le lancement des tests
Packages et helpers
  1. 1. Intégrer un package
    1. 1.1 Introduction
    2. 1.2 Choisir un package
    3. 1.3 Ajouter un package
    4. 1.4 Mettre à jour les packages
    5. 1.5 Version partagée des packages
      1. 1.5.1 Partager le fichier composer.lock
      2. 1.5.2 Installer les dépendances
      3. 1.5.3 Mettre à jour les dépendances
      4. 1.5.4 En résumé
  2. 2. Package utiles et de qualité
  3. 3. Helper pour les chaînes de caractères
    1. 3.1 Transformer des chaînes
      1. 3.1.1 Casse : Snake, Kebabs et Camel
      2. 3.1.2 Slug
      3. 3.1.3 Limiter une chaîne à un certain nombre de caractères
    2. 3.2 Manipuler des portions de chaînes
      1. 3.2.1 Extraire une partie
      2. 3.2.2 Remplacer une partie d’une chaîne
    3. 3.3 Singulier et pluriel
    4. 3.4 Vérifier des chaînes
      1. 3.4.1 Commence ou finit par...
      2. 3.4.2 Vérifier si une chaîne en contient une autre
      3. 3.4.3 Vérifier si une chaîne est similaire
    5. 3.5 Fonctions diverses
  4. 4. Helper pour les tableaux
    1. 4.1 Récupérer des éléments
    2. 4.2 Transformer un tableau
    3. 4.3 Vérifier la présence d’éléments
  5. 5. Autres helpers
    1. 5.1 Chemins et dossiers
    2. 5.2 URL
    3. 5.3 Arrêter le programme
    4. 5.4 Requêtes et réponses
    5. 5.5 Sécurité
  6. 6. Les collections
    1. 6.1 Introduction
    2. 6.2 Transformer un tableau en collection
    3. 6.3 Manipuler des collections
  7. 7. Tinker
Déployer un site en production
  1. 1. Considérations
    1. 1.1 Choisir son environnement de production
    2. 1.2 Les solutions à disposition
  2. 2. Laravel Forge
  3. 3. Préparer un serveur manuellement
    1. 3.1 Prérequis
      1. 3.1.1 Ce qu’il faut avoir
      2. 3.1.2 Ce qui sera installé
    2. 3.2 Préparer le serveur
      1. 3.2.1 Initialisation
      2. 3.2.2 Composer et NPM
      3. 3.2.3 MySQL
      4. 3.2.4 Redis
      5. 3.2.5 Firewall
      6. 3.2.6 Utilisateur
    3. 3.3 Installer l’application
    4. 3.4 Configurer Nginx
    5. 3.5 Conclusion
  4. 4. Intégration continue et déploiement
  5.  
  6.  
  7. Index
Auteur : Raphaël HUCHET

Raphaël HUCHET

Lead-developer pour des sociétés comme Talentsoft, Ornikar, Narval et Bescent, Raphaël HUCHET développe des applications web en milieu professionnel depuis plus de 10 ans. Contributeur enthousiaste sur Laravel, Monolog ou encore le langage de programmation Rust, il participe activement à de nombreux projets open source et propriétaires. Il intervient dans plusieurs établissements de formation, publie des articles sur le web, et c’est avec la même passion qu’il a écrit ce livre sur le développement d’applications avec le framework Laravel. 
En savoir plus
Auteur : Sean O’SHEA

Sean O’SHEA

Avec une expertise de plus de 10 ans dans le domaine du développement, Sean O'SHEA travaille notamment depuis les cinq dernières années avec le framework Laravel. Dès le début, il a été conquis par ce framework qui simplifie considérablement le développement d'applications web. Au quotidien, il s’intéresse particulièrement aux enjeux liés à l'informatique éco-responsable et aux solutions lowtech dans une perspective de résilience territoriale. Dans cet ouvrage, Sean O'SHEA prend un réel plaisir à partager son savoir en distillant de nombreux conseils pratiques pour tirer le meilleur parti de la puissance de Laravel.  


En savoir plus

Nos nouveautés

voir plus