Articles de l'utilisateur

Par flocondetoile
Adhérent

Générer un sommaire automatique avec Drupal 8

La génération d'un sommaire automatique pour des articles relativement long est un besoin récurrent en matière de publication de contenu. Un sommaire apporte une meilleure visibilité pour le lecteur, et un moyen efficace pour naviguer au sein d'un article dès que celui-ci est un peu dense. Découvrons le module Toc.js qui nous permet facilement de générer un sommaire de façon modulaire

Par flocondetoile
Adhérent

Fournir automatiquement les options à un champ de type Liste sur Drupal 8

Drupal 8 dispose d'une multitude de type de champs permettant de couvrir un grand nombre de cas d'usage et de situations quand il s'agit de structurer et modéliser un contenu. Parmi ceux-ci, nous disposons d'un champ de type Liste qui, comme son nom l'indique, nous permet de configurer un champ de saisie sur la base d'une liste d'options prédéfinies. Cette liste d'options doit être paramétrée manuellement dans les options de stockage du champ au moment de sa création. Mais nous pouvons également utiliser ce champ sur la base d'une liste d'options qui peuvent être fournies dynamiquement. Regardons comment nous devons procéder pour disposer d'un champ qui nous permet de choisir parmi une liste d'options dynamiques.

Par flocondetoile
Adhérent

Personnaliser le fil d'Ariane avec Drupal 8

Drupal 8 dispose par défaut de deux méthodes pour construire le fil d'Ariane. Pour les contenus, cette méthode est basé sur l'URL de la page, et pour les termes de taxonomie cette méthode est basée sur la hiérarchie du vocabulaire. Explorons plus en détails la construction du fil d'Ariane et les alternatives possibles pour le personnaliser en tant que de besoin.

Par flocondetoile
Adhérent

Une usine à sites Drupal avec Micro site

J'ai eu le plaisir de présenter le module Micro Site qui permet de mettre en place une usine à sites sur Drupal 8 lors du dernier DrupalCamp Paris 2019. Ce billet a pour objet de mettre à disposition le contenu de la présentation pour ceux intéressés, et de compléter cette présentation par quelques éléments supplémentaires post-conférence. Et bien entendu pour remercier et féliciter comme il se doit les organisateurs sans qui cet événement n'aura pas pu avoir lieu.

Par flocondetoile
Adhérent

Drupalcamp Paris 2019

Le DrupalCamp se tiendra cette année les 15, 16 et 17 février 2019 à Paris. Cette conférence s'annonce riche en découverte et ceci pour tous les goûts et tous les profils. Pas moins de 3 types de conférence seront proposées, pour que chacun puisse tirer pleinement profit de ces trois journées selon ses besoins et son profil.

Par flocondetoile
Adhérent

Créer un pied de page pour un micro site avec Drupal 8

Le module Micro Site permet de mettre en place une usine à site Drupal, depuis une seule instance Drupal 8, pour propulser une multitude de sites, de nature différente si besoin. Micro Site fournit une nouvelle entité de contenu permettant de personnaliser à volonté, avec les API disponibles sur Drupal 8, ces différents types de site, et modifier leur comportement selon les besoins métier. Détaillons comment nous pouvons procéder, au travers d'un exemple de base consistant à fournir un pied de page modulaire sur différents sites propulsés, et l'afficher sur toutes les pages pouvant constituer le site.

Par flocondetoile
Adhérent

Basculer un projet Drupal 8 existant sous composer

Composer est devenu incontournable pour des projets Drupal 8 relativement ambitieux. Même si il est encore possible d'initialiser un projet Drupal 8 avec drush ou encore tout simplement en téléchargeant une archive zip, ces deux méthodes peuvent devenir limitantes avec le temps. Ou tout du moins ne pas faciliter l'installation de nouveaux modules ayant des dépendances sur des librairies tierces.

Par flocondetoile
Adhérent

Accélérer la conception d'un projet Drupal 8

Il n'est pas rare qu'un projet Drupal 8, parce qu'il dispose de contenus structurés, s'étoffe de nombreux types de contenu, eux-mêmes comportant de nombreux champs, eux-même rendus de façon différente au travers de non moins nombreux modes d'affichage. Une des conséquences est que la phase de conception dite site building peut devenir alors extrêmement chronophage, voire source de multiples petits oublis encore plus chronophage à corriger /ajuster (utilisation des mêmes champs, texte d'aide associé, configuration du formulaire, des modes d'affichage, etc.).

Par flocondetoile
Adhérent

Des petits sites, des gros sites, des micro sites avec Drupal 8

Drupal 8 est un outil dimensionné pour répondre aux besoins des projets web les plus ambitieux. Nous entendons beaucoup parler des notions de headless, de API first, de découplage, etc. qui résolument permettent des architectures solides pour projets ambitieux. Mais ce n'est pas pour autant que Drupal 8 ne propulse plus des sites plus classiques, et voire parfois beaucoup moins ambitieux : de simples, petits, sites Internet, mais pour lesquels nous souhaitons bénéficier de la modularité, de la souplesse et de la robustesse de Drupal.

Par flocondetoile
Adhérent

Fournir un formulaire personnalisé aux entités de Drupal 8

A l'instar des modes d'affichage qui permettent d'afficher une entité de multiples manières, Drupal 8 permet de créer de multiples modes de saisie, ou formulaires, utilisables sur les entités, que ce soient les utilisateurs, les termes de taxonomy, les contenus ou n'importe quelle entité personnalisée. Découvrons ici comment utiliser ces modes de saisie, depuis leur création jusqu'à leur exploitation pour personnaliser la saisie par exemple des informations d'un utilisateur.

Par flocondetoile
Adhérent

Surcharger une configuration de façon dynamique avec Drupal 8

Dans certains cas de figure, il peut être extrêmement intéressant de pouvoir surcharger une configuration de façon dynamique. Un des premiers cas d'usage immédiatement perceptible est dans le cas d'une usine à sites disposant d'un ensemble de fonctionnalités partagées et déployées, et donc de configurations identiques partagées.

Par flocondetoile
Adhérent

Un exemple de cache en action avec Drupal 8

Comme on dit en matière de programmation informatique, seules deux choses sont extrêmement complexes : le nommage des variables et l'invalidation du cache. Drupal 8 dispose d'un système de cache automatique activée par défaut proprement révolutionnaire qui permet de proposer un cache pour les visiteurs anonymes et aussi surtout pour des utilisateurs authentifiés et ceci sans aucune configuration. Mais le propos de ce billet n'est pas de rentrer dans le détail de ce système de cache, mais plutôt d'illustrer l'utilisation de la cache API permettant de mettre en place son propre cache pour un cas d'usage bien précis.

Par flocondetoile
Adhérent

Ajouter des résultats à une recherche effectuée avec Search API et ElasticSearch sur Drupal 8

Lors de recherches effectuées sur les contenus d'un site Drupal 8, il peut parfois être utile de pouvoir rajouter certains contenus aux résultats déjà obtenus, et ceci en fonction de ces résultats. Cela peut être du contenu qu'on souhaite mettre en avant quelque soit la recherche, ou faire remonter des landing page génériques qui servent et complètent les contenus trouvés ou encore les auteurs des contenus issus des résultats de la recherche.

Par flocondetoile
Adhérent

Faire une requête SQL sur plusieurs tables avec Drupal 8

Drupal 8 fournit une API, avec EntityQuery, qui simplifie de manière significative l'écriture de requêtes SQL pour récupérer et lister un ensemble de contenus. Ainsi il est très facile de récupérer une liste de contenus selon des critères et des conditions complexes, sans avoir besoin de connaître précisément les tables et leur syntaxe pour chaque champ associé à une entité. Mais nous pouvons avoir besoin de recourir à des requêtes plus complexes nécessitant d'associer des données issues de plusieurs tables.

Par flocondetoile
Adhérent

Basculer de Google Maps vers Leaflet et OpenStreetMap avec Geolocation sur Drupal 8

Le 2 mai 2018 Google a annoncé un changement de politique majeure concernant l'utilisation de ses services en ligne, et dont notamment son célèbre service de cartographie GoogleMaps et toutes ses API associées, pour embarquer ou générer des informations géolocalisées. Ce changement de politique rend désormais payant un service auparavant disponible gratuitement dans certaines limites de quota. Il est donc temps de cesser d'utiliser ces solutions, par habitude ou par facilité, et d'aller voir ce qui se fait très bien aussi ailleurs. Regardons comment sur Drupal 8 nous pouvons basculer sur une solution open source basée sur Leaflet et OpenStreetMap.

Par flocondetoile
Adhérent

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.

Par flocondetoile
Adhérent

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.

Par flocondetoile
Adhérent

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.

Par flocondetoile
Adhérent

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.

Par flocondetoile
Adhérent

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.

Par flocondetoile
Adhérent

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.

Par flocondetoile
Adhérent

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.

Par flocondetoile
Adhérent

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.

Par flocondetoile
Adhérent

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.

Par flocondetoile
Adhérent

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.

Par flocondetoile
Adhérent

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.

Par flocondetoile
Adhérent

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 ?

Par flocondetoile
Adhérent

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.

Par flocondetoile
Adhérent

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é.

Par flocondetoile
Adhérent

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.

Pages