Planète

Par kgaut
Kevin Gautreau

Drupal 8 - Créer une page d'administration « overview » avec tous les sous-menus

Sur un site drupal 8, j'ai pour habitude de créer un élément de menu spécifique dans la barre d'administration qui comprend toutes les parties un peu métier du site.

La plupart du temps cette route renvoie vers une méthode « dashboard » d'un AdminController qui au mieux affiche quelques informations.

Voici comment transformer cette route, en listes des sous-menus, à la manière de la page « Configuration ».

Dans mon_module.routing.yml :

mon_module.admin.dashboard:  path: '/admin/mon_module/dashboard'  defaults:    _controller: '\Drupal\system\Controller\SystemController::overview'    link_id: 'mon_module.admin.dashboard'    _title: 'dashboard'  requirements:    _permission: 'access mon_module dashboard'

et voila le résultat :

Dashboard Overview

Pour information, voici comment ajouter cette route à la barre d'administration (dans mon cas en première place) :

dans le fichier mon_module.links.menu.yml :

mon_module.admin.dashboard:  title: 'Mon Module'  route_name: mon_module.admin.dashboard  description: 'Mon Module dashboard'  parent: system.admin  weight: -20

 

Par kgaut
Kevin Gautreau

Premier regard sur Claro, le futur thème d'administration de drupal 8 et 9

Le thème d'administration de drupal 8 est seven, comme son nom l'indique il date de la version 7 de drupal, en 2011. Il a reçu un petit coup de brosse lors de la sortie de drupal 8 améliorant entres autre les aspects « responsives » du thème.

Un nouveau thème d'administration « Claro » devrait faire son apparition dans la version 8.8 de drupal (prévue pour le 4 décembre 2019). Ce thème sera en mode « expérimental », désactivé par défaut, et il sera mentionné, qu'il est là à des fins de tests uniquement.

Mais on peut dès maintenant tester ce thème sur des version antérieures de drupal 8 et remonter les soucis que l'on rencontre.

Rien de bien révolutionnaire, un thème plus aéré, un peu plus clair, une augmentation des contrastes pour l'accessibilité. Une amélioration du rendu sur petits écrans.

 

Écran de rédaction de contenu :

En responsive :

C'est un bon début ! Le thème est un peu trop lumineux pour mes yeux fragiles de développeurs qui préfère les thèmes sombres.

J'ai pour habitude d'utiliser le thème adminimal pour l'administration, on verra ce que donne l'évolution de Claro.

Pour installer claro via composer :

composer require drupal/claro

Pour suivre la liste des taches pour stabiliser claro afin qu'il arrive dans le core de drupal : https://www.drupal.org/project/drupal/issues/3066007

La page du thème sur drupal.org : https://www.drupal.org/project/claro

 

Par KarimB
Karim Boudjema
Je suis Karim Boudjema ou KarimB en ligne. Je suis belge, développeur Drupal et aussi administrateur d'entreprises. Je vis pour l'instant à Cochabamba, en Bolivie. Quand j'ai découvert Drupal 4.7 en 2008 (et oui… il y a 10 ans), j'ai tout suite senti que ce serait un changement important dans le monde du développement web. Et ce fut le cas!

Le piège du cache tag 'node_list' dans les views de Drupal8

Le cache tag node_list est géneré automatiquement lorsque nous créons une vue qui liste des entititées de type node sous Drupal 8. Ce cache tag va invalider le cache de toutes les vues qui listent n'importe quel sorte de nodes quand nous réalisons une opération CUD (create, update, delete) sur des nodes.

A première vue cela semble une excellente stratégie d'invalidation du cache vu que lorsque nous modifions un node lors d'une opération CUD, le cache de toutes les vues qui affichent des nodes sera invalidé pour pouvoir montrer la dernière modification.
(pour voir les cache tags dans votre header, habilitez votre settings.local.php)

Par kgaut
Kevin Gautreau

Drupal 8 et composer, résoudre le problème « Package type "drupal-console-library" is not supported »

Sur des projets j'ai depuis quelques jours, lors d'un composer install, l'erreur suivante arrive :

Package type "drupal-console-library" is not supported

Pas encore eu le temps de creuser la cause, mais une solution que j'ai trouvé est d'ajouter la gestion des « drupal-console-library » dans la section installer-paths de mon fichier composer.json en ajoutant la ligne suivante :

  1. "vendor/drupal/{$name}": ["type:drupal-console-library"],

Voici la section en entier :

  1. "installer-paths": {
  2. "web/core": ["type:drupal-core"],
  3. "vendor/drupal/{$name}": ["type:drupal-console-library"],
  4. "web/libraries/{$name}": ["type:drupal-library"],
  5. "web/modules/_contrib/{$name}": ["type:drupal-module"],
  6. "web/profiles/_contrib/{$name}": ["type:drupal-profile"],
  7. "web/themes/_contrib/{$name}": ["type:drupal-theme"],
  8. "drush/_contrib/{$name}": ["type:drupal-drush"]
  9. }

Si quelqu'un a une idée de la raison, je suis preneur !

Recevoir un journal d'activité par mail avec le module Drupal 8 entity Activity

Dans un précédent billet j'ai eu l'occasion de présenter le module Entity Activity qui nous permet de mettre en place un système de notification sur tout type d'entité de contenu de Drupal 8, selon les 3 principales actions de leur cycle de vie : création, mise à jour et suppression. Depuis la version bêta 8, le module Entity Activity intègre un sous-module, Entity Activity Mail, qui nous permet désormais d'envoyer par mail un résumé des notifications générées pour chaque utilisateur, selon une fréquence qui est paramétrable par chaque utilisateur. Découvrons cette nouvelle fonctionnalité.

Par Iloofo
Iloofo

Mon Drupal est en fin de vie

Mon Drupal est en fin de vie Drupal 8 timelineFabien CLÉMENT
mar 20/08/2019 - 12:24

Pourquoi il est important de passer de Drupal 7 a Drupal 8 pour être pret à passer à Drupal 9.

En septembre 2018, à l'occasion du Drupal Europe, Dries Buytaert, le fondateur de Drupal à annoncé la fin de vie de Drupal 7 et de Drupal 8 pour novembre 2021.

Quand Drupal 9 sort-il ?

Drupal 9 est prévu dans sa version stable pour juin 2020.

Catégorie
Tags
Par Iloofo
Iloofo

Mon Drupal est en fin de vie

Pourquoi il est important de passer de Drupal 7 a Drupal 8 pour être pret à passer à Drupal 9.

En septembre 2018, à l'occasion du Drupal Europe, Dries Buytaert, le fondateur de Drupal à annoncé la fin de vie de Drupal 7 et de Drupal 8 pour novembre 2021.

Quand Drupal 9 sort-il ?

Drupal 9 est prévu dans sa version stable pour juin 2020.

Qu'est-ce qu'une fin de vie pour une version de logiciel ?

La fin de vie signifie que le logiciel, dans cette version majeure n'aura plus aucune correction de sécurité. Si des failles de sécurités sont découvertes et publiées, elles pourront être exploitées car la communauté ne fournira plus de mise à jour de ces versions.

Comment faire pour éviter cela ?

Le plus simple est de continuer à maintenir son site à jour et de le faire monter en versions.

Pourquoi la fin de 2 versions, dont la dernière actuelle ?

Tout d'abord, la version 7 aurait dû se terminer à la sortie de Drupal 9.

Devant le nombre important d'utilisation de cette version et la complexité à faire migrer les sites existant vers une version 8, la durée de support de sécurité pour la version 7 a été allongée pour suivre la même date de fin de vie que la version 8. Cela permet ainsi d'avoir plus de temps pour penser à une refonte et prévoir le budget et les ressources adéquates.

Drupal 7 disposera d'un programme de support commercial longue durée. Moyennant finance, il sera possible de se prémunir des futures failles de sécurités trouvées dans le core de Drupal, et ce même après sa fin de vie. Toutefois, cela ne s'applique qu'au core, les modules "contrib" de la communauté et votre code spécifique ce sera pas supporté.
Il faut également prendre en compte que plus le temps passera, et moins de sociétés seront enclines à faire de la maintenance ou des corrections sur une version qui n'est plus supportée.

Ok pour Drupal 7, mais pourquoi Drupal 8 également ?

La raison est purement technique. La grande nouveauté de Drupal 8 était son utilisation des composants de Symfony 3.x. Or Symfony 3 ne sera plus supporté à partir de novembre 2021. A cette date, il sera déconseillé d'utiliser la version 3 de Symfony, et donc d'utiliser tout Drupal utilisant cette version, au risque d'être piraté.

Par Iloofo
Iloofo

Mon Drupal est en fin de vie

Pourquoi il est important de passer de Drupal 7 a Drupal 8 pour être pret à passer à Drupal 9.

En septembre 2018, à l'occasion du Drupal Europe, Dries Buytaert, le fondateur de Drupal à annoncé la fin de vie de Drupal 7 et de Drupal 8 pour novembre 2021.

Quand Drupal 9 sort-il ?

Drupal 9 est prévu dans sa version stable pour juin 2020.

Qu'est-ce qu'une fin de vie pour une version de logiciel ?

La fin de vie signifie que le logiciel, dans cette version majeure n'aura plus aucune correction de sécurité. Si des failles de sécurités sont découvertes et publiées, elles pourront être exploitées car la communauté ne fournira plus de mise à jour de ces versions.

Comment faire pour éviter cela ?

Le plus simple est de continuer à maintenir son site à jour et de le faire monter en versions.

Pourquoi la fin de 2 versions, dont la dernière actuelle ?

Tout d'abord, la version 7 aurait dû se terminer à la sortie de Drupal 9.

Devant le nombre important d'utilisation de cette version et la complexité à faire migrer les sites existant vers une version 8, la durée de support de sécurité pour la version 7 a été allongée pour suivre la même date de fin de vie que la version 8. Cela permet ainsi d'avoir plus de temps pour penser à une refonte et prévoir le budget et les ressources adéquates.

Drupal 7 disposera d'un programme de support commercial longue durée. Moyennant finance, il sera possible de se prémunir des futures failles de sécurités trouvées dans le core de Drupal, et ce même après sa fin de vie. Toutefois, cela ne s'applique qu'au core, les modules "contrib" de la communauté et votre code spécifique ce sera pas supporté.
Il faut également prendre en compte que plus le temps passera, et moins de sociétés seront enclines à faire de la maintenance ou des corrections sur une version qui n'est plus supportée.

Ok pour Drupal 7, mais pourquoi Drupal 8 également ?

La raison est purement technique. La grande nouveauté de Drupal 8 était son utilisation des composants de Symfony 3.x. Or Symfony 3 ne sera plus supporté à partir de novembre 2021. A cette date, il sera déconseillé d'utiliser la version 3 de Symfony, et donc d'utiliser tout Drupal utilisant cette version, au risque d'être piraté.

Par Iloofo
Iloofo

Mon Drupal est en fin de vie

Pourquoi il est important de passer de Drupal 7 a Drupal 8 pour être pret à passer à Drupal 9.

En septembre 2018, à l'occasion du Drupal Europe, Dries Buytaert, le fondateur de Drupal à annoncé la fin de vie de Drupal 7 et de Drupal 8 pour novembre 2021.

Quand Drupal 9 sort-il ?

Drupal 9 est prévu dans sa version stable pour juin 2020.

Qu'est-ce qu'une fin de vie pour une version de logiciel ?

La fin de vie signifie que le logiciel, dans cette version majeure n'aura plus aucune correction de sécurité. Si des failles de sécurités sont découvertes et publiées, elles pourront être exploitées car la communauté ne fournira plus de mise à jour de ces versions.

Comment faire pour éviter cela ?

Le plus simple est de continuer à maintenir son site à jour et de le faire monter en versions.

Pourquoi la fin de 2 versions, dont la dernière actuelle ?

Tout d'abord, la version 7 aurait dû se terminer à la sortie de Drupal 9.

Devant le nombre important d'utilisation de cette version et la complexité à faire migrer les sites existant vers une version 8, la durée de support de sécurité pour la version 7 a été allongée pour suivre la même date de fin de vie que la version 8. Cela permet ainsi d'avoir plus de temps pour penser à une refonte et prévoir le budget et les ressources adéquates.

Drupal 7 disposera d'un programme de support commercial longue durée. Moyennant finance, il sera possible de se prémunir des futures failles de sécurités trouvées dans le core de Drupal, et ce même après sa fin de vie. Toutefois, cela ne s'applique qu'au core, les modules "contrib" de la communauté et votre code spécifique ce sera pas supporté.
Il faut également prendre en compte que plus le temps passera, et moins de sociétés seront enclines à faire de la maintenance ou des corrections sur une version qui n'est plus supportée.

Ok pour Drupal 7, mais pourquoi Drupal 8 également ?

La raison est purement technique. La grande nouveauté de Drupal 8 était son utilisation des composants de Symfony 3.x. Or Symfony 3 ne sera plus supporté à partir de novembre 2021. A cette date, il sera déconseillé d'utiliser la version 3 de Symfony, et donc d'utiliser tout Drupal utilisant cette version, au risque d'être piraté.

Par liber_t
Ines WALLON

Présentation de GrumPHP

Quand on travaille à plusieurs sur un projet, il peut être intéressant de mettre en place des outils de qualité de code afin d’harmoniser le code source que vous souhaitez mettre en place sur votre projet (linter, CodeSniffer et tests) mais pour cela, il faudra alors s'assurer que tous les collaborateurs les utilisent afin d'en tirer réellement partie et c'est là que GrumPHP rentre en jeux.

Par WeBla
Cédric Albrecht

Drupal 8 Statistics, la vue manquante

Une vue Drupal 8 prête à importer pour obtenir une page de l'ensemble des statistiques collectées par le module Statistics.

Par WeBla
Cédric Albrecht

Drupal 8 Statistics, la vue manquante

Une vue Drupal 8 prête à importer pour obtenir une page de l'ensemble des statistiques collectées par le module Statistics.

Par Iloofo
Iloofo

Configuration minimum pour lancer phpunit avec Drupal

Configuration minimum pour lancer phpunit avec Drupal Drupal 8 PhpUnitFabien CLÉMENT
dim 11/08/2019 - 09:44

A l'heure de la virtualisation et de la containerisation, on n'a pas forcément tout un environnement lamp/wamp/mamp d'installé sur son local.

Sous Drupal 8.x, Si l'on souhaite lancer des test phpunit, nous n'avons besoin que de 3 applications :

  • PHP
  • SQLITE
  • Composer

Suivant votre OS, vous pouvez installer les 2 premiers :

  • Windows : avec leurs binaires
  • Linux : via les dépots
  • OSX : via homebrew

Pour composer, suivre les instructions sur https://getcomposer.org/download/.

Catégorie
Tags
Par Iloofo
Iloofo

Configuration minimum pour lancer phpunit avec Drupal

A l'heure de la virtualisation et de la containerisation, on n'a pas forcément tout un environnement lamp/wamp/mamp d'installé sur son local.

Sous Drupal 8.x, Si l'on souhaite lancer des test phpunit, nous n'avons besoin que de 3 applications :

PHP
SQLITE
Composer

Suivant votre OS, vous pouvez installer les 2 premiers :

Windows : avec leurs binaires
Linux : via les dépots
OSX : via homebrew

Pour composer, suivre les instructions sur https://getcomposer.org/download/.

Habituellement, nous aurions également besoin d'un serveur apache ou nginx pour pouvoir accéder à notre application, mais depuis la version 8.4.x, Drupal embarque ce qu'il faut pour lancer un serveur depuis php.

Lancer la commande :

php -S localhost:8888 .ht.router.php

Il ne reste plus qu'à configurer phpunit en copiant le fichier phpunit.xml.dist en phpunit.xml :

cp core/phpunit.xml.dist core/phpunit.xml

Créer le répertoire sites/default/simpletest et ajuster la configuration suivant vos besoins. Exemple :

   

   

   

   

   

   

Faire un composer install pour installer les dépendances de Drupal et obtenir phpunit.

Il ne reste plus qu'à lancer phpunit en ligne de commande ou depuis phpstorm.

Pour configurer phpstorm, aller dans le menu PHPStorm > Preferences, chercher PHP.

Ajouter votre binaire PHP puis chercher phpunit et dans Test Frameworks, configurer phpunit.

 

Par Iloofo
Iloofo

Configuration minimum pour lancer phpunit avec Drupal

A l'heure de la virtualisation et de la containerisation, on n'a pas forcément tout un environnement lamp/wamp/mamp d'installé sur son local.

Sous Drupal 8.x, Si l'on souhaite lancer des test phpunit, nous n'avons besoin que de 3 applications :

PHP
SQLITE
Composer

Suivant votre OS, vous pouvez installer les 2 premiers :

Windows : avec leurs binaires
Linux : via les dépots
OSX : via homebrew

Pour composer, suivre les instructions sur https://getcomposer.org/download/.

Habituellement, nous aurions également besoin d'un serveur apache ou nginx pour pouvoir accéder à notre application, mais depuis la version 8.4.x, Drupal embarque ce qu'il faut pour lancer un serveur depuis php.

Lancer la commande :

php -S localhost:8888 .ht.router.php

Il ne reste plus qu'à configurer phpunit en copiant le fichier phpunit.xml.dist en phpunit.xml :

cp core/phpunit.xml.dist core/phpunit.xml

Créer le répertoire sites/default/simpletest et ajuster la configuration suivant vos besoins. Exemple :

   

   

   

   

   

   

Faire un composer install pour installer les dépendances de Drupal et obtenir phpunit.

Il ne reste plus qu'à lancer phpunit en ligne de commande ou depuis phpstorm.

Pour configurer phpstorm, aller dans le menu PHPStorm > Preferences, chercher PHP.

Ajouter votre binaire PHP puis chercher phpunit et dans Test Frameworks, configurer phpunit.

 

Par Iloofo
Iloofo

Configuration minimum pour lancer phpunit avec Drupal

A l'heure de la virtualisation et de la containerisation, on n'a pas forcément tout un environnement lamp/wamp/mamp d'installé sur son local.

Sous Drupal 8.x, Si l'on souhaite lancer des test phpunit, nous n'avons besoin que de 3 applications :

PHP
SQLITE
Composer

Suivant votre OS, vous pouvez installer les 2 premiers :

Windows : avec leurs binaires
Linux : via les dépots
OSX : via homebrew

Pour composer, suivre les instructions sur https://getcomposer.org/download/.

Habituellement, nous aurions également besoin d'un serveur apache ou nginx pour pouvoir accéder à notre application, mais depuis la version 8.4.x, Drupal embarque ce qu'il faut pour lancer un serveur depuis php.

Lancer la commande :

php -S localhost:8888 .ht.router.php

Il ne reste plus qu'à configurer phpunit en copiant le fichier phpunit.xml.dist en phpunit.xml :

cp core/phpunit.xml.dist core/phpunit.xml

Créer le répertoire sites/default/simpletest et ajuster la configuration suivant vos besoins. Exemple :

   

   

   

   

   

   

Faire un composer install pour installer les dépendances de Drupal et obtenir phpunit.

Il ne reste plus qu'à lancer phpunit en ligne de commande ou depuis phpstorm.

Pour configurer phpstorm, aller dans le menu PHPStorm > Preferences, chercher PHP.

Ajouter votre binaire PHP puis chercher phpunit et dans Test Frameworks, configurer phpunit.

 

Par kgaut
Kevin Gautreau

Drupal 8 - Rediriger sur le listing des noeuds après la création d'un contenu

Sur une commande expresse de Vincent, voici comment modifier les formulaires de création / modification de nœud pour être redirigé sur la page de listing des nœuds plutôt que sur le nœud en lui même lors de la création ou de la modification d'un contenu.

1 - Altération du type d'entité

  1. # mon_module.module
  2. function mon_module_entity_type_alter(array &$entity_types) {
  3. $entity_types['node']->setFormClass('default', Drupal\mon_module\Entity\Form\CustomNodeForm::class);
  4. $entity_types['node']->setFormClass('edit', Drupal\mon_module\Entity\Form\CustomNodeForm::class);
  5. }

2 - Classe du formulaire

  1. # web/modules/mon_module/src/Entity/Form/CustomNodeForm.php
  2.  
  3. namespace Drupal\mon_module\Entity\Form;
  4.  
  5. use Drupal\Core\Form\FormStateInterface;
  6. use Drupal\node\NodeForm;
  7.  
  8. class CustomNodeForm extends NodeForm {
  9.  
  10. public function save(array $form, FormStateInterface $form_state) {
  11. parent::save($form, $form_state);
  12. $form_state->setRedirect('view.content.page_1');
  13. }
  14.  
  15. }

 

Par Iloofo
Iloofo

Docker et OSX

Docker et OSX Docker + OSXFabien CLÉMENT
mar 16/07/2019 - 11:26

Chez l'Équipe.tech, nous avons toujours travaillé sous OSX avec des Macbook Pro. Pendant de nombreuses années nous en étions très content. Plus simple pour le web que sous Microsoft Windows qui n'est pas adapté pour du développement PHP, plus propre et clé en main que Linux, et finition impeccable.

La majorité de notre expérience sur cet environnement s'est fait avant l'avènement de Docker, et surtout avant que les machines d'Apple ne soient compatibles avec Docker, quand ils n'utilisaient pas encore de processeurs Intel.

Catégorie
Tags

Pages