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. Livres et vidéos
  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 22 avril 2024
  • Livraison à partir de 0,01 €
  • Version en ligne offerte pendant 1 an
Livres rédigés par des auteurs francophones et imprimés à Nantes

Caractéristiques

  • Livre (broché) - 17 x 21 cm
  • ISBN : 978-2-409-04273-7
  • EAN : 9782409042737
  • Ref. ENI : EI2LAR

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-04274-4
  • EAN : 9782409042744
  • Ref. ENI : LNEI2LAR
Ce livre 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...
Consulter des extraits du livre en ligne Aperçu du livre papier
  • Niveau Confirmé à Expert
  • Nombre de pages 395 pages
  • Parution décembre 2023
  • Niveau Confirmé à Expert
  • Parution décembre 2023
Ce livre 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 livre, 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. À qui s’adresse ce livre ?
  2. Prérequis
  3. Pourquoi choisir Laravel ?
Installation et configuration
  1. Introduction
  2. Laravel Sail
    1. 1. Prérequis
    2. 2. Installation en une commande
    3. 3. Lancer notre application avec Laravel Sail
  3. Structure et configuration de Laravel
    1. 1. Structure de l’application
    2. 2. Configuration
  4. Choisir une base de données
Premiers pas
  1. Laravel et le design pattern MVC
    1. 1. Modèle : migrations et Eloquent
    2. 2. Vue : templates Blade
    3. 3. Contrôleur : routes et controllers
  2. Lignes de commandes : Artisan
  3. Commandes utiles pour déboguer
    1. 1. dd
    2. 2. dump
    3. 3. Log
  4. Qu’est-ce qu’un assistant (helper) ?
Créer des routes
  1. Prise en main
    1. 1. Définir une route
    2. 2. Les méthodes HTTP
    3. 3. Choisir les adresses des routes
    4. 4. La fonction de rappel
  2. Paramètres des routes
    1. 1. Déclarer des paramètres
    2. 2. Utiliser les paramètres capturés
    3. 3. Utiliser plusieurs paramètres
    4. 4. Paramètres optionnels
    5. 5. Usage des expressions régulières
  3. Réponses
    1. 1. Les types de réponses
    2. 2. Les réponses textuelles
    3. 3. Les réponses JSON
    4. 4. Les réponses HTML
    5. 5. Les redirections
  4. Groupes de routes
    1. 1. Préfixes de routes
    2. 2. Sous-domaines
    3. 3. Autres usages
  5. Rate limiting (protection)
  6. Routes et vues
Utiliser des vues
  1. Créer des vues
    1. 1. Afficher du HTML
    2. 2. Organiser en sous-dossiers
    3. 3. Insérer du code PHP dans les vues
  2. Premiers pas avec Blade
    1. 1. Pourquoi un moteur de template ?
    2. 2. Syntaxe de base
  3. Les variables
    1. 1. Afficher des données
    2. 2. Passer des variables aux vues
    3. 3. Afficher des données non protégées
  4. Les directives
    1. 1. Définition
    2. 2. Boucles
      1. a. L’affichage d’une liste
      2. b. Les autres types de boucles
      3. c. La variable $loop
    3. 3. Conditions
    4. 4. Piles
  5. Organiser les vues
    1. 1. Création d’un template de base
      1. a. Création en utilisant l’héritage
      2. b. Création en utilisant un composant
    2. 2. Utilisation d’un template de base
      1. a. Utilisation par héritage
      2. b. Utilisation avec un composant
    3. 3. Les fichiers statiques
      1. a. Le dossier public
      2. b. Introduction à Vite
    4. 4. À propos du cache
  6. Internationalisation
    1. 1. Fichiers de traduction
    2. 2. Définition de la langue courante
    3. 3. Utilisation dans les vues
      1. a. Variables
      2. b. Pluriel
    4. 4. Groupes de routes pour l’internationalisation
Eloquent ORM
  1. Object Relational Mapping
    1. 1. À propos des modèles
    2. 2. Manipuler des objets
    3. 3. Active Record
  2. Construire des modèles
    1. 1. Utiliser Artisan
      1. a. Initialisation d’un modèle
      2. b. Modèles et migrations
    2. 2. Créer une migration
      1. a. Initialisation d’une table
      2. b. Créer des colonnes
      3. c. Exemples et conseils de création de tables
      4. d. Mise à jour d’une table
      5. e. Lancer les migrations
      6. f. Rollback
  3. Utiliser des modèles
    1. 1. Créer et enregistrer une instance de modèle
      1. a. Instancier un modèle
      2. b. Enregistrement d’un modèle
      3. c. Créer et enregistrer un modèle enune ligne
    2. 2. Récupérer un modèle
      1. a. Récupérer par l’identifiant
      2. b. Récupérer par une requête
      3. c. Récupérer ou créer
    3. 3. Modifier un modèle
      1. a. Mise à jour d’un modèle
      2. b. Mettre à jour plusieurs modèles
    4. 4. Supprimer un modèle
      1. a. Supprimer un modèle
      2. b. Supprimer plusieurs modèles
      3. c. Soft delete
    5. 5. Utiliser une collection de modèles
      1. a. Récupérer une liste
      2. b. Requêtes complexes (Query Builder)
      3. c. Utilisation d’un modèle :mise en pratique
      4. d. Création du modèle
      5. e. Création des routes
      6. f. Création de la vue
      7. g. Test
  4. Les relations
    1. 1. Relations 1..1
      1. a. Création des modèles
      2. b. Structure des tables
      3. c. Déclarer les relations
      4. d. Accéder aux relations
    2. 2. Relations 1..n
      1. a. Création des modèles
      2. b. Structure des tables
      3. c. Déclarer les relations
      4. d. Accéder aux relations
    3. 3. Relations n..n
      1. a. Création des modèles
      2. b. Structure des tables
      3. c. Déclarer les relations
      4. d. Accéder aux relations
  5. Mutation, accesseurs et transformation
    1. 1. Accesseurs
    2. 2. Mutateurs
  6. Surveiller les performances
    1. 1. Nombre de requêtes SQL
    2. 2. Nombre de modèles instanciés
    3. 3. Seeders
    4. 4. Eloquent en mode Strict
    5. 5. Conclusion
Organiser grâce aux contrôleurs
  1. Définition et usage
    1. 1. Déplacer le code des fonctions de rappeldes routes
    2. 2. Rappels sur le CRUD
    3. 3. Séparer les contrôleurs par ressource
  2. Créer et utiliser un contrôleur
    1. 1. Créer un contrôleur CRUD avec Artisan
    2. 2. Structure d’un contrôleur
    3. 3. Lier les routes aux contrôleurs
  3. Injection de dépendances
    1. 1. Fonctionnement
    2. 2. Ordre des arguments
    3. 3. La classe Request
      1. a. Obtenir les informations de la requête
      2. b. Données des formulaires
      3. c. URI et méthodes HTTP
    4. 4. Autres instances injectables
  4. Bilan des premiers chapitres
Middlewares
  1. À propos des middlewares
    1. 1. Cycle de vie de l’application
    2. 2. Exemple du middleware d’authentification
    3. 3. Autres exemples
  2. Créer un middleware
    1. 1. Utiliser Artisan
    2. 2. Structure d’un middleware
  3. Utiliser un middleware
    1. 1. Middleware global
    2. 2. Déclaration d’alias
    3. 3. Utilisation sur une route unique
    4. 4. Utilisation sur un groupe de routes
    5. 5. Passer des paramètres supplémentaires
Travailler avec les données
  1. Sécuriser les formulaires
    1. 1. Attaques CSRF
    2. 2. Fonctionnement du CSRF Token
    3. 3. Utilisation du csrf_field dans les formulaires
    4. 4. Requêtes Ajax
    5. 5. Désactiver la protection pour certaines routes
  2. Valider les données
    1. 1. Introduction
    2. 2. Validation dans le contrôleur
      1. a. Contexte
      2. b. Logique de validation
      3. c. Afficher les messages d’erreur
    3. 3. Validation dans une classe de type FormRequest
    4. 4. Règles de validation personnalisées
      1. a. Utilisation d’une closure
      2. b. Utilisation d’une classe de validation
  3. Formulaires PATCH, PUT et DELETE
  4. Chargement de fichiers
    1. 1. Configuration
    2. 2. Création du formulaire
    3. 3. Validation des données
    4. 4. Stockage et récupération des fichiers
Authentification et autorisations
  1. Démarrer rapidement
    1. 1. Installation de Laravel Breeze
    2. 2. Le modèle User et les migrations
    3. 3. Les vues, les routes et les contrôleurs
      1. a. Les vues
      2. b. Les routes
      3. c. Les contrôleurs
      4. d. Utiliser le système d’authentification
  2. Paramétrage avancé
    1. 1. Personnaliser le mail de réinitialisationde mot de passe
    2. 2. Événements et écouteurs :envoyer un e-mail de bienvenue
    3. 3. Ajouter un champ téléphone lorsde l’inscription
      1. a. Migration
      2. b. Modification du modèle
      3. c. Modification de la vue
      4. d. Modification du contrôleur
  3. Autres méthodes d’authentification
    1. 1. Laravel Socialite
    2. 2. Authentification manuelle
    3. 3. Prise de contrôle (impersonation)
    4. 4. Authentification HTTP
    5. 5. Authentification OAuth2
  4. Déconnexion
  5. Rappels sur la sécurité
    1. 1. Mots de passe
    2. 2. Cryptage
  6. Autorisations
    1. 1. Gates
      1. a. Déclarer une porte
      2. b. Protéger à l’aide d’uneporte
    2. 2. Policies
      1. a. Création d’une policy
      2. b. Protéger avec une policy
    3. 3. Rôles
      1. a. Ajout d’une colonne « role »
      2. b. Policy
      3. c. Protéger les routes
Les sessions et le cache
  1. Les sessions
    1. 1. Choisir un pilote
      1. a. Stocker dans des fichiers
      2. b. Utiliser Redis
      3. c. Utiliser une base de données
    2. 2. Stocker des données
    3. 3. Retrouver des données
    4. 4. Supprimer des données
    5. 5. Messages flash
  2. Le cache
    1. 1. Choisir un pilote
      1. a. Stockage dans des fichiers
      2. b. Redis
      3. c. Base de données
    2. 2. Stocker, retrouver et supprimer des données
Les files d'attente
  1. Pourquoi utiliser des files d’attente ?
  2. Configuration
    1. 1. Pilote
    2. 2. Queue Worker
  3. Créer et expédier des tâches
    1. 1. Créer une tâche
    2. 2. Expédier une tâche
  4. Monitoring
    1. 1. Traitement des erreurs
    2. 2. Horizon
Envoyer des e-mails
  1. Configuration d’un environnement local
    1. 1. Mailpit
      1. a. Configuration
      2. b. Utilisation
    2. 2. Autres méthodes
      1. a. E-mails dans les logs
      2. b. Destinataire global
  2. Préparer des e-mails
    1. 1. Création de la classe Mailable
    2. 2. Création des vues
      1. a. Passage de données dynamiques aux vues
      2. b. Template Blade
      3. c. Markdown
      4. d. Texte brut
    3. 3. Configuration de l’e-mail
      1. a. Expéditeur et sujet
      2. b. Pièces jointes
  3. Envoyer des e-mails
    1. 1. Envoyer un e-mail immédiatement
    2. 2. Mise en file d’attente
    3. 3. Envoyer un e-mail plus tard
    4. 4. Afficher un e-mail sans l’envoyer
  4. Utiliser des notifications
    1. 1. Créer une notification
      1. a. Commande de création
      2. b. Définir la liste des canaux
    2. 2. Paramétrage des différents canaux
      1. a. E-mail
      2. b. Slack
      3. c. Base de données
      4. d. SMS
    3. 3. Envoyer une notification
      1. a. Envoyer à un utilisateur
      2. b. Envoyer à plusieurs utilisateurs
      3. c. Mettre en file d’attente
  5. Choisir un pilote pour la production
Mise en place d’une stratégie de test
  1. Introduction
  2. Tests unitaires
    1. 1. Introduction
    2. 2. Créer un test unitaire
  3. Base de données
    1. 1. Configuration
    2. 2. Migrations et transactions
    3. 3. Assertions
    4. 4. Fabriques (factories)
      1. a. Initialisation
    5. 5. Utiliser les fabriques dans les tests
  4. Tester des fonctionnalités
    1. 1. Introduction
    2. 2. Créer un test de fonctionnalité
  5. Laravel Dusk
    1. 1. Introduction
    2. 2. Installation
    3. 3. Créer un test
      1. a. Créer la classe
      2. b. Interagir avec le navigateur
    4. 4. Lancer les tests
    5. 5. Pour aller plus loin
      1. a. Utiliser un autre navigateur
      2. b. Utilisation des pages
  6. Automatiser le lancement des tests
Packages et helpers
  1. Intégrer un package
    1. 1. Introduction
    2. 2. Choisir un package
    3. 3. Ajouter un package
    4. 4. Mettre à jour les packages
    5. 5. Version partagée des packages
      1. a. Partager le fichier composer.lock
      2. b. Installer les dépendances
      3. c. Mettre à jour les dépendances
      4. d. En résumé
  2. Package utiles et de qualité
  3. Helper pour les chaînes de caractères
    1. 1. Transformer des chaînes
      1. a. Casse ?: Snake, Kebabs et Camel
      2. b. Slug
      3. c. Limiter une chaîne à un certainnombre de caractères
    2. 2. Manipuler des portions de chaînes
      1. a. Extraire une partie
      2. b. Remplacer une partie d’une chaîne
    3. 3. Singulier et pluriel
    4. 4. Vérifier des chaînes
      1. a. Commence ou finit par…
      2. b. Vérifier si une chaîne en contientune autre
      3. c. Vérifier si une chaîne est similaire
    5. 5. Fonctions diverses
  4. Helper pour les tableaux
    1. 1. Récupérer des éléments
    2. 2. Transformer un tableau
    3. 3. Vérifier la présence d’éléments
  5. Autres helpers
    1. 1. Chemins et dossiers
    2. 2. URL
    3. 3. Arrêter le programme
    4. 4. Requêtes et réponses
    5. 5. Sécurité
  6. Les collections
    1. 1. Introduction
    2. 2. Transformer un tableau en collection
    3. 3. Manipuler des collections
  7. Tinker
Déployer un site en production
  1. Considérations
    1. 1. Choisir son environnement de production
    2. 2. Les solutions à disposition
  2. Laravel Forge
  3. Préparer un serveur manuellement
    1. 1. Prérequis
      1. a. Ce qu’il faut avoir
      2. b. Ce qui sera installé
    2. 2. Préparer le serveur
      1. a. Initialisation
      2. b. Composer et NPM
      3. c. MySQL
      4. d. Redis
      5. e. Firewall
      6. f. Utilisateur
    3. 3. Installer l’application
    4. 4. Configurer Nginx
    5. 5. Conclusion
  4. Intégration continue et déploiement
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