Je le te recommande
Raymond CDrupal 10 Le guide complet pour le développement de solutions web robustes
3 avis
Ce guide approfondi sur Drupal 10 est destiné aux développeurs, gestionnaires de contenu et administrateurs Drupal qui aspirent à acquérir des bases solides et des techniques avancées dans le développement de solutions web robustes et évolutives. Les lecteurs y trouveront de nombreux conseils pratiques, astuces et exemples d’application qui illustrent les meilleures pratiques de développement. Bien qu’axées sur Drupal 10, une grande majorité des notions abordées restent pertinentes pour les...
Consulter des extraits du livre en ligne
Aperçu de la version papier
- Niveau Confirmé à Expert
- Nombre de pages 609 pages
- Parution décembre 2024
- Niveau Confirmé à Expert
- Parution décembre 2024
L’auteur commence par un aperçu historique de Drupal, de ses évolutions récentes et des avantages qui en font un choix privilégié pour les développeurs, comme sa modularité, sa sécurité et sa communauté active. Il compare Drupal à d’autres CMS populaires, comme WordPress et Joomla!, en soulignant ses atouts en termes de personnalisation et de flexibilité de design.
Ensuite, le livre explore l’installation de l’environnement de développement, en passant par Docker et DDEV, avant de détailler l’installation de Drupal 10. Vous apprendrez à créer et à configurer des modules personnalisés, à gérer des types de contenus et à travailler avec des entités personnalisées. Le chapitre sur les structures Drupal explore la taxonomie, les blocs, les menus et les modes d’affichage, tandis que celui sur les utilisateurs et les permissions explique comment gérer les comptes et les rôles.
Les Views, un outil puissant pour afficher du contenu, sont également couvertes avec des instructions sur leur création et leur gestion. L’auteur se penche ensuite sur la manipulation des entités, la gestion des configurations et l’internationalisation. Il met également un accent particulier sur les APIs de Drupal 10. Les formulaires ainsi que des techniques avancées comme la création de services personnalisés, les tâches planifiées et la gestion des événements sont aussi abordés.
Pour finir, ce livre traite de l’optimisation des performances et de la gestion du cache, des tests et de la mise en production, offrant un véritable guide complet pour maîtriser Drupal dans divers contextes de développement web.
Caractéristiques
- Livre (broché) - 17 x 21 cm
- ISBN : 978-2-409-04738-1
- EAN : 9782409047381
- Ref. ENI : EIDRUPAL
Caractéristiques
- HTML
- ISBN : 978-2-409-04739-8
- EAN : 9782409047398
- Ref. ENI : LNEIDRUPAL
Téléchargements
Avant-propos
- Introduction
- Public concerné et prérequis
- Objectifs
- Méthodologie
- Conclusion
Introduction à Drupal 10
- Historique et évolution
- 1. Évolution de Drupal
- 2. Nouveautés et améliorations
- Avantages de Drupal
- 1. Liberté de création
- 2. Flexibilité et extensibilité
- 3. Robustesse et sécurité
- 4. Communauté active
- 5. Écosystème modulaire
- Pourquoi choisir Drupal ?
- 1. Flexibilité et polyvalence
- a. Gestion de contenu et plus
- b. Enjeux multiples
- c. Fonctionnalités personnalisées
- 1. Flexibilité et polyvalence
- 2. Comparaison avec d’autres CMS
- a. WordPress
- b. Joomla!
- c. Magento
- d. PrestaShop
- e. Wix
- 3. Thèmes et flexibilité de design
- a. Flexibilité pour des designs personnalisés
- b. Thèmes Drupal vs thèmes d’autresCMS
- c. Adaptabilité aux besoins esthétiques
- 4. Cas d’utilisation courants
- 5. Cas où Drupal peut ne pas convenir
- 6. Conclusion
Préparation de l'environnement
- Installation de l'environnement de développement
- 1. Prérequis système
- a. Prérequis généraux
- b. Prérequis par système d’exploitation
- 1. Prérequis système
- 2. Installation de Docker
- a. Installation de Docker avec WSL2 sous Windows
- b. Installation de Docker sur macOS
- c. Installation de Docker sur Linux
- 3. Surcouche Docker pour Drupal
- a. DDEV (recommandé)
- b. Lando
- c. Docker4Drupal
- d. Docksal
- 1. Préparation de DDEV
- a. Créez un répertoire pour votre projet
- b. Configuration de DDEV
- c. Démarrage de DDEV
- a. La racine du projet
- b. Le DOCROOT
- a. Site simple
- b. Multisite
- a. Le fichier sites/default/settings.php
- b. Le fichier sites/example.settings.local.php
- c. Cas particulier : settings.ddev.php
- 1. Fichiers temporaires
- 2. Fichiers publics
- 3. Fichiers privés
- 4. Fichiers de configuration
- 1. Installer un module via Composer
- 2. Désinstaller un module Drupal
- 3. Appliquer un correctif via Composer
- 4. Mettre à jour un module
- a. Afficher les mises à jour disponibles
- b. Mettre à jour les modules
- c. Appliquer les mises à jour de la base dedonnées
- d. Reconstruire le cache Drupal
- e. Aller plus loin
Création de modules personnalisés
- Introduction
- Structure d’un module Drupal
- Création d'un module simple
- 1. Création de la structure
- 2. Fichier .info.yml
- 3. Fichier .module
- 4. Contrôleur
- 5. Fichier .routing
- 6. Reconstruire le cache
- 7. Activation du module
- 8. Vérification
- Drush pour générer du code
- Utilisation des hooks
- 1. Utiliser un hook existant
- 2. Créer ses propres hooks
- a. Alter hooks
- b. Hooks normaux
- c. Alter hooks vs hooks normaux
Types de contenu
- Introduction
- 1. Exemples courants
- Gérer les types de contenu
- 1. Créer un type de contenu
- 2. Modifier un type de contenu
- 3. Supprimer un type de contenu
- 4. Paramétrer un type de contenu
- a. Paramètres du formulaire de soumission
- b. Options de publication
- c. Paramètres d’affichage
- d. Paramètres des menus
- 5. Autres sections
- a. Gérer les champs (Manage fields)
- b. Gérer l’affichage du formulaire (Manage formdisplay)
- c. Gérer l’affichage (Manage display)
- d. Gérer les permissions (Manage permissions)
- 1. Gestion des champs
- a. Créer un champ
- b. Paramétrer le champ
- c. Finaliser le champ
- d. Réutiliser un champ existant
- a. Les widgets de champ
- b. Tester le formulaire
- a. Les formatters de champ
- b. Tester l’affichage
- c. Accéder à la liste des contenus
Entités personnalisées
- Introduction
- 1. Cas d’utilisation
- a. Suivi d’événements dans un calendrier
- b. Gestion de produits dans un site e-commerce
- c. Suivi des performances des employés
- 1. Cas d’utilisation
- 2. En résumé
- 1. Entité simple
- 2. Entité bundleable
- 3. Génération d’entitésavec Drush
- 1. Fichiers impactés
- 2. Personnalisation des champs
- 1. Fichiers impactés et adaptations
- 2. Personnalisation des champs
- 3. Champs de base (Base Fields)
- a. Avantages et inconvénients
- b. Cas d’utilisation
Structures Drupal
- Introduction
- 1. Concept de structure dans Drupal
- 2. Types de contenu et entités personnalisées
- La taxonomie
- 1. Création et gestion des vocabulaires
- a. Créer des vocabulaires
- b. Gérer les termes
- c. Ajouter des champs à un vocabulaire
- 1. Création et gestion des vocabulaires
- 2. Champ de référence à destermes de taxonomie
- 3. Bonnes pratiques
- 1. Types de blocs et blocs de contenu
- a. Gérer les types de blocs
- b. Gérer les blocs de contenus
- 1. Création et gestion des menus
- 2. Liens de menu
- a. Ajouter un lien de menu
- b. Modifier un lien de menu
- c. Supprimer un lien de menu
- 1. View Modes pour l’affichage de contenu
- a. Personnaliser un View Mode
- b. Afficher une entité dans un View Mode
- c. Créer un View Mode personnalisé
- d. Bonnes pratiques
- a. Créer un Form Mode personnalisé
- b. Afficher un Form Mode personnalisé
Utilisateurs et permissions
- Introduction
- Gérer les comptes utilisateurs
- 1. Créer un compte utilisateur
- a. Création manuelle
- b. Inscription par l’utilisateur
- 1. Créer un compte utilisateur
- 2. Administrer les comptes utilisateurs
- a. Annulation de compte utilisateur
- 3. Personnaliser les comptes utilisateurs
- a. Ajout de champs personnalisés
- b. Affichage et gestion des champs
- 1. Définition des rôles
- 2. Attribution des permissions
- a. Bonnes pratiques
- 1. Permissions simples
- a. Création d’une permission simple
- b. Utilisation dans le code
- c. Utilisation dans le fichier de routing
- a. Déclaration des permissions
- b. Création de la classe ProjectAccessControlHandler
- c. Référencement de la classe dansl’entité Project
- d. Vérification du fonctionnement
- a. Génération des permissions
- b. Déclarer la classe générantdes permissions
- c. Définir la logique d’accès
- d. Vérification du fonctionnement
Views
- Introduction
- 1. Qu’est-ce qu’une View ?
- 2. Vue d’ensemble
- a. Les composants
- b. Réglages du display
- c. Réglages de base et avancés
- 1. Définir le format
- 2. Gérer les champs
- 3. Critères de filtrage
- a. Critère de filtrage simple
- b. Critère de filtrage exposé
- a. Critère de tri simple
- b. Critère de tri exposé
- 1. Header et Footer
- 2. Absence de résultats
- 3. Pagination
- 1. Les relations
- 2. Filtres contextuels
- 3. Options du formulaire exposé
- 4. Autres réglages
Manipuler les entités
- Introduction
- Chargement des entités
- 1. Entity::load vs EntityTypeManager::load
- 2. Valeurs de champs
- a. Champ à valeur unique
- b. Champ à valeur multiple
- 3. Tester les entités
- 1. Création d’entités
- 2. Modification d’entités
- 3. Suppression d’une entité
- 1. Requêtes simples
- a. Déclaration du type d’entité
- b. Filtrer en utilisant les conditions
- c. Pagination et tri
- d. Exécution de la requête
- e. Compter les résultats
- a. Propriétés de champs
- b. Champs d’entités référencés
- c. Conditions OR
- d. Groupe de conditions (OR et AND)
- 1. Préparation du contrôleur
- 2. Renderable Array
- 3. Affichage d’un champ
- 4. Affichage d’un View Mode d’entité
Les configurations
- Introduction
- 1. Contenus et configurations
- 2. Gestion et stockage
- Exporter des configurations
- Importer des configurations
- Ignorer des configurations
- Les états (states)
- 1. Mise en maintenance du site
- 2. Autre cas d’utilisation
Langues et localisation
- Introduction
- 1. Gérer les langues
- 2. Ajout de nouvelles langues
- 3. Détection et sélection
- 4. Changement de langue
- Traduire l’interface
- 1. Administrer la traduction d’interface
- 2. Rendre traduisibles des chaînes de caractères
- a. En PHP
- b. En Twig
- c. En JavaScript
- d. Contexte de traduction
- 3. Exporter et importer des traductions
- a. Exporter des traductions
- b. Importer des traductions
- 1. Activer la traduction des contenus
- 2. Ajouter des traductions aux contenus
- 3. Views et contenus traduits
- a. Affichage exclusif des contenus traduits
- b. Affichage de la traduction avec repli sur l’original
- 1. Traduire la configuration d’entités
- 2. Traduire la configuration des champs
- 3. Traduire les configurations spécifiques
- 4. Exporter les traductions de configuration
Les formulaires
- Introduction
- Formulaire personnalisé
- 1. Les variables $form et $form_state
- 2. Form API et documentation
- 3. Les éléments de formulaire
- a. Textfield
- b. Textarea
- c. Select
- d. Checkbox
- e. Radios et Checkboxes
- 4. Les éléments spéciaux
- a. markup
- b. container
- c. submit
- d. button
- e. actions
- 5. Validation
- a. Type de champ et attributs
- b. Champ obligatoire
- c. Validation par élément
- d. Validation du formulaire
- 6. Soumission
- 7. Les states
- 8. AJAX
- a. Utilisation simple
- b. Utilisation des AJAX Callback Commands
- 1. Générer le formulaire de configuration
- 2. Sauvegarde et configuration par défaut
- 3. Lire et manipuler une configuration
- a. Lire la configuration
- b. Modifier la configuration
- c. Supprimer la configuration
Techniques avancées
- Introduction
- Librairies personnalisées
- 1. Créer et déclarer une librairie
- a. Importance de Once JS avec BigPipe
- b. Fichiers JavaScript et CSS
- 1. Créer et déclarer une librairie
- 2. Injecter une librairie
- 3. Utiliser les drupalSettings
- 1. Créer des services personnalisés
- 2. Utiliser les services personnalisés
- 3. Optimiser l’appel des services
- 1. Tâches CRON
- a. Déclencher les tâches CRON
- b. Administrer les tâches CRON
- c. Créer une tâche CRON personnalisée
- a. Créer un Queue Worker
- b. Ajouter des éléments à unequeue
- a. Préparation du Batch
- b. Ajout d’opérations
- c. Finalisation et exécution du batch
- d. Fonctions de rappels
- e. Fonction de finalisation
- f. Résultat et visualisation
- 1. S’abonner à un événement
- 2. Événements personnalisés
- 3. Déclencher les événements
Performance et cache
- Introduction
- Compression et Cache Navigateur
- 1. Activer les compressions
- 2. Browser Caching
- a. Apache et .htaccess
- b. Cache-Control max-age
- 3. Vider le cache
- 1. Modules de cache
- a. Internal Page Cache
- b. Internal Dynamic Page Cache
- a. Les différents types de Cache Tags
- b. Invalidation du cache basé sur les tags
- c. Ajout de Cache Tags
- a. Assignation de Cache Contexts
- b. Cumul des Cache Contexts
- a. Écrire dans le cache
- b. Récupérer un élémenten cache
- c. Invalider ou supprimer le cache
- d. Utiliser des Cache Tags
- 1. Créer un style d’image
- 2. Utiliser un style d’image
- a. Depuis un champ Image
- b. Depuis le code
Les plugins
- Introduction
- Bloc dynamique
- 1. Création d’un plugin de type bloc
- 2. Utilisations avancées
- a. Afficher les articles adjacents
- b. Afficher un formulaire
- 1. Création d’un élément demenu dynamique
- 2. Configuration de l’élément de menu
- 3. Intégration dans un menu spécifique
- 4. Test de l’affichage
- 1. Field Type
- 2. Field Widget
- 3. Field Formatter
- 4. Test et vérification
Thème personnalisé
- Introduction
- 1. Pourquoi utiliser un thème existant ?
- 2. Quelques thèmes notables
- Gérer les thèmes
- 1. Installer et activer un thème
- 2. Créer un sous-thème
- Structure d'un thème
- 1. Déclaration (info.yml)
- 2. Fichier .theme
- 3. Libraries
- a. SCSS et CSS
- b. JavaScript
- c. Multiple libraries
- 4. Breakpoints
- 1. Activer le mode debug
- 2. Surcharger un template
- a. Suggestions de template
- b. Identifier le template à surcharger
- c. Créer le fichier de template
- d. Enregistrer et tester
- e. Gérer les variables
- a. Créer une région
- b. Placer des blocs dans la nouvelle région
- c. Finaliser l’apparence
Chapitre 2 : une erreur de ma part ?
Raymond GBonjour, Merci d'avoir pris le temps de laisser un avis sur notre produit. N'hésitez pas à nous faire part de vos réflexions ou questions si besoin concernant le chapitre 2, nous sommes là pour vous aider. Cordialement. L’équipe editions-eni. fr
un peu lourd à lire et comprendre. Les exemples ne sont pas très clair et la première partie pour créer l'environnement de production ne fonctionnait pas
Marcel aNicolas BÉDÉ
Consultant et développeur Fullstack spécialisé dans Drupal depuis 2011, Nicolas BÉDÉ a collaboré avec diverses entreprises, des grandes sociétés aux clients plus modestes, en travaillant sur toutes les versions de Drupal depuis la 7. Expert en intégration de solutions Drupal, il contribue à la création de plateformes robustes et fonctionnelles, répondant aux besoins spécifiques de chaque projet. Passionné de jeux de rôle, Nicolas BÉDÉ utilise également Drupal comme support interactif pour partager les règles, le contenu et des outils autour de son propre univers (Worlds Awakening), enrichissant ainsi la communauté de joueurs tout en promouvant les valeurs collaboratives et innovantes de Drupal.
Dans ce livre, il transmet au lecteur toute son expertise sur ce CMS puissant.
En savoir plusDans ce livre, il transmet au lecteur toute son expertise sur ce CMS puissant.


