Articles de l'utilisateur

Alerte de sécurité critique - Drupal core PSA-2018-003

L'équipe de sécurité de Drupal vient de publier ce jour, lundi 23 avril 2018, un bulletin d'alerte (Drupal 7 and 8 core critical release on April 25th, 2018 PSA-2018-003) annonçant la publication prochaine d'une mise à jour de sécurité critique. Cette mise à jour de sécurité sera publiée et diffusée le mercredi 25 avril entre 16h00 et 18h00 UTC (soit entre 18h et 20h heure française). Soit après-demain. Les 2 versions en cours de Drupal (Drupal 7 et Drupal 8) sont concernées par cette annonce.

Mettre en place un contrôle de stock simple avec Drupal Commerce 2

Si nous ne disposons pas (encore) d'une solution contribuée (commerce_stock devrait être prochainement être disponible), Drupal Commerce 2 dispose d'ores et déjà d'une API pour mettre en place un contrôle des stocks, avec le service Availability Manager. Découvrons comment mettre en place un contrôle de stock très simple, basé sur un champ (par exemple field_stock) qui aura été ajouté sur un produit.

Alerte de sécurité critique - Drupal core PSA-2018-001

L'équipe de sécurité de Drupal a publié mercredi 21 mars 2018 un bulletin d'alerte annonçant la publication prochaine d'une mise à jour de sécurité hautement critique. Cette mise à jour de sécurité critique sera publiée et diffusée le mercredi 28 mars à partir de 18h00. Les 2 versions en cours de Drupal (Drupal 7 et Drupal 8) sont concernées par cette annonce. Tenez vous prêt à mettre à jour votre ou vos projets Drupal, 7 ou 8.

Utiliser les tunnels d'achat de Drupal Commerce 2

Drupal Commerce 2 permet de définir out of the box de multiples tunnels d'achats, permettant de personnaliser selon la commande, le produit acheté, le profil client ce processus d'achat et de le modifier en conséquence. C'est une fonctionnalité extrêmement intéressante, en cela qu'elle peut permettre de simplifier autant que de besoin ce fameux tunnel d'achat. Découvrons le fonctionnement général de ces tunnels d'achats, et comment pouvoir les utiliser à discrétion de façon granulaire.

Envoyer les courriels transactionnels liés au compte utilisateur au format HTML avec Drupal 8

Nous disposons de plusieurs solutions pour envoyer automatiquement les mails émis par un projet Drupal 8 au format HTML. Sans pouvoir tous les citer, nous pouvons utiliser SwiftMailer, MimeMail,  ou encore Mailjet API, MailGun, etc. En quelques clics, nous pouvons alors émettre les différents mails, qu'ils soient transactionnels ou métier au format HTML. Il reste un cas un peu particulier : celui de tous les emails émis en fonction des différents événements liés à la vie d'un compte utilisateur. Découvrons ici pourquoi ces emails sont différents et comment remédier à leur envoi dans un format HTML.

Personnaliser le journal d'activité d'une commande avec Drupal Commerce 2

Drupal Commerce 2 fournit par défaut un journal d'activité sur la vie de chaque commande : la mise au panier de produits, l'entrée dans le tunnel d'achat, la passation de la commande, son expédition éventuelle et sa conclusion. Nous allons découvrir comment insérer des entrées de journal complémentaires. Ces entrées peuvent aussi bien être générées automatiquement, que correspondre à une saisie utilisateur.

Rendre inaccessible des pages non traduites avec Drupal 8

Il n'est pas rare lors de la réalisation d'un projet Drupal 8 multilingue, que les traductions des pages ne soient au rendez-vous lors de la mise en production. Autant la gestion du multilinguisme avec Drupal 8 est devenue réellement aisée à mettre en place, il y a désormais une différence fondamentale avec Drupal 7 : il est impossible de désactiver une langue. Soit on installe une langue, soit on la supprime. Cette modification est assumée, et volontaire, ceci afin de ne pas générer une complexité inutile pour une gain discutable.

Appliquer un taux de TVA à un produit avec Drupal commerce 2

Drupal commerce 2 permet désormais nativement de gérer les différentes taxes et TVA à appliquer sur une boutique en ligne, quelque soit son pays et leurs règles respectives en cette matière. La plupart des modules contribués permettant de gérer ces éléments sur Commerce 1.x ne sont donc plus nécessaires. Découvrons comment utiliser le concept des Resolver de Drupal commerce 2.x pour définir le taux de TVA à appliquer sur différents produits.

Mettre en place des processus métier complexes avec State machine sur Drupal 8

Nous avons vu dans un précédent billet comment mettre en place un processus de publication sur Drupal 8 avec les modules Content moderation et Workflows. Nous allons aborder ici une problématique similaire mais en s'appuyant cette fois sur le module State machine, module qui va nous permettre de mettre en place un ou plusieurs processus métier sur n'importe quelle entité de Drupal.

Modifier la position des méta données sur le formulaire de saisie d'un contenu avec Drupal 8

Les méta données liées à un contenu (paramètres de menu, options de publications, paramètres des chemins d'urls, etc.) sont par défaut affichées, dans les formulaires d'ajout et d'édition, dans un panneau latéral. Ceci a l'avantage de donner une visibilité immédiate sur ces options tout en rédigeant son contenu. Mais il est des cas d'usages où la position latérale de ces informations nuisent à l'ergonomie générale, car réduisant l'espace disponible pour les formulaires de saisie des contenus. Ceci peut être le cas notamment, si vous utilisez le module Field Group pour structurer et regrouper les informations à saisir. Nulle besoin ici d'un expert Drupal. Découvrons comment nous pouvons rendre la position de ces métadonnées paramétrables en fonction des besoins et de l'ergonomie générale du projet Drupal 8.

Modifier de la configuration directement sur un site Drupal 8 en production

La gestion de la configuration native à Drupal 8 permet de très facilement passer des modifications ou des ajouts de la configuration depuis une instance de site (un environnement de développement par exemple) vers une autre instance de site (l'environnement de production). Ces exports et imports de la configuration d'un site sont réalisés d'un seul tenant : c'est à dire que c'est toute la configuration d'un site qui est mise à jour. Mais il existe des cas valides où certaines configurations peuvent et doivent être modifiées directement en production. Découvrons comment gérer ces cas particuliers avec le module Configuration split.

DrupalCamp Lannion 27-29 octobre 2017

Le DrupalCamp se tiendra très prochainement, dans moins d'une semaine, les 27, 28 et 29 octobre 2017. C'est une occasion unique, pour qui travaille avec Drupal, de venir rencontrer ses pairs, d'échanger et de discuter, mais aussi de venir écouter quelques conférences pour le moins alléchantes. Et ce n'est pas parce qu'il se tient au bout du monde, à Lannion, que c'est une raison de ne pas venir. Bien au contraire, partez à l'aventure, explorez les tréfonds de l'inconnu, découvrez la magnifique Bretagne et Drupal n'aura plus aucun secret pour vous. Alors je vous y vois ?

Filtrer des contenus par année avec Views sur Drupal 8

Il n'est pas rare de devoir proposer de filtrer certains contenus en fonction de dates, et notamment en fonction de l'année. Comment filtrer des contenus depuis une vue selon les années basées sur un champ date ? Nous disposons d'une solution immédiate en utilisant les modules Search API couplé à Facets. Mais si on ne dispose pas de ces deux modules pour d'autres raisons, cela peut être dommage de les installer juste pour cela. On peut arriver à nos fins assez rapidement avec une option native à Views, les arguments contextuels. Découvrons en quelques images comment y arriver.

Mettre en place un processus de publication sur Drupal 8

Drupal 8 dispose dans son coeur depuis sa version 8.3 des modules expérimentaux Content Moderation et Workflows permettant de mettre en place un processus de publication évolué. Découvrons les grands principes de fonctionnement de ces deux modules, somme toute très proche au demeurant de Workbench Moderation sur Drupal 7. Pour qui a déjà utilisé cette solution, il ne sera pas dépaysé.

Utiliser les modules expérimentaux de Drupal 8 ?

La qualité d'un CMS ne se juge pas seulement au travers de la qualité de son architecture, de son API, mais aussi au travers de ses fonctionnalités out of the box, permettant d'accomplir des mises en page, des comportements spécifiques, en quelques clics. On peut rapprocher la valeur d'un CMS avec celle du diamant. La valeur d'un diamant brut ne vaut pas grand chose, tandis que celle d'un diamant travaillé est sans commune mesure.

Quelques optimisations MySQL pour un Drupal 8 performant

Que celui qui n'a jamais vu un serveur MySQL avec ses paramètres par défaut sur un serveur Quadri Coeur et 128 Go de RAM lève la main. Il n'est pas rare que le serveur MySQL soit oublié à la mise en place d'un projet, Drupal 8 ou autres. Découvrons quelques paramètres de base à affiner selon votre environnement et votre projet pour booster les performances de votre site ou application Internet.

Créer des entrées de menu sans lien avec Drupal 8

Il n'est pas rare de vouloir regrouper des liens d'un menu principal d'un site, afin de les grouper par thématique, ou par cible, ou tout autre critère. Une des manières la plus simple d'arriver à ses fins est tout simplement de créer des entrées dans le menu principal de votre site Drupal 8, mais des entrées sans lien, vous permettant de les distinguer comme en-tête de section. Et aussi pour ne pas avoir à créer un page spéciale, à cet unique usage, du fait que les entrées d'un menu Drupal 8 doivent obligatoirement avoir un lien. Découvrons comment parvenir à nos fins.

Insérer des pièces jointes dans un corps de texte avec Drupal 8

Drupal 8 permet nativement d'insérer des images au sein d'un corps de texte, à condition d'utiliser bien sûr un format de texte qui autorise cette fonctionnalité. Mais peut-on faire de même et insérer facilement des documents, des pièces jointes, au sein d'un texte de base ? Nous disposons bien sûr de nombreuses solutions avec Drupal 8 pour associer des documents à un contenu. Découvrons une solution très simple, configurable en une minute top chrono, pour pouvoir charger un document dans un corps de texte

Créer un mega menu avec Drupal 8

Créer un mega menu responsive est souvent un pré-requis régulier sur tout projet, Drupal 8 ou autre. Et si nous pouvons trouver quelques solutions proposant de créer des mega menus facilement, très souvent, ces solutions restent assez rigides et peuvent difficilement être adaptées aux pré-requis d'un projet. Mais qu'est-ce qu'un mega menu ? Ce n'est ni plus ni moins qu'un menu qui contient un peu plus qu'une liste de liens, avec du texte, des images, etc. Plutôt qu'une solution rigide, qui peut convenir si nous sommes prêts à nous plier à ses exigences, nous pouvons aussi utiliser une solution plus souple, ouverte, mais qui demande aussi un peu plus de travail au niveau du theming. Découvrons comment construire un mega menu avec le module Simple Mega Menu.

Les 13 défauts mythiques (ou pas) de Drupal 8

Ayant eu l'occasion de lire quelques récents comparatifs de Drupal et SPIP,  j'ai découvert une perception de Drupal qui n'est pas la mienne. Loin de moi l'idée de vouloir comparer Drupal et SPIP. En effet, je connais très mal SPIP, tout du moins seulement en tant qu'utilisateur de base, et beaucoup moins que Drupal, et donc je ne m'aventurerai pas sur une telle comparaison. Aussi, j'ai souhaité partager ces 13 défauts mythiques, réels ou perçus de Drupal 8, que j'ai pu (re)-découvrir récemment et qui me paraissent mériter un contre point.

Faut-il attendre Drupal 9 pour mon projet web ?

Nous avions abordé dans un précédent billet (Une feuille de route pour Drupal 8, et après ?) la nouvelle politique de Drupal 8 en matière de gestion de version, de support et de maintenance de ses versions mineures et majeures. Cette politique a quelque peu évoluée depuis la dernière conférence DrupalCon Baltimore en avril 2017. Et cette évolution de la stratégie de Drupal mérite qu'on s'y attarde quelque peu car elle peut amener un nouvel éclairage à ceux qui hésitent à migrer leur site sur Drupal 8.

Afficher un champ individuel d'un contenu avec Drupal 8

On peut avoir besoin parfois d'obtenir le rendu HTML d'un unique champ d'un contenu ou d'une entité. Par exemple pour un affichage simplifié de contenus relatifs au contenu consulté, l'utilisation de champs spécifiques dans d'autres contextes, etc. Mais obtenir de façon programmatique le rendu d'un champ peut être problématique pour tout le système d'invalidation des caches de Drupal 8. Parcourons quelques solutions à notre disposition pour parvenir à nos fins.

Vous recherchez un développeur Drupal 8 ?

Vous avez un projet de refonte de votre site institutionnel, de votre plateforme client, et vous souhaitez, à raison, le réaliser sur Drupal ? Vous avez un site sur Drupal 6, ou Drupal 7, et souhaitez le migrer sur Drupal 8 ? Vous recherchez donc un (ou plusieurs) développeur Drupal pour réaliser votre projet ou encore pour intégrer votre équipe interne. Mais est-ce bien d'un développeur Drupal dont vous avez besoin ?

Token et les entités chainées sur Drupal 8

Le module token est un de ces modules de base, indispensable, sur tout projet Drupal 8. Il permet d'utiliser des jetons dans certains champs de saisie, que ce soit de la configuration ou du contenu, permettant de cibler la valeur d'un champ d'une entité ou d'un contenu. Regardons comment accéder aux valeurs d'un contenu depuis ces jetons, mais aussi aux valeurs indirectement associés à ces contenus, depuis des champs Entity reference.

Personnaliser le menu d'administration de Drupal 8

Drupal 8 dispose nativement d'une barre d'outils responsive permettant d'administrer le site. Cette barre d'outils contient le menu principal d'administration ainsi que l'accès aux raccourcis et au compte utilisateur, et si elle s'avère très utile à l'administration et conception du site, elle reste peu utile aux utilisateurs et gestionnaires de contenus d'un site. Découvrons comment l'utiliser pour personnaliser des menus dédiés à ces profils d'utilisateur.

Présentation du module Protected file sur Drupal 8

Drupal 8 dispose de plusieurs solutions et méthodes pour gérer les droits accès sur chacun des éléments inclus dans un contenu, et ceci de manière très granulaire. Permettre l'accès en visualisation ou modification de certains champs inclus dans un type de contenu peut se réaliser très simplement. La problématique est différente quand il s'agit de pouvoir gérer les droits de téléchargement d'un fichier tout en permettant sa visualisation. C'est à cette question que répond le module Protected file.

Créer une action pour des mises à jours en masse personnalisées avec Drupal 8

Drupal 8 permet de réaliser nativement certaines actions en masse sur les contenus d'un site, comme par exemple publier ou dé-publier massivement des contenus, les positionner en haut des listes, etc. il peut être utile d'offrir à certains profils d'utilisateur certaines actions personnalisées liées aux spécificités de votre site, comme par exemple mettre en avant certains termes de taxonomie.

Découvrons comment mettre en place de telles actions.

Mettre en place une visite guidée sur Drupal 8

Drupal 8 dispose d'un nouveau module intégré dans son coeur, le module Tour, qui nous permet de mettre en place une aide contextuelle permettant de guider les utilisateurs d'un site Drupal 8 pour leur premiers pas, que ce soit pour la découverte de leur profil utilisateur, des possibilités qui leurs sont offertes, sur la manière de créer un contenu ou encore sur la gestion générale des contenus du site.

Mettre en place une visite guidée sur Drupal 8

Drupal 8 dispose d'un nouveau module intégré dans son coeur, le module Tour, qui nous permet de mettre en place une aide contextuelle permettant de guider les utilisateurs d'un site Drupal 8 pour leur premiers pas, que ce soit pour la découverte de leur profil utilisateur, des possibilités qui leurs sont offertes, sur la manière de créer un contenu ou encore sur la gestion générale des contenus du site.

Pages