Formation Drupal Développeur

Cette formation porte couvre les principales notions techniques et méthodologiques pour concevoir un module personnalisé pour un site Drupal.

Un partie de la formation (~ 4H) est consacrée à l’environnement « technique » d’un projet Drupal, avec pour objectif d’apporter des connaissances générales sur :

  • Les outils de développement,
  • La configuration d’un environnement de développement, de production,
  • Le déploiement, la gestion des configurations, l’industrialisation,
  • La gestion des mises à jour de Drupal et des extensions,
  • La mise en place de procédure de développement.

L’autre partie de la formation (~ 17H) est dédiée au développement, pour créer ou maintenir un module personnalisé, avec une approche très opérationnelle sur :

  • Les APIs les plus courantes,
  • L’implémentation de différents composants : Controller, Formulaire, Block, Service…
  • La gestion du cache,
  • Les mécanismes de hook et d’Event,
  • Les règles de bonne pratique en matière de développement.

Objectifs pédagogiques

Objectifs généraux

À l’issue de la formation, vous acquerrez des notions sur :

  • Drupal en tant que framework php.
  • L’architecture de Drupal.
  • L’environnement technique d’un projet Drupal.
  • Les principales APIs du framework.
  • Les bases du développement d’un module personnalisé.

Objectifs opérationnels

À l’issue de la formation, vous serez capable de :

  • Installer et configurer un environnement de développement.
  • Utiliser les outils CLIs : Composer, Drush.
  • Créer un module personnalisé.
  • Implémenter des composants : Controller, Formulaire, Bloc, Service…
  • Implémenter des hooks, utiliser les Events.
  • Utiliser l’API Drupal et les principaux services de Drupal.
  • Déboguer.

Formation Drupal Développeur en détail

Programme

  1. L’environnement du développeur Drupal
  • Quelques généralités sur le framework.
  • Les outils CLIs Drupal : Composer, Drush.
  • Étendre le comportement de Drupal : les extensions.
  • L’installation de Drupal.
  • Configuration du système.
  1. La structure des données et la gestion des configurations
  • La notion d’entité.
  • La configuration d’une entité : champs, formulaire, affichages.
  • La déclinaison des entités : Node, Vocabulaire, User…
  • La gestion des configurations.
  1. La création d'un module personnalisé
  • L'architecture de Drupal.
  • Quelques généralités sur les modules.
  • La structure d’un module.
  • Implémenter un module.
  1. Controller, Routing et Render array
  • L’implémentation d’un Controller.
  • La classe ControllerBase.
  • Les mécanismes du routing.
  • La menu API.
  • Première approche du Render array.
  1. La manipulation des entités
  • L’entityTypeManager.
  • Les principales interfaces : Node, Term, User.
  • Accéder à la valeurs des champs.
  • Les requêtes sur les entités, les tables.
  1. Services et injection de services
  • La notion de service.
  • La classe statique \Drupal.
  • Les services natifs: l'API Drupal.
  • L’injection de service.
  • Les services personnalisés
  1. Drupal et webservice: la librairie Guzzle
  • Présentation générale de la librairie.
  • Les méthodes pour interagir avec un webservice.
  • Le service de sérialisation Drupal.
  1. Les formulaires
  • Quelques généralités sur les formulaires.
  • La classe FormBase et la construction des formulaires.
  • Champs et paramètres de configuration: l'API Drupal.
  • Validation et traitement des données du formulaire.
  • Pour aller plus loin : FormState API, Multistep, Ajax.
  • Les formulaires de configuration.
  1. Les plugins : un exemple avec les blocs
  • Quelques généralités sur les plugins.
  • Les blocs simples.
  • Les blocs configurables.
  1. La gestion du cache
  • Quelques généralités sur la gestion du cache.
  • La cache API.
  • Aparté sur le mode développement et généralités sur les conditions de tests.
  1. La notion de hook
  • Quelques généralités sur les hooks.
  • Un exemple avec le hook_help().
  • Hook simple, hook générique.
  • Focus sur le hook_theme().
  1. Les Events
  • Quelques généralités sur les events.
  • La notion de Subscriber.
  • Les Events natifs Symfony et Drupal.
  • Les Events personnalisés.
  1. Généralité sur la sécurité
  • Les interfaces de monitoring.
  • Configuration du système et protection des fichiers.
  • Sécuriser ses formulaires : quelques modules communautaires.
  • Rôle et permissions personnalisées.
  • Prévenir le cross-site scripting: la class Xss.

Public visé et pré-requis

Public

  • Développeurs web

Pré-requis

  • Avoir suivi la formation Drupal administrateur ou avoir les compétences similaires.
  • Connaître les bases de la  POO.
  • Connaître les bases du langage PHP
  • Connaître les bases de Git.

Ces pré-requis seront contrôlés et validés sous forme d’entretien téléphonique réalisé au plus tard 2 semaines avant la formation. En cas de non adéquation, des solutions alternatives seront proposées.

Personne en situation de handicap

Pour toutes questions relatives à l’accueil d’un participant présentant un handicap, merci de nous contacter préalablement avant toute inscription.

Prochaines sessions & tarifs

Formations Drupal

Drupal Développeur

À distance (FOAD) Du 2 au 4 avril 2024

Durée : 3 jours soit 21 heures
Tarif : 1800 € ht par personne

Formations Drupal

Drupal Développeur

Nantes Du 23 au 25 octobre 2024

Durée : 3 jours soit 21 heures
Tarif : 1800 € ht par personne

Formations Drupal

Drupal Développeur

Toulouse Du 26 au 28 novembre 2024

Durée : 3 jours soit 21 heures
Tarif : 1800 € ht par personne

Ingénierie pédagogique

Moyens pédagogiques et techniques

  • les supports de cours (slides) sont disponibles en ligne et distribués en début de formation (à l'aide d'un lien vers notre outil interne ou d'une version numérisée), puis fournis au format électronique à la fin de la formation
  • une salle de formation équipée d'une connexion Internet, d'un vidéoprojecteur, paperboard…
  • un ordinateur par stagiaire avec un système d'exploitation installé et les outils nécessaires

Modalités de suivi de l'exécution du programme

  • durant la formation : alternance d'apports théoriques et d’exercices pratiques et de mise en situation sous forme de travaux pratiques corrigés avec l’expert-formateur
  • en fin de formation : évaluation à chaud sur l'atteinte des objectifs pédagogiques sous forme de tour de table et de test de connaissances, d'exercices, de QCM

Moyens d'encadrement

Formation assurée par un expert-formateur PHP / Drupal.

Témoignages

Experts Développeur

David Bocquet

David Bocquet

Drupal


Nantes
Simon Georges

Simon Georges

Drupal-SEO-IA


Toulouse