PLB CONSULTANT : 4.3. Solutions Open Source - Gestion de contenu, e-commerce, CRM - Drupal 8 Développeur (option certification)
Organisme
92300 LEVALLOIS PERRET
Contact
Durée
21 heuresModalités
- Classe virtuelle
- Présentiel
Travaux pratiques. Auto-évaluation en début et en fin de formation. Passage de la certification Drupal 8 Développeur (en option).
Examen en présentiel, à Paris. QCM de 20 à 40 questions, durant de 30 à 60 minutes. Il porte sur la pratique et la philosophie de Drupal. Pratique de 3 à 6 mois recommandée. Prix de l'examen : 250€ HT
Prix
Public
Pour consulter les public visés, merci de vous référer au programme détaillé de chaque stage.
Pré-requis
Pour consulter les pré-requis, merci de vous référer au programme détaillé de chaque stage.
Certification
Objectifs pédagogiques
Pour consulter les objectifs pédagogiques, merci de vous référer au programme détaillé de chaque stage.
Programme détaillé
Objectifs pédagogiques :
Drupal est l’un des trois CMS (Système de Gestion de Contenu) les plus utilisés dans le monde pour créer et animer un site Internet. Il est à la base de nombreux sites de grande audience, notamment des sites de médias requérant une maintenance facile, des sites gouvernementaux ou de grandes institutions et des sites de multinationales. En France, des entreprises cotées au CAC 40 utilisent cet outil.
Logiciel Open Source écrit en PHP, il est apprécié pour la sécurité que lui confère une large communauté de développeurs, mais aussi par sa modularité et son évolutivité.
Cette formation vous apprendra à créer vos propres modules pour Drupal 8. Cette version de Drupal change profondément la façon de développer ses propres fonctionnalités. Reposant en partie sur Symfony, la programmation objet est de mise. Découvrez par la pratique comment en tirer parti afin de concevoir efficacement ses développements sous Drupal 8.
À l’issue de ce cours, le participant sera capable de :
- Créer son propre module qui sera capable d'interagir avec Drupal 8.
- Utiliser Drupal comme un framework pour accélérer ses développements maison, en s'appuyant sur ses APIs.
- Comprendre le fonctionnement global de Drupal 8 et le container (Symfony 2).
- Adapter le fonctionnement du cœur de Drupal 8 ou de modules communautaires sans toucher à leur code source.
Drupal 8 est la version installée et utilisée tout au long de la formation. Les différences entre Drupal 7 et Drupal 8 sont signalées à chaque fois que nécessaire.
Public :
- Développeurs web souhaitant exploiter Drupal comme un framework de développement et pas uniquement comme un CMS.
- Développeurs Drupal 7 souhaitant se mettre à niveau sur la dernière version 8.
Pré-requis :
- Connaître le langage PHP Objet (indispensable).
- Connaître HTML et les feuilles de style CSS (fortement recommandé)
- Connaître Drupal en tant que webmaster (conseillé)
Introduction
Présentation rapide de Drupal et de son jargon (node, taxonomie...)
Présentation et installation des outils de développement (WAMP, Editeur PHP)
Téléchargement et installation de Drupal 8
Installation des outils du développeur : module « devel » , Firebug
PHP objet : les concepts de base (classes, interfaces, injection de dépendance, PSR4, annotations...)
Création d'un module
Les fichiers nécessaires.
Structures des fichiers et autoloading
PSR-0 et PSR-4
Concepts hérités de Symfony 2 : container, services et injection de dépendance
Plugins
Qu'est-ce qu'un plugin ?
Mécanisme de découverte (fichier YAML, annotation PHP)
Exemple de plugin et implémentation
Le système de routing
Comment Drupal gère le routing./li>
Comment faire correspondre une URL à une page
Utilisation des méthodes create() et __construct()
Créer des URLs dynamiques
Ajout de liens de menu, de liens contextuels, de liens d'action et de tâche
Cache API
Comment Drupal gère le cache
Les différents types de caches
Cache API : keys, contexts, tags et max-age
Les différents modules de cache : Internal Page Cache, Internal Dynamic Page Cache et Big Pipe
Auto-placeholdering et lazy builders
Le système de blocs
Gestion des blocs avec Drupal 8
Introduction aux types de blocs
Comment créer un bloc avec Bloc Plugin
La base de données
Comprendre la couche d'abstraction BDD de Drupal
Entity API : gestion des entités de contenu et de configuration (EntityTypeManager et EntityQuery)
Se connecter à la base et effectuer des requêtes simples avec la Database API
Enregistrer ses propres données en base avec la Schema API : fichier d'installation
Les nœuds (exemple d'entité de contenu)
Qu'est-ce qu'un nœud ?
Créer un "node module"
Manipuler les nœuds programmatiquement
Intercepter les actions effectuées sur les nœuds avec les hook_entity_XXX()
Ajout d'onglet sur chaque page de nœud
Système de templating
Principes de la couche de thème : séparation fonctionnel/présentation
TWIG
Render Arrays
Déclarer son propre formattage sous forme de template
Formulaires
Créer ses propres formulaires programmatiquement avec la Form API
Gérer la validation et la soumission d'un formulaire
Formulaires AJAX
Changer la présentation d'un formulaire
Modifier un formulaire généré par Drupal ou un autre module sans toucher au code source de ce formulaire (hook_form_alter)
State API
Principe du Configuration Management : fichiers YAML, import/export
Créer un formulaire dans le back-office de Drupal
Ajouter sa propre configuration : manipulation de l'objet Config
Traduction de configuration
Sécurité
Comprendre le contrôle d’accès de Drupal
Protéger l'accès à un bloc
Protéger l'accès à une page
Créer son propre système de contrôle d'accès sous forme de service