Académique Documents
Professionnel Documents
Culture Documents
02/03/2021
2. Installation
2.1 : Prérequis
3. Administration
3.1 : Menu Structure
3.2 : Vocabulaire et termes
3.3 : Taxonomies
3.4 : Utilisateurs et rôles
3.5 : Vues
4. Développement
4.1 : Menu développement
4.2 : Module « custom »
4.3 : APIs Drupal
1- HISTOIRE
1.1 Présentation
En plus d’être un CMS, Drupal est aussi un CMF (Content Management Framework).
Drush (Drupal Shell) en est une de ces bibliothèques qui s’installe en mode développement, et facilite la réalisation de tâches de base du développeur
(Ajout/Suppression de modules, gestion du cache ...etc)
Les API Drupal constituent une vraie valeur ajoutée au développement spécifique, elles permettent l’encadrement des bonnes pratiques de codage pour
une maintenance de qualité.
- Apache : 2.4.7
- SGBD :
* MySQL : 5.7.8+
* MariaDB : 10.3.7+
* SQLite : 3.26+
* PostgreSQL : 10 (avec extension pg_trgm)
1 - Accéder au conteneur PHP et exécuter $./drush cc pour avoir la liste des caches disponibles
4 - Dans sites/development.services.yml ajouter une 5 - S’assurer que development.services.yml est bien activé dans
nouvelle clée twig.config comme ceci : settings.php
- Sur Drupal, l’activation du mode « débogage » n’est pas automatique suite à l’installation
- La commande « $ composer create-project drupal/recommended-project:9.x.x destination » permet de créer un fichier composer.json qui contient
toutes les dépendances nécessaires pour le « core »
- L’utilitaire « Drush » pour Drupal permet de réaliser proprement les actions récurrentes du développeur, les plus courante :
- Par exemple, nous pouvons installer le site via la commande « Drush » suivante :
- Nous pouvons configurer des modèles de formulaires de contact pour des sites volumineux
- Pareil pour les menus, avec une configuration des liens, navigations ou attachement à un contenu
- La présentation peut se faire sous forme de blocs dont la mise en page est encadrée par des régions
- Un bloc peut être soit relié à un module « contrib » installé ou bien personnalisé via l’interface
- Les commentaires, si on les autorise, peuvent être configurés selon le type de contenu ou la taxonomie
- Drupal nous permet de créer des vues, consultables soit via des pages avec des routes spécifiques, ou
bien incluses dans les blocs cités ci-dessus
- Le menu Types de paragraphes a été rajouté par le module « contrib » qu’on a installé précédemment
- Les deux menus Taxonomie et Types de contenu permettent de gérer la catégorisation décrite dans la
partie « Contenu »
3.2 Vocabulaire et termes
- Pour catégoriser chaque type de contenu, nous devons créer un vocabulaire
- On peut créer ensuite des termes correspondants et leurs contenus possibles, par exemple :
- Les termes sur lesquels est possible de taguer les nœuds sont rangés dans des vocabulaires
- Mais le premier est tagué grâce aux 2 termes « Terme 2 » et « Terme 3 »,
alors que le deuxième est tagué par le « Terme 1 » du même vocabulaire
- Ceci permet de classifier le contenu selon des types, puis selon des termes
de Taxonomie
- Nous allons créer les types de contenu nécessaires avec leurs taxonomies,
puis nous ajoutons à cela notre vue dynamique « Documentation »
accessible via la route /documentation
3.4 Utilisateurs et rôles
- L’utilisateur « Admin » pourrait créer d’autres utilisateurs avec possibilité de les classifier selon des rôles
- Lors de chaque création, on a la possibilité de lui attribuer un rôle et/ou un formulaire de contact personnalisé
- 4 rôles sont installés par défaut dans « Drupal » dont la description est la suivante :
- Son intégration peut être faite sous forme de bloc dans une page, ou bien sous forme de page dynamique du site
- Dans ce 2ème cas, une route spécifique lui sera attribuée, avec possibilité de sélectionner du contenu dynamiquement
- Un affichage formaté, une pagination paramétrable est des fonctions de tri sont aussi disponibles
- Pour notre site d’exemple, nous allons créer la vue « Documentation » dont la route est /documentation
- Cette vue accueillera toutes les catégories de la documentation (Langages, frameworks ...etc)
NB :
- Le nom choisi ne doit pas commencer par des lettres majuscules, et ne doit pas contenir d'espace
- Puis nous créons le dossier « templates » dans lequel nous mettrons tous nos fichier « twig » qu’on veut redéfinir en respectant l’arborescence du thème
de base « Zymphonies »
zymphonies_theme_override.info.yml zymphonies_theme_override.libraries.yml
4.2 Custom module
- Nous utilisons le fichier « zymphonies_theme_override.module » pour surcharger les fichiers de template « twig » et attacher notre fichier de style.
4.2 Custom module
- Installons maintenant notre module via « Drush » :
- $ ./drush en zymphonies_theme_override -y
- Le lien https://www.drupal.org/docs/drupal-apis liste toutes les APIs Drupal ajoutées ou mises à jour depuis la version 8
Merci !