Articles de l'utilisateur

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.

Par flocondetoile
Adhérent

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.

Par flocondetoile
Adhérent

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.

Par flocondetoile
Adhérent

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

Par flocondetoile
Adhérent

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.

Par flocondetoile
Adhérent

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.

Par flocondetoile
Adhérent

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.

Par flocondetoile
Adhérent

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.

Par flocondetoile
Adhérent

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 ?

Pages