1. Livres et vidéos
  2. Laravel - Un framework efficace pour développer vos applications PHP

Laravel Un framework efficace pour développer vos applications PHP

  • Accès illimité 24h/24, 7J/7
  • Tous les livres en ligne, les vidéos et les cours enregistrés ENI
  • Plus de 10 nouveautés livres et vidéos chaque mois
  • Les nouveautés disponibles le jour de leur sortie
  • Accès 100% en ligne
  • En stock
  • Expédié en 24h00
  • Livraison à partir de 0,01 €
  • Version en ligne offerte pendant 1 an
  • 1 h d'accès gratuit à tous nos livres et vidéos pour chaque commande
  • Accessible immédiatement
  • Version HTML
  • Accès illimité 24h/24, 7J/7

Présentation

Ce livre s'adresse aux développeuses et développeurs qui souhaitent découvrir Laravel 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.

L'auteur commence 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 d'un formulaire. Vous apprendrez également à mettre en place un système d'authentification et à gérer les autorisations, à utiliser les sessions et les files d'attentes et à planifier l'envoi d'email. Pour finir, l'auteur traite 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 sera en mesure de développer des applications PHP robustes et fiables avec Laravel.


Les chapitres du livre :
Avant-propos – Installation – Premiers pas – Créer des routes – Utiliser des vues – Eloquent ORM – Organiser grâce aux contrôleurs – Filtrer et décorer avec les middlewares – Traiter des formulaires – Authentification et autorisations – Les sessions et le cache – Les files d'attente – Envoyer des e-mails – Tests automatisés Créer et utiliser des composants – Assistants – Déployer un site en production

Table des matières

  • Avant-propos
    • 1. Introduction
    • 2. À qui s’adresse ce livre ?
    • 3. Prérequis
    • 4. Pourquoi choisir Laravel ?
  • Installation
    • 1. Introduction
    • 2. macOS
      • 2.1 À propos de Valet
      • 2.2 Installation de Valet
        • 2.2.1 Installer Homebrew
        • 2.2.2 Installer PHP7
        • 2.2.3 Installer Composer
        • 2.2.4 Installer Valet
        • 2.2.5 Créer un dossier de travail
      • 2.3 Créer une application Laravel
        • 2.3.1 Télécharger Laravel
        • 2.3.2 Créer un premier site
      • 2.4 Accéder au site
        • 2.4.1 Tester en local
        • 2.4.2 Partager un site
        • 2.4.3 HTTPS
    • 3. Windows
      • 3.1 Choisir une méthode d'installation
        • 3.1.1 Difficultés d'installation avec Windows
        • 3.1.2 Homestead : une VM Ubuntu sous Windows
      • 3.2 Installation d'Homestead
        • 3.2.1 À propos de la virtualisation
        • 3.2.2 VirtualBox et Vagrant
        • 3.2.3 Terminal
        • 3.2.4 Git
        • 3.2.5 Installer et initialiser Homestead
        • 3.2.6 Créer une clé SSH
        • 3.2.7 Créer un dossier de travail
        • 3.2.8 Modifier le fichier Homestead.yaml
      • 3.3 Créer une application Laravel
        • 3.3.1 Installer Composer
        • 3.3.2 Télécharger Laravel
        • 3.3.3 Créer un site
        • 3.3.4 Configurer le site pour Homestead
      • 3.4 Accéder au site
      • 3.5 Utiliser Homestead
    • 4. Linux
      • 4.1 Installation rapide
    • 5. Autres méthodes d’installation
      • 5.1 Artisan Serve
      • 5.2 WampServer, XAMPP, MAMP et EasyPHP
      • 5.3 Laragon
      • 5.4 Valet pour Windows
      • 5.5 Docker
      • 5.6 Homestead pour macOS et Linux
      • 5.7 Installation manuelle
  • Premiers pas
    • 1. Introduction
    • 2. Structure de l’application
    • 3. Configuration
      • 3.1 Environnement
      • 3.2 Quelques éléments à configurer
    • 4. Choisir une base de données
      • 4.1 Quelle base de données ?
      • 4.2 PostgreSQL
        • 4.2.1 Installer PostgreSQL
        • 4.2.2 Configuration
      • 4.3 MySQL
        • 4.3.1 Installer MySQL
        • 4.3.2 Configuration
    • 5. Utiliser Artisan
    • 6. Commandes utiles pour déboguer
      • 6.1 dd
      • 6.2 dump
      • 6.3 Log
  • Créer des routes
    • 1. Prise en main
      • 1.1 Définir une route
      • 1.2 Les méthodes HTTP
      • 1.3 Choisir les adresses des routes
      • 1.4 La fonction de rappel
    • 2. Paramètres des routes
      • 2.1 Déclarer des paramètres
      • 2.2 Utiliser les paramètres capturés
      • 2.3 Utiliser plusieurs paramètres
      • 2.4 Paramètres optionnels
    • 3. Réponses
      • 3.1 Les types de réponses
      • 3.2 Les réponses textuelles
      • 3.3 Les réponses JSON
      • 3.4 Les réponses HTML
      • 3.5 Les redirections
    • 4. Groupes de routes
      • 4.1 Préfixes de routes
      • 4.2 Sous-domaines
      • 4.3 Autres usages
    • 5. Routes et vues
  • Utiliser des vues
    • 1. Créer des vues
      • 1.1 Afficher du HTML
      • 1.2 Organisation en sous-dossiers
      • 1.3 Insérer du code PHP dans les vues
    • 2. Premiers pas avec le moteur de gabarit Blade
      • 2.1 Pourquoi un système de gabarit ?
      • 2.2 Syntaxe de base
    • 3. Les variables
      • 3.1 Afficher des données
      • 3.2 Passer des variables aux vues
      • 3.3 Afficher des données non protégées
    • 4. Directives
      • 4.1 Définition
      • 4.2 Boucles
        • 4.2.1 Afficher une liste
        • 4.2.2 Autres types de boucles
        • 4.2.3 La variable $loop
      • 4.3 Conditions
    • 5. Organiser les vues
      • 5.1 Héritage de gabarit et mise en page
        • 5.1.1 Créer une base
        • 5.1.2 Hériter de la base et créer des sections
        • 5.1.3 En résumé
      • 5.2 Les fichiers statiques
        • 5.2.1 Le dossier public
        • 5.2.2 Introduction à Laravel Mix
      • 5.3 Inclusions
      • 5.4 Piles
      • 5.5 Composants
      • 5.6 À propos du cache
    • 6. Internationalisation
      • 6.1 Fichiers de traductions
      • 6.2 Définition de la langue courante
      • 6.3 Utilisation dans les vues
        • 6.3.1 Variables
        • 6.3.2 Pluriel
      • 6.4 Groupes de routes pour l’internationalisation
    • 7. En résumé
  • Eloquent ORM
    • 1. Object Relational Mapping
      • 1.1 À propos des modèles
      • 1.2 Manipuler des objets
      • 1.3 Active Record
    • 2. Construire des modèles
      • 2.1 Utiliser Artisan
        • 2.1.1 Initialisation d’un modèle
        • 2.1.2 Modèles et migrations
      • 2.2 Créer une migration
        • 2.2.1 Initialisation d’une table
        • 2.2.2 Créer des colonnes
        • 2.2.3 Exemples et conseils de création de tables
        • 2.2.4 Mise à jour d’une table
        • 2.2.5 Lancer les migrations
        • 2.2.6 Rollback
      • 2.3 Lier les propriétés aux colonnes
        • 2.3.1 Champs dates
        • 2.3.2 Autres propriétés
    • 3. Utiliser les modèles
      • 3.1 Créer et enregistrer une instance de modèle
        • 3.1.1 Instancier un modèle
        • 3.1.2 Enregistrement d’un modèle
        • 3.1.3 Créer et enregistrer un modèle en une ligne
      • 3.2 Récupérer un modèle
        • 3.2.1 Récupérer par l’identifiant
        • 3.2.2 Récupérer par une requête
        • 3.2.3 Récupérer ou créer
      • 3.3 Modifier un modèle
        • 3.3.1 Mise à jour d’un modèle
        • 3.3.2 Mettre à jour plusieurs modèles
      • 3.4 Supprimer un modèle
        • 3.4.1 Supprimer un modèle
        • 3.4.2 Supprimer plusieurs modèles
        • 3.4.3 Soft delete
      • 3.5 Utiliser une collection de modèles
        • 3.5.1 Récupérer une liste
        • 3.5.2 Requêtes complexes (Query Builder)
      • 3.6 Utilisation d’un modèle : mise en pratique
        • 3.6.1 Création du modèle
        • 3.6.2 Création des routes
        • 3.6.3 Création de la vue
        • 3.6.4 Test
    • 4. Organiser les modèles
      • 4.1 Espace de noms par défaut
      • 4.2 Choisir un autre espace de noms
    • 5. Les relations
      • 5.1 Relations 1..1
        • 5.1.1 Création des modèles
        • 5.1.2 Structure des tables
        • 5.1.3 Déclarer les relations
        • 5.1.4 Accéder aux relations
      • 5.2 Relations 1..n
        • 5.2.1 Création des modèles
        • 5.2.2 Structure des tables
        • 5.2.3 Déclarer les relations
        • 5.2.4 Accéder aux relations
      • 5.3 Relations n..n
        • 5.3.1 Création des modèles
        • 5.3.2 Structure des tables
        • 5.3.3 Déclarer les relations
        • 5.3.4 Accéder aux relations
    • 6. Mutation, accesseurs et transformation
      • 6.1 Accesseurs
      • 6.2 Mutateurs
      • 6.3 Transformation
    • 7. Requêtes manuelles
  • Organiser grâce aux contrôleurs
    • 1. Définition et usage
      • 1.1 Qu'est-ce qu’un contrôleur ?
      • 1.2 Déplacer le code des fonctions de rappel des routes
    • 2. Créer et utiliser un contrôleur
      • 2.1 Créer un contrôleur avec Artisan
      • 2.2 Structure d’un contrôleur
      • 2.3 Lier une route à un contrôleur
      • 2.4 Variables
        • 2.4.1 Passer un paramètre à un contrôleur
        • 2.4.2 Valeurs optionnelles
    • 3. Dépendances
      • 3.1 Injection de dépendance
        • 3.1.1 Fonctionnement
        • 3.1.2 Ordre des arguments
      • 3.2 La classe Request
        • 3.2.1 Obtenir les informations de la requête
        • 3.2.2 Données des formulaires
        • 3.2.3 URI et méthodes HTTP
      • 3.3 Autres instances injectables
    • 4. Organiser une application
      • 4.1 Lister des routes
      • 4.2 Espaces de noms
      • 4.3 Des contrôleurs CRUD de ressources
        • 4.3.1 Rappels sur le CRUD
        • 4.3.2 Séparer les contrôleurs par ressource
        • 4.3.3 Contrôleur de ressources
    • 5. Bilan des premiers chapitres
  • Filtrer et décorer avec les middlewares
    • 1. À propos des middlewares
      • 1.1 Cycle de vie de l’application
      • 1.2 Exemple du middleware d’authentification
      • 1.3 Autres exemples
    • 2. Créer un middleware
      • 2.1 Utiliser Artisan
      • 2.2 Structure d’un middleware
    • 3. Utiliser un middleware
      • 3.1 Middleware global
      • 3.2 Middleware pour une route
        • 3.2.1 Déclaration
        • 3.2.2 Utilisation
      • 3.3 Middleware pour un groupe de routes
        • 3.3.1 Déclaration
        • 3.3.2 Utilisation
      • 3.4 Middleware pour un contrôleur
  • Traiter des formulaires
    • 1. Sécuriser les formulaires
      • 1.1 Attaques CSRF
      • 1.2 Fonctionnement du CSRF Token
      • 1.3 Utilisation du csrf_field dans les formulaires
      • 1.4 Requêtes Ajax
      • 1.5 Désactiver la protection pour certaines routes
    • 2. Valider les données
      • 2.1 Introduction
      • 2.2 Écrire les règles de validation
        • 2.2.1 Contexte
        • 2.2.2 Logique de validation dans les contrôleurs
        • 2.2.3 Règles disponibles
        • 2.2.4 Enregistrement en base de données
      • 2.3 Afficher les messages d’erreur
        • 2.3.1 La variable $errors
        • 2.3.2 Affichage dans la vue
        • 2.3.3 Traduction des messages d’erreur
        • 2.3.4 Récupérer les anciennes valeurs du formulaire
      • 2.4 Afficher un message de succès
        • 2.4.1 Contrôleur
        • 2.4.2 Vue
      • 2.5 Méthode de validation alternative
    • 3. Formulaires PATCH, PUT et DELETE
    • 4. Upload de fichiers
      • 4.1 Création du formulaire
      • 4.2 Validation des données
      • 4.3 Récupérer les fichiers
      • 4.4 Stocker les fichiers
        • 4.4.1 Stocker sur le serveur
        • 4.4.2 Paramétrer un autre espace de stockage
        • 4.4.3 Dossier public
  • Authentification et autorisations
    • 1. Démarrer rapidement
      • 1.1 Installation
      • 1.2 Le modèle User et les migrations
      • 1.3 Les vues, les routes et les contrôleurs
        • 1.3.1 Les vues
        • 1.3.2 Les routes
        • 1.3.3 Les contrôleurs
      • 1.4 Utiliser le système d’authentification
      • 1.5 Espaces privés : protéger les routes
    • 2. Paramétrage avancé
      • 2.1 Personnaliser le mail de réinitialisation de mot de passe
      • 2.2 Événements et écouteurs : envoyer un mail de bienvenue
      • 2.3 Ajouter un champ téléphone lors de l’inscription
        • 2.3.1 Migration
        • 2.3.2 Modification du modèle
        • 2.3.3 Modification de la vue
        • 2.3.4 Modification du contrôleur
    • 3. Autres méthodes d’authentification
      • 3.1 Laravel Socialite
      • 3.2 Authentification manuelle
      • 3.3 Prise de contrôle (impersonation)
      • 3.4 Authentification HTTP
      • 3.5 Laravel Passport
    • 4. Déconnexion
    • 5. Rappels sur la sécurité
      • 5.1 Mots de passe
      • 5.2 Cryptage
    • 6. Autorisations
      • 6.1 Portes
        • 6.1.1 Déclarer une porte
        • 6.1.2 Protéger à l’aide d’une porte
      • 6.2 Politiques d’autorisation
        • 6.2.1 Création d’une politique d’autorisation
        • 6.2.2 Protéger avec une politique d’autorisation
      • 6.3 Rôles
        • 6.3.1 Ajout d’une colonne « role »
        • 6.3.2 Politique d’autorisation
        • 6.3.3 Protéger les routes
  • Les sessions et le cache
    • 1. Les sessions
      • 1.1 Choisir un pilote
        • 1.1.1 Stocker dans des fichiers pour le développement
        • 1.1.2 Utiliser Redis
        • 1.1.3 Utiliser une base de données
      • 1.2 Stocker des données
      • 1.3 Retrouver des données
      • 1.4 Supprimer des données
      • 1.5 Messages flash
    • 2. Le cache
      • 2.1 Choisir un pilote
        • 2.1.1 Stockage dans des fichiers
        • 2.1.2 Redis
        • 2.1.3 Base de données
      • 2.2 Stocker, retrouver et supprimer des données
  • Les files d’attente
    • 1. Introduction
      • 1.1 Pourquoi utiliser des files d’attente ?
    • 2. Configuration
      • 2.1 Pilote
      • 2.2 Queue Worker
    • 3. Créer et expédier des tâches
      • 3.1 Créer une tâche
      • 3.2 Expédier une tâche
    • 4. Monitoring
      • 4.1 Traitement des erreurs
      • 4.2 Horizon
  • Envoyer des e-mails
    • 1. Développement local
      • 1.1 Mailtrap
        • 1.1.1 Configuration
        • 1.1.2 Utilisation
      • 1.2 Autres méthodes
        • 1.2.1 E-mails dans les logs
        • 1.2.2 Destinataire global
    • 2. Préparer des e-mails
      • 2.1 Création de la classe Mailable
      • 2.2 Création des vues
        • 2.2.1 HTML
        • 2.2.2 Markdown
      • 2.3 Configuration de l’e-mail
        • 2.3.1 Passer des données
        • 2.3.2 Expéditeur
        • 2.3.3 Sujet des e-mails
      • 2.4 Pièces jointes
    • 3. Envoyer des e-mails
      • 3.1 Envoyer un e-mail immédiatement
      • 3.2 Mise en file d’attente
      • 3.3 Envoyer un e-mail plus tard
      • 3.4 Afficher un e-mail sans l’envoyer
    • 4. Utiliser des notifications
      • 4.1 Créer une notification
        • 4.1.1 Commande de création
        • 4.1.2 Définir la liste des canaux
      • 4.2 Paramétrage des différents canaux
        • 4.2.1 E-mail
        • 4.2.2 Slack
        • 4.2.3 Base de données
        • 4.2.4 SMS
      • 4.3 Envoyer une notification
        • 4.3.1 Envoyer à un utilisateur
        • 4.3.2 Envoyer à plusieurs utilisateurs
        • 4.3.3 Mettre en file d’attente
    • 5. Choisir un pilote en environnement de production
      • 5.1 Amazon SES
      • 5.2 Mailgun
      • 5.3 SMTP
  • Tests automatisés
    • 1. Introduction
    • 2. Tests unitaires
      • 2.1 Introduction
      • 2.2 Créer un test unitaire
      • 2.3 Lancer les tests
    • 3. Base de données
      • 3.1 Configuration
        • 3.1.1 Modifier le fichier de configuration
        • 3.1.2 Mettre à jour le fichier phpunit.xml
      • 3.2 Migrations et transactions
      • 3.3 Assertions
      • 3.4 Fabriques
        • 3.4.1 Initialisation
        • 3.4.2 Utiliser les fabriques dans les tests
    • 4. Tester des fonctionnalités
      • 4.1 Introduction
      • 4.2 Créer un test de fonctionnalité
      • 4.3 Lancer les tests
    • 5. Laravel Dusk
      • 5.1 Introduction
      • 5.2 Installation
      • 5.3 Créer un test
        • 5.3.1 Créer la classe
        • 5.3.2 Interagir avec le navigateur
      • 5.4 Lancer les tests
      • 5.5 Pour aller plus loin
        • 5.5.1 Utiliser un autre navigateur
        • 5.5.2 Utilisation des pages
    • 6. Simulation
    • 7. Automatiser le lancement des tests
  • Créer et utiliser des composants
    • 1. Intégrer un composant
      • 1.1 Introduction
      • 1.2 Choisir un composant
      • 1.3 Ajouter un composant
      • 1.4 Mettre à jour les composants
      • 1.5 Version partagée des composants
        • 1.5.1 Partager le fichier composer.lock
        • 1.5.2 Installer les dépendances
        • 1.5.3 Mettre à jour les dépendances
        • 1.5.4 En résumé
    • 2. Composants utiles et de qualité
    • 3. Créer ses propres composants
      • 3.1 Introduction
      • 3.2 Composant Laravel ou PHP
      • 3.3 Réaliser un composant pour Laravel
        • 3.3.1 ServiceProvider
        • 3.3.2 Routes
        • 3.3.3 Contrôleurs
        • 3.3.4 Vues
        • 3.3.5 Configuration
        • 3.3.6 Migrations
      • 3.4 Mettre à disposition un composant (Packagist)
        • 3.4.1 Packagist et Composer
        • 3.4.2 Fichier composer.json
        • 3.4.3 Package Discovery pour les composants Laravel
        • 3.4.4 Publier un composant
  • Assistants
    • 1. Introduction
    • 2. Manipuler des chaînes de caractères
      • 2.1 Transformer des chaînes
        • 2.1.1 Casse : Serpents, Kebabs et Chameaux
        • 2.1.2 Slug
        • 2.1.3 Limiter une chaîne à un certain nombre de caractères
      • 2.2 Manipuler des portions de chaînes
        • 2.2.1 Extraire une partie
        • 2.2.2 Remplacer une partie d’une chaîne
      • 2.3 Singulier et pluriel
      • 2.4 Vérifier des chaînes
        • 2.4.1 Commence ou finit par...
        • 2.4.2 Vérifier si une chaîne en contient une autre
        • 2.4.3 Vérifier si une chaîne est similaire
      • 2.5 Fonctions diverses
    • 3. Fonctions sur les tableaux
      • 3.1 Récupérer des éléments
      • 3.2 Transformer un tableau
      • 3.3 Vérifier la présence d’éléments
    • 4. Autres fonctions assistantes
      • 4.1 Chemins et dossiers
      • 4.2 URL
      • 4.3 Arrêter le programme
      • 4.4 Requêtes et réponses
      • 4.5 Sécurité
    • 5. Les collections
      • 5.1 Introduction
      • 5.2 Transformer un tableau en collection
      • 5.3 Manipuler des collections
    • 6. Tinker
  • Déployer un site en production
    • 1. Considérations
      • 1.1 Choisir son environnement de production
      • 1.2 Les solutions à disposition
    • 2. Laravel Forge
    • 3. Préparer un serveur manuellement
      • 3.1 Prérequis
        • 3.1.1 Ce qu’il faut avoir
        • 3.1.2 Ce qui sera installé
      • 3.2 Préparer le serveur
        • 3.2.1 Initialisation
        • 3.2.2 Composer
        • 3.2.3 PostgreSQL
        • 3.2.4 Firewall
        • 3.2.5 Utilisateur
      • 3.3 Installer l’application
      • 3.4 Configurer Nginx
      • 3.5 Désactiver l’authentification par mot de passe
        • 3.5.1 Créer un utilisateur pour se connecter
        • 3.5.2 Protéger l’authentification par clé SSH uniquement
      • 3.6 HTTPS
      • 3.7 Mise à jour
      • 3.8 Conclusion
    • 4. Intégration continue et déploiement
    • Index

Auteur

Raphaël HUCHETEn savoir plus

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.

Caractéristiques

  • Niveau Confirmé à Expert
  • Nombre de pages 391 pages
  • Parution mai 2018
    • Livre (broché) - 17 x 21 cm
    • ISBN : 978-2-409-01378-2
    • EAN : 9782409013782
    • Ref. ENI : EILAR
  • Niveau Confirmé à Expert
  • Parution mai 2018
    • HTML
    • ISBN : 978-2-409-01380-5
    • EAN : 9782409013805
    • Ref. ENI : LNEILAR