Drupal 8

Rattrapage 16/03/2022

Soumis par Antoine le lun 14/03/2022 - 11:19

 Ce partiel dure 4 heures

Vous devez créer un module qui permet de gérer une bibliothèque de propriétaires d'animaux

ATTENTION : votre module doit s'appeler par votre nom de famille (sans aucun caractère spécial). A la fin de l'épreuve, vous devez l'envoyer zippé à l'adresse

Partiel du 09/03/2022

Soumis par Antoine le mar 08/03/2022 - 18:09

 Ce partiel dure 4 heures

Vous devez créer un module qui permet de gérer une bibliothèque de films.

ATTENTION : votre module doit s'appeler par votre nom de famille (sans aucun caractère spécial). A la fin de l'épreuve, vous devez l'envoyer zippé à l'adresse

TP n°1: Installer et paramétrer un Drupal

Soumis par Antoine le mer 07/10/2020 - 14:07

L’association Drupalophile souhaite présenter un ensemble de ressources documentaires sur le CMS Drupal (des livres, des tutos et des vidéos). Vous êtes chargé de créer ce site en respectant les consignes du cahier des charges fourni en annexe.

Objectifs pédagogiques

A la fin de ce TP de 8 heures, je serai capable de

Installer Drupal sur votre hébergement IUT avec composer

Soumis par Antoine le ven 13/12/2019 - 12:15
Dans ce tuto vous allez apprendre à installer Drupal avec composer sur l'espace personnel proposé par l'IUT. Composer est un outils de gestion de dépendances qui fonctionne en ligne de commande depuis votre serveur.  Les étapes pour ce tuto seront Créer une base de données vide Se connecter en SSH Créer un projet avec composer Paramétrer le site

Concepts de base : vocabulaires et termes de taxonomie

Soumis par Antoine le lun 23/11/2020 - 08:50

A la base, la taxonomie est la branche des sciences naturelles qui a pour objectif de classifier les différents êtres vivants. Petit à petit, le terme a été utilisé dans d'autres sciences et désigne la science de la classification.

Les différents types de menu dans Drupal

Soumis par Antoine le lun 30/03/2020 - 17:13

Drupal 8 propose quatre types de menu.

  • les menus
  • les local task (taches locales)
  • les local actions (bouton action)
  • les contextual links (liens contextuels)

Il est important de connaitre les noms de ces différents types de menu et de savoir à quoi ils correspondent pour pouvoir trouver de la documentation. Nous allons maintenant décrire chaque type de menu.

Configurer son environnement de développement local sous Drupal 8

Soumis par Antoine le ven 20/12/2019 - 15:43

Drupal permet d’avoir plusieurs configurations. Nous allons modifier la configurer local pour développer plus rapidement. Consulter cette page pour des explication complémentaire : https://www.drupal.org/node/2598914

Gérer les permissions du dossier Default

Le dossier qui contient les fichiers de configuration se trouve à l’adresse « monsite/sites/default ». Ce dossier est protégé. Il est donc nécessaire de modifier le fichier pour obtenir les droits de lecture, écriture et exécution.

Concept de base Drupal : contenu et type de contenu

Soumis par Antoine le mer 07/10/2020 - 15:18

Drupal est un site web du type CMS c'est à dire un "Content Manager System" ou un "système de gestion de contenu". Un CMS permet de stocker des informations sur des "contenus" pour les afficher aux visiteurs. Les premiers CMS permettaient uniquement de gérer des blogs. L'utilisateur y stockait les informations sur des contenus de type articles : titre, texte, date d'écriture... Drupal est un CMS plus évolué, car il permet de stocker des informations sur n'importe quel type de contenu. Par exemple, vous pourriez stocker des informations sur

Les différents types de routes dans Drupal

Soumis par Antoine le lun 23/03/2020 - 10:45

Drupal permet de créer différents types de routes pour générer des sorties différentes. Pour définir le type de route, il faut l'indiquer dans le paramètre defaults de la route. La doc officielle sur les routes décrit 6 types de routes :

Définition d'un module dans Drupal

Soumis par Antoine le jeu 19/03/2020 - 13:39

Drupal fourni les fonctionnalités de base pour la plupart des sites web, cependant vous pouvez avoir besoin de fonctionnalités supplémentaires. C’est justement les rôles des modules.

Pour qu’un module fonctionne, il doit être installé et activé. Pour voir l’ensemble des modules installé sur votre site, il faut cliquer sur « Extension » dans le menu d’administration de votre site.

Utiliser une taxonomie pour classifier du contenu

Soumis par Antoine le lun 23/11/2020 - 09:55
Dans ce tuto, vous allez apprendre à créer un vocabulaire et y ajouter des termes de façon à classifier des articles. Vous verrez aussi comment créer une vue qui utilise ce vocabulaire.

Convertir un schéma conceptuel en types de contenu dans Drupal

Soumis par Antoine le lun 12/10/2020 - 23:33
Lors de la création d'un site web, on commence souvent par créer un schéma conceptuel des données, puis un schéma relationnel afin d'avoir une vue d'ensemble des tables et clés étrangères à créer. Cependant dans un projet Drupal, on ne va créer les tables dans la base de données. A la place, on utilise des types de contenu et des champs qui référencent des entités. Le but de ce tuto, est d'apprendre à convertir vos schémas conceptuels et relationnels en types de contenu pour Drupal.

Qu'est-ce qu'une vue sous Drupal ?

Soumis par Antoine le ven 17/04/2020 - 17:34

Le module view permet de sélectionner un ou plusieurs éléments et de les afficher sous forme de page ou de bloc. C'est ce groupe d'éléments qu'on appelle une vue.  Le module view est généralement défini comme un concepteur graphique de requêtes. Il a été créé sous Drupal 7 et comme il était très utilisé, a été intégré au cœur de Drupal 8. L'objectif de cet article est de vous expliquer ce qu'il est possible de faire. D'autres articles, vous expliqueront comment faire. Nous allons donc commencer par répondre aux questions suivantes :

Rajouter du code JS ou CSS à un module Drupal

Soumis par Antoine le dim 12/04/2020 - 14:37
Dans ce tuto pour Drupal, nous allons voir comment ajouter des fichiers CSS et JS à vos modules. De cette manière vous pourrez modifier l'apparence de vos modules et y ajouter des fonctionnalités comme des animations.

Qu'est ce qu'un Hook dans Drupal

Soumis par Antoine le sam 11/04/2020 - 15:18

Définition

Un hook est une fonction prédéfinie par Drupal ou un module. Chaque Hook est exécuté à un moment prédéfini et pourra modifier le comportement du core de drupal ou d'autres modules. Comme n'importe quelle fonction, chaque hook a un nom unique, peut utiliser des paramètres et renvoie une valeur.

Créer un lien de menu non éditable dans un module Drupal

Soumis par Antoine le dim 29/03/2020 - 22:02

Un module peut rajouter un lien dans n'importe quel menu du site. Il existe deux types de lien. Les lien éditables par l'utilisateur et les lien non éditables. Un lien de menu non éditable  ne pourra être modifié qu’en touchant au code du module. Ces liens sont créés à partir d’un fichier nom_module.links.menu.yml placé à la racine du module.

Créer un bloc non configurable dans drupal

Soumis par Antoine le lun 23/03/2020 - 11:48
Dans ce tuto Drupal nous allons créer un bloc non configurable, c'est à dire, un bloc qui ne pourra être modifié grâce à l’interface graphique de Drupal.

TP n°1 : Créer son premier module dans Drupal

Soumis par Antoine le sam 21/03/2020 - 09:51

Dans ce tp vous allez apprendre à créer votre premier module.

Objectifs pédagogiques

A la fin de ce module vous devez être capable de 

  • créer un module à la main et l'activer
  • créer une route vers un contrôleur qui accepte des arguments
  • créer un contrôleur qui renvoie un tableau "render"

Ressources utiles

Vous devez lire les deux articles suivants

Les différentes catégories d'entités dans Drupal

Soumis par Antoine le ven 20/03/2020 - 16:48

Une entité est un ensemble de données structurées. Il existe deux grandes catégories d’entités : les entités de configuration et les entités de contenu.

Superfish : Créer un menu déroulant pour un thème qui ne le prévoit pas dans Drupal

Soumis par Antoine le jeu 19/03/2020 - 15:14

Superfish est un module qui permet d'obtenir des modules déroulants avec des thèmes qui ne le prévoit pas (Bartik par exemple).

L'adresse du module sur drupal.org est https://www.drupal.org/project/superfish

Installer le module

Commencer par ajouter la librairie superfish qui se trouve à cette adresse dans le répertoire "libraries "à la racine de votre site (créer ce répertoire s'il n'existe pas encore)

Permettre le partage de contenu avec addToAny dans Drupal

Soumis par Antoine le jeu 19/03/2020 - 14:33

Le module AddToAny permet d’ajouter des boutons de partage dans des blocs ou des champs. Vous pouvez ensuite afficher le bloc à l’endroit voulu.

Installer le menu

Installer le module AddToAny qui se trouve à cette adresse. Normalement vous devriez utiliser les commandes suivantes :

Installer / Désinstaller un thème dans Drupal

Soumis par Antoine le jeu 19/03/2020 - 13:25

Un thème est un ensemble de fichier qui gère l’affichage du site web. Il existe des thèmes pour la partie administration du site (back), et d’autres pour la partie front du site. Certains thèmes sont gratuits, d’autres payants. Il est primordial de travailler avec des thèmes adaptés à la version de votre Drupal.

Vous pouvez trouver des thèmes sur Drupal.org : https://www.drupal.org/project/themes

Gérer les droits utilisateurs dans Drupal

Soumis par Antoine le jeu 19/03/2020 - 10:49

Dans Drupal, les utilisateurs ont des droits qui dépendent de leur rôle

Les différents rôles

Par défaut, il existe trois rôles :

Qu'est-ce qu'un bloc avec Drupal

Soumis par Antoine le jeu 19/03/2020 - 10:46

Dans ce tuto pour Drupal, nous allons voir comment créer un bloc. Un bloc est un élément de la mise en page de votre site qui peut contenir toutes sortes d’éléments : des vues, du texte des images. Les blocs peuvent être placés dans les régions de votre thème. Toutes les opérations de gestion des blocs se fait dans la zone Mise en page des blocs (Structure -> Mise en page des blocs.

Créer un menu dans Drupal

Soumis par Antoine le jeu 19/03/2020 - 09:36
Dans ce tuto, vous apprendrez à créer un menu et à y ajouter des liens de menu. Vous verrez aussi comment le placer sur votre site.

Créer un thème vide avec Drupal

Soumis par Antoine le lun 16/12/2019 - 11:25

Un thème est un ensemble de fichiers php, html, css, et javascript qui permettent d’afficher du contenu et de définir l’apparence d’un site web. En séparant la logique de l’apparence, il devient possible de modifier l’apparence du site web sans toucher à la partie logique.

TP n°2 : Taxonomie et médias

Soumis par Antoine le mar 17/11/2020 - 08:16
Apprenez à utiliser les taxonomies pour classifier du contenu et créer des menus ou des vues. Découvrez les modules "médias" et "médias library" pour gérer vos images et vidéos et les insérer dans des contenus.

Rendre le menu admin déroulant avec admin toolbar dans Drupal

Soumis par Antoine le mer 22/04/2020 - 15:23

Par défaut, la navigation dans l'administration de Drupal est une catastrophe. Pour accéder au moindre élément, il faut 2 clics... Le module admin toolbar, vous fera gagner énormément de temps en rendant le menu administration déroulant comme dans l'image ci-dessous :

Menu admin déroulé

 

 Pour l'installer, vous pouvez utiliser composer

Module Frenchtown : des données pour tester vos vues

Soumis par Antoine le lun 20/04/2020 - 13:45

Nous avons vu dans l'article "Qu'est ce qu'une vue", que l'objectif des vues est d'afficher plusieurs contenus en appliquant des filtres, des tris, ou des formats d'affichages. Pour pouvoir s'entraîner à créer des vues, il faut donc disposer de contenus. C'est pourquoi, vous trouverez en bas de l'article le module "frenchtown" qui rajoute 100 départements et 200 villes à votre site.

Créer un lien de menu éditable dans un module Drupal

Soumis par Antoine le dim 29/03/2020 - 23:07

Nous avons vu dans le tuto précédent, "créer des liens non éditables", qu'un module pouvait créer des liens  éditables ou non éditables. Les lien non éditables ne sont pas modifiables par l'utilisateur. Dans ce tuto, nous allons voir comment en créer des éditables. Le problème est qu les liens non éditables ne peuvent être stockés dans un fichier yaml. Nous allons donc devoir les créer lors de l'installation du module.

Utiliser la synchronisation de configuration dans Drupal

Soumis par Antoine le sam 28/03/2020 - 20:06

Dans Drupal, la configuration est l’ensemble de paramétrages d’administration qui détermine comment le site fonctionne. La configuration s’oppose au contenu du site. La configuration comprend généralement des éléments tels que le nom du site, les types de contenu, les champs, les vocabulaires de taxonomie, les vues, etc.

TP n°2 Manipuler des entités dans Drupal

Soumis par Antoine le sam 21/03/2020 - 20:04

Dans ce tp vous allez apprendre à manipuler des entités et continuer à manipuler des routes. Pour réaliser ce tuto, vous devez avoir terminé les tp précédents.

Objectifs pédagogiques

A la fin de ce module vous devez être capable de 

  • créer un module avec drush
  • rattacher un gabarit à une route
  • créer un tableau qui sera rendu automatiquement
  • charger/créer/modifier/supprimer des noeuds

Ressources utiles

Vous devez lire les articles suivants :

Utiliser Drush pour créer un squelette de module de Drupal

Soumis par Antoine le sam 21/03/2020 - 08:58

Drush peut vous faire gagner beaucoup de temps à la création d'un module grâce à la commande :

drush gen module

Cette commande va créer automatique

  • le répertoire du module,
  • le fichier nommodule.info.yml
  • le fichier nommodule.routing.yml
  • le fichier nommodule.module

Pour créer ces éléments, Drush vous posera plusieurs questions. Quand à la fin d'une question il y a un mot entre crochet, il s'agit de la réponse par défaut que vous pouvez valider en appuyant sur la touche [entrée]

Charger des entités depuis un contrôleur dans Drupal

Soumis par Antoine le ven 20/03/2020 - 16:50

Pour charger une entité, on utilise une "storage instance" à partir du service entityTypeManager. Pour utiliser ce service, il y a deux méthodes. La simple consiste à l'appeler à l'aide du code :

\Drupal::entityTypeManager()->getStorage('id_type_entité')

Il est donc primordial de connaitre les identifiants des différents types d'entités. Pour cela, il est possible d'utiliser la commande drush suivante :

Se connecter à un site Drupal

Soumis par Antoine le jeu 19/03/2020 - 16:22

Si vous êtes connecté, commencez par vous déconnecter puis cliquez sur le lien « Se connecter » qui se trouve en haut à gauche

Installer drush pour travailler avec Drupal plus rapidement

Soumis par Antoine le jeu 19/03/2020 - 16:12

Dans ce tuto pour Drupal, nous allons découvrir Drush, une librairie php qui permet d’exécuter des actions sur le site Drupal en ligne de commande. Il permet notamment de vider le cache très facilement.

Installer Drush

Il faut disposer de composer et donc de NPM et Node.js

Pour installer Drush il faut :

Installer et activer un module dans Drupal

Soumis par Antoine le jeu 19/03/2020 - 13:31

Installer un module se fait en deux étapes :

  • Télécharger le module dans le bon répertoire
  • Activer le module

Ces tâches peuvent se faire soit

Définir qui peut se créer un compte dans Drupal

Soumis par Antoine le jeu 19/03/2020 - 10:55

Dans ce tuto pour Drupal, nous allons voir qu'il existe 3 options pour définir qui peut créer un compte :

  1. seul les administrateurs peuvent créer un compte
  2. les visiteurs peuvent créer des comptes mais un administrateur doit les activer
  3. les visiteurs peuvent se créer des comptes

 Par défaut, les visiteurs peuvent créer un compte mais celui-ci doit être activé par un administrateur pour devenir actif.

Modifier un menu sous Drupal

Soumis par Antoine le jeu 19/03/2020 - 09:43

Dans ce tuto pour Drupal, nous allons voir qu'il est possible de modifier un menu pour changer son titre, sa description et sa langue. Surtout, nous verrons qu'il est possible de rajouter des liens et de définir leur ordre.

Gérer les routes du module vers un contrôleur d'un module Drupal

Soumis par Antoine le mar 17/03/2020 - 16:22

Le but d’une route est d’aiguiller l’utilisateur vers un contrôleur, en fonction de l’URL qu’il a saisi. Le contrôleur pourra alors effectuer des traitements et afficher du contenu.

Créer un contrôleur

Une route pointe vers un contrôleur. Nous allons commencer par en créer un basique. Dans le répertoire de votre module :

Attacher des librairies à un thème Drupal

Soumis par Antoine le ven 20/12/2019 - 15:12

Dans ce tuto Drupal 8 nous allons apprendre à attacher les librairies que nous avons déclaré dans le fichier « montheme.libraries.yml ». Nous allons voir qu'il est possible d'attacher une librairie pour qu'elles soit accessible sur l'ensemble du site, ou juste sur un gabarit (template)

Attacher une librairie sur toutes les page d'un site grâce au fichier « montheme.info.yml »

Les librairies attachées dans le fichier *.info.yml sont disponible sur l’ensemble du site. Il faut saisir le code suivant :

Format d'une vue Drupal : principes généraux

Soumis par Antoine le lun 05/10/2020 - 11:27

Dans l'article "créer une vue" nous avons parlé des différents affichages d'une vues : sous forme de bloc ou de page. Nous avons vu aussi qu'il était possible de définir dans le formulaire de création de la vue, son format d'affichage en choisissant un style de vue ("Grille", "Liste HTML", "Liste non mise en forme", et "Tableau") et un style de lignes ("contenu" ou "champ").

Créer une vue affichée sous forme de page dans Drupal

Soumis par Antoine le lun 05/10/2020 - 14:42

Nous avons vu qu'une "vue" est une façon d'afficher un, ou plusieurs éléments, récupérés à l'aide d'une requête sql qui a été générée grâce à l'interface graphique "view UI". Nous avons vu dans l'article sur les principes de base de l'affichage d'une vue, qu'il est possible d'afficher une page soit sous forme de page, soit sous forme de bloc. Dans cet article, nous allons voir comment créer une vue affichée sous forme de page.

Charger une entités depuis un bloc dans Drupal

Soumis par Antoine le jeu 30/04/2020 - 17:27

Imaginons que vous créez un bloc et que vous l'affichez uniquement sur des pages qui contiennent un article. Vous pouvez avoir besoin de récupérer des informations sur l'article qui est affiché. Pour cela, vous devez utiliser la méthode getParameter de la classe RouteMach

Installer Drupal console

Soumis par Antoine le dim 05/04/2020 - 00:51

Dans ce tuto pour Drupal, nous allons découvrir Drupal console, qui est un outil de ligne de commande qui permet de piloter une installation drupal.

Si vous avez installé drupal avec la méthode que nous conseillons, c'est-à-dire avec la commande composer "composer create-project drupal/recommended-project my_site_name_dir" alors drupal console est déjà installé. Vous pouvez vérifier en tapant "Drupal - v". Si ce n'est pas le cas, vous pouvez utiliser "composer require drupal/console. Attention les dernières versions ne supportent plus l'installation globale.

Créer un local task (sous menu avec onglet) dans un module Drupal

Soumis par Antoine le mar 31/03/2020 - 11:17

Dans ce tuto, nous allons apprendre à construire un local task : les menus sous forme d'onglet qui se situent au-dessus du contenu. Vous en trouverez un exemple sur la page gestion des commentaires de la partie admin de votre site  :

TP n°3 Utiliser des formulaires dans Drupal

Soumis par Antoine le lun 23/03/2020 - 18:41

Dans ce tp, vous allez apprendre à créer des formulaires pour modifier en masse des articles. Pour réaliser ce tuto, vous devez savoir créer le squelette d'un module, créer des routes et manipuler des entités

Objectifs pédagogiques

A la fin de ce tp, vous devez être capable de :

Installer Redirect pour éviter le duplicate content dans Drupal

Soumis par Antoine le jeu 19/03/2020 - 14:01

Maintenant que vous avez créé des alias, vous avez du beau duplicate content car votre contenu est accessible depuis l’adresse system et l’alias. Il est donc nécessaire de faire systématiquement des redirections 301 depuis l’adresse system vers l’alias. Pour cela, nous allons utiliser redirect

Placer un bloc dans Drupal

Soumis par Antoine le jeu 19/03/2020 - 09:58

Un bloc se place dans les régions d’un thème. Le placement des blocs est donc spécifique à un thème. Si vous changez de thème, vous devrez refaire votre placement.

Pour modifier le placement de vos blocs, vous devez vous rendre sur la page « Mise en page des blocs ». Pour cela :

Attacher un gabarit à une route qui pointe vers un contrôleur dans Drupal

Soumis par Antoine le mar 17/03/2020 - 23:55

L'objectif de ce tuto est d'attacher un gabarit (template) à une route pour gérer le html finement.

Principes 

On déclare des gabarits et des variables dans le fichier nom_module.module. Une route renvoie vers un contrôleur qui permet de valoriser les variables et qui fait appel à un template au format Twig pour les afficher.

Créer un fichier nommodule.module

Créer un fichier nommodule.module à la racine du répertoire du module et rajouter le code suivant pour déclarer un gabarit et des variables :

Modifier un gabarit dans Drupal

Soumis par Antoine le lun 16/12/2019 - 15:22

Un gabarit, ou template en anglais, est un fichier twig qui affiche du contenu. Pour modifier l'apparence de Drupal il est nécessaire des les modifier. Voici comment faire.

Passer en mode maintenance un site Drupal

Soumis par Antoine le lun 02/11/2020 - 09:30
Dans ce tuto pour Drupal, nous allons expliquer comment activer et désactiver le mode maintenance. Ensuite, nous verrons comment personnaliser le message affiché aux utilisateurs qui ne peuvent pas accéder au site. Enfin, nous verrons comment accorder le droit à une catégorie d'utilisateurs d'accéder au site.

Créer une page de base avec Drupal

Soumis par Antoine le mer 07/10/2020 - 15:07
Dans ce tuto, nous allons expliquer à quoi servent les pages de base, quelles sont leurs différences avec les articles et comment en créer.

Créer une vue affichée sous forme de bloc avec Drupal

Soumis par Antoine le lun 05/10/2020 - 15:49

Une "vue" permet d'afficher un, ou plusieurs éléments, récupérés à l'aide d'une requête sql qui a été générée grâce à l'interface graphique "view UI". Nous avons vu dans l'article sur les principes de base de l'affichage d'une vue, qu'il est possible d'afficher une page soit sous forme de page, soit sous forme de bloc. Dans cet article, nous allons voir comment créer une vue affichée sous forme de page de bloc.

Créer des local action (bouton d'action) dans un module Drupal

Soumis par Antoine le mar 31/03/2020 - 22:54

Définition et principes

Les local action sont des lien en forme de boutons qui sont généralement placés dans la partie administration. Dans l'image ci-dessous, le bouton "Ajouter un menu" est un local action.

TP n°4 : Créer un bloc configurable dans un module Drupal

Soumis par Antoine le mer 25/03/2020 - 15:35

Dans ce tp vous allez apprendre à créer des blocs configurables. Pour cela vous allez devoir apprendre à stocker des éléments de configuration. Pour réaliser ce tuto, vous devez savoir créer des formulaires comme vous l'avez vu dans le tp n°3

Objectifs pédagogiques

A la fin de ce module vous devez être capable de 

  • stocker et accéder à des éléments de configuration
  • créer des blocs configurables 

Ressources utiles

Vous devez lire les articles suivants :

Créer une entité dans Drupal

Soumis par Antoine le sam 21/03/2020 - 12:28

Principes

Pour créer une nouvelle entité, il suffit d'utiliser la méthode create() de l'interface d'une classe de stockage d'entité. Pour obtenir une classe de stockage d'entité on utilise la fonction suivante :

$storage=\Drupal::entityTypeManager()->getStorage("identifiant d'un type d'entité")

Ensuite, on peut utiliser la méthode create() soit sur la variable $storage :

Gérer les informations stockées sur les utilisateurs dans Drupal

Soumis par Antoine le jeu 19/03/2020 - 10:56

Dans ce tuto pour Drupal, nous allons voir comment il est possible de modifier le type d'informations que l'on stocke sur les utilisateurs. Drupal stocke chaque type d'information dans des champs. Par défaut les champs utilisateurs sont :

Supprimer un menu dans Drupal

Soumis par Antoine le jeu 19/03/2020 - 10:02

Dans ce tuto pour Drupal 8 et 9, nous allons voir comment supprimer un menu.

la démarche est la suivante :

Introduction à TWIG pour Drupal 8

Soumis par Antoine le ven 20/12/2019 - 16:31

Twig est le moteur de template utilisé par Drupal 8 et Symphony. Twig permet de séparer le contenu de la logique PHP. Il permet à des non développeurs de créer des templates. Dans cette partie, nous allons commencer par activer le mode debug de twig puis nous verrons les principales commandes de TWIG.

Activer le mode debug

Le mode debug de twig va nous donner plusieurs informations quand on utilise la commande inspecter du navigateur :

Définir les pages d'erreur de votre site Drupal

Soumis par Antoine le mar 03/11/2020 - 09:08
Dans ce tuto Drupal, nous allons comment paramétrer votre Drupal pour personnaliser les pages d'erreur 403 (accès refusé) et 404 (page non trouvée). Idéalement, vos utilisateurs ne devraient jamais les voir, mais vous n'êtes pas à l'abri d'un lien cassé, ou d'un utilisateur qui tente de saisir des adresses pour accéder à des pages qui lui sont interdites.

TP n°5 Création de nouveaux types de contenu et menus dans un module Drupal

Soumis par Antoine le lun 30/03/2020 - 14:55

Dans ce tp, nous allons créer un module qui permet de gérer une bibliothèque. Pour cela nous allons apprendre à créer des types de contenu lors de l'installation d'un module, gérer des rôles et des droits, et créer des liens de menu. Pour réaliser ce module, vous devez avoir réalisé les autres tp.

Objectifs pédagogiques :

A la fin de ce tp, vous devez être capable de :

Supprimer une entité dans Drupal

Soumis par Antoine le dim 22/03/2020 - 16:19

Pour supprimer une entité, il faut commencer par la charger, puis, si le contenu existe, lui appliquer la méthode delete().

Pour rappel, on utilise la méthode getStorage('identifiant_type_entité') pour obtenir une classe de stockage d'entité. Ensuite on utilise une méthode de chargement comme load ou loadmultiple (voir l'article "charger une entité")

Dans l'exemple ci-dessous, on charge le noeud 1 avant de le supprimer :

Insérer des médias dans vos contenus

Soumis par Antoine le ven 13/11/2020 - 11:45
Utiliser les modules "Média" et "Média library" pour enregistrer et insérer des images, des vidéos ou des documents dans vos articles ou autres types de contenus

Gérer les modes d'affichage d'un type de contenu avec Drupal

Soumis par Antoine le mer 14/10/2020 - 12:25
Nous verrons dans ce tuto Drupal à travers un exemple, comment modifier des modes d'affichage, comment en créer de nouveaux, comment rendre un mode d'affichage disponible pour un type de contenu, puis comment utiliser ce mode d'affichage dans des vues.

Le style de vue "Tableau" dans Drupal

Soumis par Antoine le lun 05/10/2020 - 17:13

Dans cet article nous allons présenter le style de vue "Tableau". Pour rappel, une vue est un outil qui permet de sélectionner et d'afficher un ensemble d'éléments. Le style de vue va servir à choisir quelles sont les balises HTML qui encadrent chaque élément. Comme vous vous en doutez, le style de vue "Tableau" permet de placer les éléments dans une balise <table>.

Le style de vue "Grille" dans Drupal

Soumis par Antoine le lun 05/10/2020 - 16:28
L'objectif de ce tuto Drupal est donc de présenter le style de vue grille. Pour cela, nous allons créer une vue sous forme de page qui présente les villes six par six avec une pagination. Cette vue aura le style de vue "Grille" et le style de ligne "Champs". Par la suite nous, étudierons les différents paramètres de ce style de vue.

Vérifier les entités dans Drupal

Soumis par Antoine le lun 23/03/2020 - 11:38

Avant de lancer des actions sur des entités, il peut être nécessaire de vérifier s'il s'agit d'un bien d'une entité ou son type. 

Vérifier qu'une variable contient bien une entité :

if ($entity instanceof \Drupal\Core\Entity\EntityInterface) {
}

Vérifier qu'il s'agit bien d'un noeud

if ($entity instanceof \Drupal\node\NodeInterface) {
}

Vérifier qu'il s'agit bien d'un type de contenu particulier comme un article ou une page

Le style de vue "Liste HTML" dans Drupal

Soumis par Antoine le mar 06/10/2020 - 08:51
Dans ce tuto Drupal, nous allons étudier le style de vue "Liste HTML". Pour cela, nous allons commencer par créer une vue, ensuite nous étudierons l'interface de view UI pour voir quelles sont les zones qui influence le style de vue. Enfin nous détaillerons les différents paramétrages du style de vue "Liste HTML" ainsi que les styles de lignes "Contenu" et "Champ".

Partiel du 05/05/2020

Soumis par Antoine le lun 04/05/2020 - 16:14

Ce partiel dure 4 heures

L'entreprise Immo+ est un promoteur qui permet à des agents immobiliers indépendants de vendre les appartements qu'elle construit à travers toute la France. Chaque agent dispose d'un site Drupal qu'il peut mettre en forme comme il le souhaite. Par contre, ils doivent installer le module immoplus qui va ajouter plusieurs fonctionnalités à leur site. 

Suite au passage à Drupal 8, votre entreprise est chargée de réécrire le module immoplus.

Créer un type de contenu lors de l'installation d'un module Drupal

Soumis par Antoine le dim 05/04/2020 - 00:47

Pour créer un type de contenu à l'aide d'un module, il faut rajoute les fichiers yaml qui décrivent ce type de contenu et tous ses champs dans le répertoire config/install du module.

Créer les fichiers yaml peut être très laborieux. C'est pourquoi il est conseillé de créer le type de contenu avec l'interface graphique puis de les exporter à l'aide de l'outil en ligne de commande drupal console. Pour savoir comment installer cet outil, lisez l'article "installer drupal console

Le style de vue "Liste non mise en forme" dans Drupal

Soumis par Antoine le mer 07/10/2020 - 11:13
Dans ce tuto Drupal , nous allons étudier le style de vue "Liste non mise en forme" et ses différents paramétrages. Pour illustrer notre tuto, nous créerons une vue exemple qui affiche les 5 articles les plus récents dans un bloc.  

Afficher un noeud dans un module Drupal

Soumis par Antoine le mar 07/04/2020 - 16:23

Principes

Pour afficher un noeud, il faut commencer par la charger comme décrit dans l'article "Charger des entités depuis un contrôleur". Ensuite on génère une instance de la classe view builder avec la méthode getViewBuilder() de la classe entityTypeManager puis on utilise la méthode view("entity", "view_mode" et "lang_code"). 

Afficher une vue dans un module Drupal

Soumis par Antoine le mar 07/04/2020 - 18:30

Principes

La classe views permet d'afficher des vues. Il faut donc commencer par la charger

use Drupal\views\Views;

Ensuite on récupère la vue

$view = Views::getView('liste_livre');

Enfin on génère le render array