Drupal
18/06/2018

Vagabondage de tweets – Mars 2018 – Drupal 8, Nginx, Peertube, SSL...

Veille Drupal mars 2018
Au sommaire de ce nouveau numéro de vagabondage de tweets tardif :) : Drupal, Nginx, Peertube, Let’s Encrypt, Design et accessibilité, Lus, Driver.js et enfin RGPD !

Drupal

13 mars – Christophe Dugué @chdugue
Franchement les gars... un peu de documentation et on y gagne tous! https://bit.ly/2wavUTU
Nous avons testé la distribution Drupal Roomify dans le cadre d’un de nos projets Drupal portant sur un site de réservation en ligne de chambre d’hôtes pour les colonies de vacances et de séjours au ski. Roomify est une solution basée sur la suite de modules BAT (Booking and Availability Management Tools for Drupal) qui permet de gérer la disponibilité, la tarification et la réservation d’hébergement en ligne. Nous nous sommes rapidement tournés vers une distribution pour éviter de réinventer la roue d’autant plus que le projet de refonte de site était orienté « métier ». Pourtant, nous avons rencontré de nombreuses limites lorsqu’un besoin de personnalisation s'est présenté. Dans ce post, nous relatons notre expérience concernant cette distribution qui présente des avantages et des inconvénients dont notamment le manque de documentation ! Si vous êtes curieux par cette solution Drupal, nous vous invitons à lire notre retour d’expérience ! 

20 mars – Ludovic Coullet @lcoullet
Access Control Modules for Drupal 8 https://buff.ly/2u27jiR
Lorsque plusieurs types d’utilisateurs ont accès à un même site, la gestion des rôles et des permissions devient alors cruciale si le besoin de restreindre l’accès à certains types de contenu se présente. En général, Drupal permet de restreindre l’accès aux nœuds en couplant les nœuds de types de contenu aux rôles utilisateur. Le module Drupal 8 Permission by term (Taxonomy Access Control pour Drupal 7) étend cette fonctionnalité en permettant de contrôler l’accès des utilisateurs à des nœuds en fonction des catégories de taxonomies. Ainsi côté front-end, ce module propose :

  • De restreindre l’accès des utilisateurs aux nœuds des menus, des vues et de la recherche ;
  • De restreindre l’accès aux nœuds dans plusieurs langues. En effet, ce module fonctionne avec les traductions, si ces dernières ont le même contrôle d’accès (mêmes termes de taxonomie).

Côté back-end, le module propose les fonctionnalités suivantes :

  • Les éditeurs peuvent utiliser uniquement les termes de taxonomie autorisés lors de l’édition des nœuds ;
  • Les éditeurs peuvent modifier les nœuds qui sont liés aux termes de taxonomie autorisés ;
  • Si la restriction à un seul terme de taxonomie est activée alors les utilisateurs doivent avoir accès à tous les termes de taxonomie associés pour accéder aux nœuds.
  • Pour modifier un nœud, les utilisateurs doivent avoir accès au terme de taxonomie associé.

Ce module est intéressant pour les sites universitaires nécessitant la gestion de groupes, ou les sites proposant plusieurs niveaux d’abonnements par exemple. A ce sujet, il y a le fameux module Group de Drupal qui permet d’organiser le contenu en groupes, que les utilisateurs peuvent rejoindre et dont l’accès est contrôlé par les rôles des groupes. A tester !

24 mars – Christophe Dugué @chdugue
Pas confiance lors d'un déploiement ? Bloquez les configurations sur l'environnement de production le temps du déploiement - Module Read Only : http://bit.ly/2DRwYdK  - #Drupal8 :)
Drupal propose le module contribué Configuration Read-only mode pour verrouiller les modifications de configuration sur l’environnement de production. C’est un module pertinent lors des déploiements sur un environnement de production, afin d’éviter que les modifications de la configuration sur les environnements intermédiaires ne viennent impacter l’environnement de production.

29 mars – Christophe Dugué @chdugue
Pas de doute, il faut vraiment réfléchir quand on propose une architecture découplée avec #Drupal : http://bit.ly/2GhqKdd  - Transactions obligatoires.
Avez-vous pensé au découplage Drupal pour votre projet ? Avant de vous lancer dans ce type d’architecture, il convient de se poser les bonnes questions. Le Drupal « sans tête » est un concept où le CMS est utilisé strictement comme un système de gestion de contenu, sans thème front-end. Drupal permet de disposer d’une API pour faire la connexion avec d’autres applications tierces. Quant à l’affichage du contenu, il est possible de choisir parmi un large choix de frameworks et de librairies. Si le découplage propose plusieurs avantages par rapport au système de gestion de contenu monolithique notamment en termes de performance, d’opportunité front-end et d’expérience utilisateur… il faut toutefois prendre en considération certains aspects dont :

  • L’équipe : en divisant le projet en plusieurs bases de code, les développeurs se regrouperont naturellement autour de leur partie de la pile technologique. Une bonne communication entre les équipes sera alors indispensable pour livrer un projet cohérent.
  • L’interaction avec les données : lorsqu’on découple Drupal de la couche front-end, il convient de décider si Drupal doit être l’unique gestionnaire de tout le contenu, notamment dans le cas où la CMS doit recevoir des informations d’applications tierces. Les informations doivent-elles passer par l’API de Drupal ou par l’applicatif front-end ?
  • L’hébergement : il convient de prévoir l’architecture d’hébergement de l’applicatif découplé. Faut-il prévoir un hébergement séparé ou un hébergement de l’architecture entière ?

Sans compter les alias d’URL, les métadonnées, les redirections…  Découvrez toutes les questions à se poser dans cet article !

Nginx

25 mars – Christophe Dugué @chdugue
Faites tourner à tous les développeurs : #Nginx, c'est mieux. https://bit.ly/2E0ekAK
Votre application comporte plusieurs fichiers statiques (HTML, CSS et JavaScript), un service d’API backend ou plusieurs web services : Nginx peut être la solution dont vous aurez besoin. Nginx est un puissant serveur web qui utilise une architecture non threadée, pilotée par les événements. Ce serveur peut être une meilleure solution qu’Apache s’il est correctement configuré. Il peut également être utilisé pour l’équilibrage de la charge, la mise en cache http ou comme reverse proxy. Dans cet article, découvrez les étapes de base pour l’installation et la configuration de Nginx.

Peertube

23 mars – Christophe Dugué @chdugue
#PeerTube, alternative à youtube arrive... http://bit.ly/2DQ3zkh  - Hébergement de vidéos décentralisé, en réseau, basé sur du logiciel libre - #video #logiciel #Libre
Peertube est une plateforme d’hébergement de vidéos, décentralisée et basée sur un logiciel libre. Financée par l’association française à but non lucratif Framasoft, Peertube est un réseau de dizaines d’hébergeurs interconnectés, composé de personnes et d’administrateurs différents ce qui laisse la liberté aux utilisateurs de choisir l’hébergeur de leurs choix avec leurs propres règles. La plateforme permet de bénéficier de plusieurs avantages :

  • Etre en contact direct avec un hébergeur et d’influer sur les conditions de diffusion de la vidéo.
  • Disposer d’outils de description, de catégorisation, de personnalisation des miniatures, de marquage des contenus, etc.
  • Toutes les instances sont gérées et modérées de façon indépendante et Peertube n’est soumis au monopole d’aucune entreprise.
  • Les utilisateurs peuvent participer à la diffusion d’une vidéo avec les internautes qui la regardent en même temps pour une répartition saine des échanges sur la toile.

Let’s Encrypt

23 mars – Christophe Dugué @chdugue
Let's encrypt annonce délivrer désormais des certificats #WildCard - http://bit.ly/2DPLgLW  - #SSL #SysAdmin
Let’s Encrypt, l’autorité de certification à but non lucratif, propose des certificats gratuits depuis 2015 pour sécuriser tous les noms de domaines. Ces certificats sont recommandés pour sécuriser la connexion et passer un site en https. Un nouveau seuil a été franchi, puisque Let’s Encrypt a décidé de prendre en charge les sous domaines génériques en proposant les certificats génériques. Jusqu’à présent, un nom de domaine devait être associé à un certificat unique, de même pour un sous-domaine. Dorénavant, un seul certificat peut être associé pour le nom principal du site et servira pour tous les sous-domaines associés. Une initiative qui facilite les choses !

Design/ Accessibilité

19 mars – Ludovic Coullet @lcoullet
“A Primer to Web Accessibility for Designers” by @Nickramer : https://bit.ly/2FzyLFX
L’accessibilité doit être une priorité dès la conception UX/UI pour optimiser l’expérience utilisateur pour tout public. Le World Wide Web a élaboré une série de normes pour répondre aux problématiques d’accessibilité : le WCAG (Web Content Accessibility Guidelines). Pour analyser le niveau d’accessibilité et mettre en place de nouvelles solutions pour l’améliorer, le WCAG permet de se poser une série de questions selon quatre principes : la perceptibilité, l’utilisabilité, la compréhension, la robustesse. Voici quelques guidelines simples pour commencer à intégrer l’accessibilité dès la conception UX/UI.

Lus

25 mars – Christophe Dugué @chdugue
A tester... Lus, un #slack open source par @OpenLucius motorisé par #Drupal et #NodeJS : https://bit.ly/2LcIVz4
Lus est une plateforme Open Source de messagerie en temps réel, un peu comme Slack. Cette solution propose : 

  • La messagerie instantanée en privé ou en groupe ;
  • Le partage de fichiers ;
  • La gestion de projets et de tâches ;
  • La gestion de budget ;
  • La documentation (wiki).

Lucius Digital envisage de sortir cette solution sous forme de distribution Drupal. A tester !

Driver

13 mars – Christophe Dugué @chdugue
Puissant !! Plein d’idées pour des interfaces ! cc @ryadkarar @bluedrop_drupal @Marion_MLX - https://bit.ly/2Jph4eI
Driver.js est une librairie JavaScript légère (4kb, zippé) qui propose de mettre en avant certaines parties du site afin de guider la lecture de l’utilisateur ou d’attirer son attention sur certains éléments. En effet, la librairie permet de rendre plus sombres certains éléments pour ne laisser lisible que l’élément qui doit être mis en avant. Cet effet peut être ajouté à n’importe quel élément de la page, que ce soit une image, un champ de formulaire, etc. Driver.js propose également :

  • d’ajouter une description de l’élément mis en avant ;
  • de naviguer d’élément en élément grâce à des flèches ;
  • de bloquer les interactions de l’utilisateur ;
  • d’ajouter des shifters de mise au point pour les utilisateurs.

Une librairie qui peut se montrer très utile !

RGPD

12 mars – Christophe Dugué @chdugue
Vous administrez un site web : voici quelques éclaircissements importants concernant le #RGPD - https://bit.ly/2xtamCH
Le 25 mai 2018, le Règlement Général de Protection de Données (RGPD) sera applicable pour toute entité manipulant des données à caractère « personnel » de personnes physiques. Les sites internet devront être plus transparents quant à la collecte et l’usage fait des données personnelles. Alors, petit point sur les questions à se poser :

  • La raison de la collecte de données : Pourquoi collecter cette information et est-ce utile de la conserver ? Cela permet de faire un grand tri dans les données collectées afin de supprimer toutes celles qui ne sont pas pertinentes.
  • Consentement : le site propose t-il clairement les choix d’accepter et de refuser la collecte des données ? Les choix de consentement ou de refus doivent être clairement exposés.
  •  es logs serveurs : dans les logs serveurs, il y a des données personnelles comme l’adresse IP ou l’adresse e-mail de l’internaute. Dans quel but collecter cette information ? Si la raison est pour une analyse statistique, alors il faudra demander le consentement de l’internaute. En revanche, si le but de la collecte est de faire une recherche incident en cas d’attaques informatiques, alors il suffit d’ajouter cette information dans les mentions légales pour prévenir l’utilisateur.
  • Preuve du consentement : toute entité collectant et traitant des données à caractère personnel doit pouvoir apporter la preuve du consentement de l’utilisateur.

… et bien d’autres points à prendre en compte pour se conformer au règlement ! A lire !

25 mars – Christophe Dugué @chdugue
#RGPD : La communauté #Drupal travaille sur un module pour aider les administrateurs de site à suivre les lignes directrices du règlement -  http://bit.ly/2Grs0Kp  - Encore en alpha.
La communauté Drupal a initié le projet de développement d’un module contribué RGPD pour aider les administrateurs de sites à suivre les lignes directrices et la législation, établies par l’Union Européenne. Ce module vise à comprendre les relations RGPD - Drupal et proposer des outils d’aide pour rendre conforme un site au RGPD. Ce dernier envisage de proposer :

  • Une checklist pour l’administrateur qui permet de gérer le consentement des cookies, de vérifier la page de politique de confidentialité, etc.
  • Un sous module de consentement GDPR qui permet de mettre en place les champs de consentement RGPD et de suivre le consentement par utilisateur.
  • GDPR Fields pour indiquer les données personnelles au niveau du champ.
  • Une commande Drush qui a pour but d’empêcher les développeurs d’accéder à des données personnelles sensibles.

Le module est actuellement en alpha.

Veille synthétisée par @Myriam à partir des comptes twitter de l'équipe de bluedrop.fr.