• Aide
  • Eurêkoi Eurêkoi

Livre

Laravel : un framework efficace pour développer vos applications PHP

Résumé

Une présentation de l'environnement et des possibilités du framework Laravel pour acquérir des bases solides afin de devenir autonome dans le développement d'applications en PHP. ©Electre 2023


  • Autre(s) auteur(s)
  • Éditeur(s)
  • Date
    • C 2023
  • Notes
    • La couv. porte en plus : "Informatique technique" ; "Version en ligne offerte ! pendant 1 an"
    • Contient un "flashcode" permettant d'accéder à un contenu via Internet
  • Langues
    • Français
  • Description matérielle
    • 1 vol. (395 p.) : ill. ; 21 cm
  • Collections
  • Sujet(s)
  • ISBN
    • 978-2-409-04273-7
  • Indice
  • Quatrième de couverture
    • LaraveI

      Un framework efficace pour développer vos applications PHP

      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.


  • Tables des matières
      • LaraveI

      • Un framework efficace pour développer vos applications PHP

      • 2e édition

      • Avant-propos
      • 1. À qui s'adresse ce livre ?17
      • 2. Prérequis18
      • 3. Pourquoi choisir Laravel ?19
      • Chapitre 1
      • Installation et configuration
      • 1. Introduction21
      • 2. Laravel Sail22
      • 2.1 Prérequis22
      • 2.2 Installation en une commande22
      • 2.3 Lancer notre application avec Laravel Sail23
      • 3. Structure et configuration de Laravel23
      • 3.1 Structure de l'application24
      • 3.2 Configuration25
      • 4. Choisir une base de données26
      • Chapitre 2
      • Premiers pas
      • 1. Laravel et le design pattern MVC27
      • 1.1 Modèle : migrations et Eloquent27
      • 1.2 Vue : templates Blade28
      • 1.3 Contrôleur : routes et controllers28
      • 2. Lignes de commandes : Artisan28
      • 3. Commandes utiles pour déboguer29
      • 3.1 dd29
      • 3.2 dump30
      • 3.3 Log30
      • 4. Qu'est-ce qu'un assistant (helper) ?32
      • Chapitre 3
      • Créer des routes
      • 1. Prise en main33
      • 1.1 Définir une route33
      • 1.2 Les méthodes HTTP34
      • 1.3 Choisir les adresses des routes35
      • 1.4 La fonction de rappel36
      • 2. Paramètres des routes37
      • 2.1 Déclarer des paramètres37
      • 2.2 Utiliser les paramètres capturés38
      • 2.3 Utiliser plusieurs paramètres38
      • 2.4 Paramètres optionnels39
      • 2.5 Usage des expressions régulières40
      • 3. Réponses41
      • 3.1 Les types de réponses41
      • 3.2 Les réponses textuelles42
      • 3.3 Les réponses JSON44
      • 3.4 Les réponses HTML45
      • 3.5 Les redirections45
      • 4. Groupes de routes46
      • 4.1 Préfixes de routes46
      • 4.2 Sous-domaines48
      • 4.3 Autres usages50
      • 5. Rate limiting (protection)51
      • 6. Routes et vues51
      • Chapitre 4
      • Utiliser des vues
      • 1. Créer des vues53
      • 1.1 Afficher du HTML53
      • 1.2 Organiser en sous-dossiers54
      • 1.3 Insérer du code PHP dans les vues55
      • 2. Premiers pas avec Blade56
      • 2.1 Pourquoi un moteur de template ?56
      • 2.2 Syntaxe de base58
      • 3. Les variables59
      • 3.1 Afficher des données59
      • 3.2 Passer des variables aux vues60
      • 3.3 Afficher des données non protégées62
      • 4. Les directives62
      • 4.1 Définition62
      • 4.2 Boucles63
      • 4.2.1 L'affichage d'une liste63
      • 4.2.2 Les autres types de boucles64
      • 4.2.3 La variable $loop64
      • 4.3 Conditions65
      • 4.4 Piles67
      • 5. Organiser les vues68
      • 5.1 Création d'un template de base69
      • 5.1.1 Création en utilisant l'héritage69
      • 5.1.2 Création en utilisant un composant71
      • 5.2 Utilisation d'un template de base72
      • 5.2.1 Utilisation par héritage72
      • 5.2.2 Utilisation avec un composant74
      • 5.3 Les fichiers statiques75
      • 5.3.1 Le dossier public75
      • 5.3.2 Introduction à Vite77
      • 5.4 À propos du cache78
      • 6. Internationalisation78
      • 6.1 Fichiers de traduction79
      • 6.2 Définition de la langue courante80
      • 6.3 Utilisation dans les vues80
      • 6.3.1 Variables81
      • 6.3.2 Pluriel81
      • 6.4 Groupes de routes pour l'internationalisation82
      • Chapitre 5
      • Eloquent ORM
      • 1. Object Relational Mapping85
      • 1.1 À propos des modèles85
      • 1.2 Manipuler des objets86
      • 1.3 Active Record86
      • 2. Construire des modèles87
      • 2.1 Utiliser Artisan87
      • 2.1.1 Initialisation d'un modèle87
      • 2.1.2 Modèles et migrations88
      • 2.2 Créer une migration89
      • 2.2.1 Initialisation d'une table89
      • 2.2.2 Créer des colonnes90
      • 2.2.3 Exemples et conseils de création de tables93
      • 2.2.4 Mise à jour d'une table96
      • 2.2.5 Lancer les migrations97
      • 2.2.6 Rollback97
      • 3. Utiliser des modèles98
      • 3.1 Créer et enregistrer une instance de modèle98
      • 3.1.1 Instancier un modèle98
      • 3.1.2 Enregistrement d'un modèle99
      • 3.1.3 Créer et enregistrer un modèle en une ligne99
      • 3.2 Récupérer un modèle101
      • 3.2.1 Récupérer par l'identifiant101
      • 3.2.2 Récupérer par une requête102
      • 3.2.3 Récupérer ou créer103
      • 3.3 Modifier un modèle103
      • 3.3.1 Mise à jour d'un modèle103
      • 3.3.2 Mettre à jour plusieurs modèles104
      • 3.4 Supprimer un modèle105
      • 3.4.1 Supprimer un modèle105
      • 3.4.2 Supprimer plusieurs modèles105
      • 3.4.3 Soft delete106
      • 3.5 Utiliser une collection de modèles108
      • 3.5.1 Récupérer une liste108
      • 3.5.2 Requêtes complexes (Query Builder)109
      • 3.5.3 Utilisation d'un modèle : mise en pratique110
      • 3.5.4 Création du modèle111
      • 3.5.5 Création des routes113
      • 3.5.6 Création de la vue114
      • 3.5.7 Test116
      • 4. Les relations116
      • 4.1 Relations 1..1117
      • 4.1.1 Création des modèles117
      • 4.1.2 Structure des tables117
      • 4.1.3 Déclarer les relations120
      • 4.1.4 Accéder aux relations122
      • 4.2 Relations 1..n123
      • 4.2.1 Création des modèles123
      • 4.2.2 Structure des tables123
      • 4.2.3 Déclarer les relations126
      • 4.2.4 Accéder aux relations127
      • 4.3 Relations n..n129
      • 4.3.1 Création des modèles129
      • 4.3.2 Structure des tables130
      • 4.3.3 Déclarer les relations134
      • 4.3.4 Accéder aux relations135
      • 5. Mutation, accesseurs et transformation137
      • 5.1 Accesseurs137
      • 5.2 Mutateurs140
      • 6. Surveiller les performances141
      • 6.1 Nombre de requêtes SQL145
      • 6.2 Nombre de modèles instanciés146
      • 6.3 Seeders.148
      • 6.4 Eloquent en mode Strict148
      • 6.5 Conclusion150
      • Chapitre 6
      • Organiser grâce aux contrôleurs
      • 1. Définition et usage151
      • 1.1 Déplacer le code des fonctions de rappel des routes151
      • 1.2 Rappels sur le CRUD152
      • 1.3 Séparer les contrôleurs par ressource152
      • 2. Créer et utiliser un contrôleur153
      • 2.1 Créer un contrôleur CRUD avec Artisan153
      • 2.2 Structure d'un contrôleur156
      • 2.3 Lier les routes aux contrôleurs162
      • 3. Injection de dépendances163
      • 3.1 Fonctionnement163
      • 3.2 Ordre des arguments164
      • 3.3 La classe Request165
      • 3.3.1 Obtenir les informations de la requête165
      • 3.3.2 Données des formulaires167
      • 3.3.3 URI et méthodes HTTP167
      • 3.4 Autres instances injectables169
      • 4. Bilan des premiers chapitres171
      • Chapitre 7
      • Middlewares
      • 1. À propos des middlewares173
      • 1.1 Cycle de vie de l'application173
      • 1.2 Exemple du middleware d'authentification175
      • 1.3 Autres exemples176
      • 2. Créer un middleware176
      • 2.1 Utiliser Artisan176
      • 2.2 Structure d'un middleware177
      • 3. Utiliser un middleware180
      • 3.1 Middleware global180
      • 3.2 Déclaration d'alias181
      • 3.3 Utilisation sur une route unique183
      • 3.4 Utilisation sur un groupe de routes184
      • 3.5 Passer des paramètres supplémentaires185
      • Chapitre 8
      • Travailler avec les données
      • 1. Sécuriser les formulaires187
      • 1.1 Attaques CSRF187
      • 1.2 Fonctionnement du CSRF Token188
      • 1.3 Utilisation du csrf_field dans les formulaires189
      • 1.4 Requêtes Ajax189
      • 1.5 Désactiver la protection pour certaines routes190
      • 2. Valider les données191
      • 2.1 Introduction191
      • 2.2 Validation dans le contrôleur191
      • 2.2.1 Contexte191
      • 2.2.2 Logique de validation198
      • 2.2.3 Afficher les messages d'erreur201
      • 2.3 Validation dans une classe de type FormRequest203
      • 2.4 Règles de validation personnalisées205
      • 2.4.1 Utilisation d'une closure206
      • 2.4.2 Utilisation d'une classe de validation207
      • 3. Formulaires PATCH, PUT et DELETE210
      • 4. Chargement de fichiers211
      • 4.1 Configuration211
      • 4.2 Création du formulaire213
      • 4.3 Validation des données214
      • 4.4 Stockage et récupération des fichiers215
      • Chapitre 9
      • Authentification et autorisations
      • 1. Démarrer rapidement217
      • 1.1 Installation de Laravel Breeze218
      • 1.2 Le modèle User et les migrations219
      • 1.3 Les vues, les routes et les contrôleurs222
      • 1.3.1 Les vues222
      • 1.3.2 Les routes223
      • 1.3.3 Les contrôleurs227
      • 1.3.4 Utiliser le système d'authentification227
      • 2. Paramétrage avancé228
      • 2.1 Personnaliser le mail de réinitialisation de mot de passe229
      • 2.2 Événements et écouteurs : envoyer un e-mail de bienvenue229
      • 2.3 Ajouter un champ téléphone lors de l'inscription232
      • 2.3.1 Migration233
      • 2.3.2 Modification du modèle235
      • 2.3.3 Modification de la vue235
      • 2.3.4 Modification du contrôleur236
      • 3. Autres méthodes d'authentification237
      • 3.1 Laravel Socialite237
      • 3.2 Authentification manuelle239
      • 3.3 Prise de contrôle (impersonation)240
      • 3.4 Authentification HTTP241
      • 3.5 Authentification OAuth2241
      • 4. Déconnexion242
      • 5. Rappels sur la sécurité243
      • 5.1 Mots de passe243
      • 5.2 Cryptage245
      • 6. Autorisations245
      • 6.1 Gates246
      • 6.1.1 Déclarer une porte246
      • 6.1.2 Protéger à l'aide d'une porte250
      • 6.2 Policies252
      • 6.2.1 Création d'une policy252
      • 6.2.2 Protéger avec une policy254
      • 6.3 Rôles257
      • 6.3.1 Ajout d'une colonne « role »257
      • 6.3.2 Policy260
      • 6.3.3 Protéger les routes262
      • Chapitre 10
      • Les sessions et le cache
      • 1. Les sessions265
      • 1.1 Choisir un pilote265
      • 1.1.1 Stocker dans des fichiers266
      • 1.1.2 Utiliser Redis266
      • 1.1.3 Utiliser une base de données266
      • 1.2 Stocker des données267
      • 1.3 Retrouver des données267
      • 1.4 Supprimer des données268
      • 1.5 Messages flash268
      • 2. Le cache269
      • 2.1 Choisir un pilote270
      • 2.1.1 Stockage dans des fichiers270
      • 2.1.2 Redis270
      • 2.1.3 Base de données270
      • 2.2 Stocker, retrouver et supprimer des données271
      • Chapitre 11
      • Les files d'attente
      • 1. Pourquoi utiliser des files d'attente ?273
      • 2. Configuration274
      • 2.1 Pilote274
      • 2.2 Queue Worker275
      • 3. Créer et expédier des tâches276
      • 3.1 Créer une tâche276
      • 3.2 Expédier une tâche278
      • 4. Monitoring280
      • 4.1 Traitement des erreurs280
      • 4.2 Horizon281
      • Chapitre 12
      • Envoyer des e-mails
      • 1. Configuration d'un environnement local283
      • 1.1 Mailpit284
      • 1.1.1 Configuration284
      • 1.1.2 Utilisation285
      • 1.2 Autres méthodes.285
      • 1.2.1 E-mails dans les logs285
      • 1.2.2 Destinataire global286
      • 2. Préparer des e-mails287
      • 2.1 Création de la classe Mailable287
      • 2.2 Création des vues289
      • 2.2.1 Passage de données dynamiques aux vues289
      • 2.2.2 Template Blade290
      • 2.2.3 Markdown291
      • 2.2.4 Texte brut292
      • 2.3 Configuration de l'e-mail293
      • 2.3.1 Expéditeur et sujet293
      • 2.3.2 Pièces jointes294
      • 3. Envoyer des e-mails295
      • 3.1 Envoyer un e-mail immédiatement295
      • 3.2 Mise en file d'attente296
      • 3.3 Envoyer un e-mail plus tard297
      • 3.4 Afficher un e-mail sans l'envoyer297
      • 4. Utiliser des notifications298
      • 4.1 Créer une notification298
      • 4.1.1 Commande de création298
      • 4.1.2 Définir la liste des canaux299
      • 4.2 Paramétrage des différents canaux300
      • 4.2.1 E-mail300
      • 4.2.2 Slack303
      • 4.2.3 Base de données304
      • 4.2.4 SMS306
      • 4.3 Envoyer une notification307
      • 4.3.1 Envoyer à un utilisateur307
      • 4.3.2 Envoyer à plusieurs utilisateurs308
      • 4.3.3 Mettre en file d'attente309
      • 5. Choisir un pilote pour la production310
      • Chapitre 13
      • Mise en place d'une stratégie de test
      • 1. Introduction311
      • 2. Tests unitaires313
      • 2.1 Introduction313
      • 2.2 Créer un test unitaire313
      • 3. Base de données318
      • 3.1 Configuration318
      • 3.2 Migrations et transactions319
      • 3.3 Assertions323
      • 3.4 Fabriques (factories)324
      • 3.4.1 Initialisation324
      • 3.5 Utiliser les fabriques dans les tests329
      • 4. Tester des fonctionnalités331
      • 4.1 Introduction331
      • 4.2 Créer un test de fonctionnalité331
      • 5. Laravel Dusk335
      • 5.1 Introduction335
      • 5.2 Installation335
      • 5.3 Créer un test336
      • 5.3.1 Créer la classe336
      • 5.3.2 Interagir avec le navigateur338
      • 5.4 Lancer les tests341
      • 5.5 Pour aller plus loin342
      • 5.5.1 Utiliser un autre navigateur342
      • 5.5.2 Utilisation des pages343
      • 6. Automatiser le lancement des tests345
      • Chapitre 14
      • Packages et helpers
      • 1. Intégrer un package347
      • 1.1 Introduction347
      • 1.2 Choisir un package348
      • 1.3 Ajouter un package.350
      • 1.4 Mettre à jour les packages351
      • 1.5 Version partagée des packages351
      • 1.5.1 Partager le fichier composer.lock351
      • 1.5.2 Installer les dépendances352
      • 1.5.3 Mettre à jour les dépendances352
      • 1.5.4 En résumé352
      • 2. Package utiles et de qualité353
      • 3. Helper pour les chaînes de caractères354
      • 3.1 Transformer des chaînes354
      • 3.1.1 Casse : Snake, Kebabs et Camel354
      • 3.1.2 Slug355
      • 3.1.3 Limiter une chaîne à un certain nombre de caractères356
      • 3.2 Manipuler des portions de chaînes356
      • 3.2.1 Extraire une partie356
      • 3.2.2 Remplacer une partie d'une chaîne356
      • 3.3 Singulier et pluriel357
      • 3.4 Vérifier des chaînes357
      • 3.4.1 Commence ou finit par357
      • 3.4.2 Vérifier si une chaîne en contient une autre358
      • 3.4.3 Vérifier si une chaîne est similaire358
      • 3.5 Fonctions diverses359
      • 4. Helper pour les tableaux359
      • 4.1 Récupérer des éléments359
      • 4.2 Transformer un tableau362
      • 4.3 Vérifier la présence d'éléments363
      • 5. Autres helpers363
      • 5.1 Chemins et dossiers363
      • 5.2 URL364
      • 5.3 Arrêter le programme365
      • 5.4 Requêtes et réponses365
      • 5.5 Sécurité366
      • 6. Les collections366
      • 6.1 Introduction366
      • 6.2 Transformer un tableau en collection367
      • 6.3 Manipuler des collections368
      • 7. Tinker371
      • Chapitre 15
      • Déployer un site en production
      • 1. Considérations373
      • 1.1 Choisir son environnement de production374
      • 1.2 Les solutions à disposition376
      • 2. Laravel Forge377
      • 3. Préparer un serveur manuellement379
      • 3.1 Prérequis379
      • 3.1.1 Ce qu'il faut avoir379
      • 3.1.2 Ce qui sera installé379
      • 3.2 Préparer le serveur380
      • 3.2.1 Initialisation380
      • 3.2.2 Composer et NPM380
      • 3.2.3 MySQL381
      • 3.2.4 Redis382
      • 3.2.5 Firewall384
      • 3.2.6 Utilisateur.384
      • 3.3 Installer l'application385
      • 3.4 Configurer Nginx386
      • 3.5 Conclusion388
      • 4. Intégration continue et déploiement388
      • Index391

  • Origine de la notice:
    • Electre
  • Disponible - A partir du 25 août 2025 - 681.227 HUC