Blog

DrupalCon Amsterdam - Episode 1 : Drupal en route vers sa version 9

Nono
01/11/2019
Du 28 au 31 octobre dernier, avait lieu l'événement incontournable de la communauté Drupal : la convention DrupalCon Amsterdam 2019. Et comme chaque année depuis plus de 10 ans, l'équipe d'Axess Open Web Services était présente.
Drupal arrive à la fin de sa version 8, et n'est plus qu'à 8 mois de sa prochaine version majeure. Retour sur les évolutions à venir de notre CMS préféré !
DrupalCon Amsterdam 2019

La convention DrupalCon Amsterdam 2019 vient de s'achever. Comme chaque année depuis plus de 10 ans, l'équipe Axess Open Web Services était (bien !) présente. Cette année, c'est Stamatia, Didier et Pierre qui ont eu la chance de pouvoir y participer. Retour sur 4 jours 100% Drupal !

Un moment incontournable de toute DrupalCon qui se respecte est bien entendu la présentation d'ouverture "keynote" (appelée Driesnote) de Dries Buytaert, le fondateur de Drupal. Ce dernier nous a ainsi confirmer que Drupal arrivait à la fin de sa version 8, et que nous ne sommes plus qu'à 8 mois de la sortie ("release") de sa prochaine version majeure.

Voici un bref résumé des évolutions à venir de notre CMS préféré que nous avons pu entrevoir à cette conférence.

 

Les dernières améliorations de Drupal 8

 

  • Drupal automatic update

Il s'agit d'un module permettant de mettre à jour les modules contribués d'un site Drupal, et même le core, tout cela via l'UI (Interface Utilisateur), c'est-à-dire sans passer par le terminal ou le code source.

Cette fonctionnalité est assez intéressante, et nous sommes d'ailleurs en train de travailler sur quelque chose de similaire en interne chez AOWS, mais il est trop tôt pour en dire davantage. Pour en savoir plus, surveillez nos prochains billets de blog ! :)

 

  • Claro

Drupal va très bientôt être équipé d'un nouveau thème d'administration par défaut pour son Back-Office. Le précédent fut conçu il y a 10 ans, et aura bien vécu, mais il n'est tout simplement plus adapté aux usages modernes des contributeurs, en termes d'ergonomie, de design et d'accessibilité.

Ce qui peut paraître comme un point de détail est une avancée majeure qui va permettre de rendre Drupal plus accessible par défaut à de nouveaux utilisateurs, le rapprochant des standards en termes de Back-Office, comme celui de WordPress par exemple.

 

  • Composer et Drupal

Composer devient un outil toujours plus central dans la composition de l'ensemble des sites, frameworks et/ou CMS modernes en PHP. C'est en toute logique que la communauté Drupal a continué son travail pour améliorer l'utilisation combinée de Drupal et de Composer.

Il est désormais possible d'installer et de mettre à jour Drupal en une seule étape, comme le montre la saisie d'écran ci-dessous :

Composer drupal 8-8

 

 

  • Drupal découplé

Drupal était déjà l'une des meilleures solutions Open Source où le Backend et le Frontend peuvent être séparés (souvent appelées "headless"). Mais la communauté a encore amélioré cela avec :

      > Une documentation auto-générée via Open API.

      > L'ajout de JSON:API Explorer.

      > Et l'amélioration des performances de JSON:API.

 

JSON:API Explorer est particulièrement intéressant, rendant JSON API beaucoup plus facile à comprendre et utiliser. Cette fonctionnalité permet de composer une requête JSON:API avec l'aide d'une UI (Interface Utilisateur). 

Nous avons d'ailleurs récemment développé et mis à disposition un outil similaire pour le site de notre client Paris Musées Collections avec la norme/technologie GraphQL.

JSON API Explorer

 

Le passage en Drupal 9

La sortie officielle de Drupal 9 se rapproche : il ne reste ainsi plus que 8 mois avant de découvrir la prochaine version majeure de Drupal.

Le passage de Drupal 7 à Drupal 8 fut assez douloureux pour l'ensemble de la communauté. L'ensemble des modules ont dû être réécrits, et certains des modules contribués les plus importants ont mis beaucoup de temps à être prêts en version 8. Drupal Commerce fut ainsi entièrement réécrit et a mis 2 ans avant de revenir à un état fonctionnel et technique comparable à celui qui était le sien en Drupal 7.

Des leçons ont été tirées de tout cela afin que la prochaine montée de version majeure se passe beaucoup plus simplement.

Tout d'abord, il fut pris en exemple le modèle de Symfony, où la version majeure suivante (Drupal 9) est égale à la dernière version mineure de la version majeure précédente (Drupal 8.9), moins le code déprécié.

Et afin d'aider l'ensemble de la communauté à se préparer au passage à Drupal 9. Il existe d'ailleurs dès aujourd'hui, un module dédié pour indiquer si votre site est prêt. Il s'agit de Upgrade Status (à installer via Composer pour pouvoir gérer les dépendances).

A noté qu'à 8 mois de la sortie de Drupal 9, 16% des 200 modules les plus populaires sont déjà prêts. Une bonne chose étant donné qu'à la sortie de Drupal 8, aucun module n'était prêt en même temps que le core.

Changement de version majeure de Drupal

 

Le futur de Drupal

Mais une fois Drupal 9 sorti, il se passe quoi ?

Et bien, nous (la communauté Drupal) allons continuer avec l'approche qui a fait le succès de Drupal. A savoir discuter collectivement pour identifier de nouvelles initiatives et travailler ensemble afin de les réaliser.

Dries propose ainsi déjà 4 nouvelles initiatives pour le futur de Drupal sur le long terme :

⦁    Réduire les coûts et efforts pour la gestion d'un site en Drupal.

⦁    Prioriser l'expérience des nouveaux utilisateurs. Un nouveau thème pour le Front-Office est d'ailleurs en cours de construction grâce au sponsoring de l'entreprise américaine Lullabot).

⦁    Drive the open web  / Aider au développement du Web ouvert.

⦁    Etre le meilleur moteur de structuration des données.

A ce sujet, en tant que developpeur back-end, celle dont nous voudrions ici vous parler plus en détail est l'initiative concernant l'orientation en tant que moteur de structuration des données. Qu'est-ce que c'est que ce terme compliqué ?

D'après Dries, 4 Milliards de nouveaux utilisateurs arriveront sur Internet d'ici à 2022-2025. Et nous passerons de 20 milliards d'appareils connectés à Internet en 2020, à 300 milliards en 2030.

Cela devrait engendrer beaucoup de changements majeurs. En plus d'une explosion du nombre de données circulant sur Internet, cela devrait également changer la façon dont circulent ces données, et la façon dont Drupal devrait interagir avec ces données.

Actuellement, la saisie / l'insertion de contenu dans un site n'a pas beaucoup évolué depuis ces dernières années. Le contenu est entré manuellement dans un Back-Office puis rendu en HTML.

Mais dans un futur proche, le contenu entrera dans Drupal de 12 manières différentes, et en sortira d'autant d'autres manières (vous l'aurez compris, 12 est un nombre aléatoire).

Cela signifie également que dans le cadre du développement ordinaire d'un site, nous n'allons plus seulement être amenés à utiliser des WebServices externes mais également à produire des WebServices.

Drupal Post Browser World

 

Ainsi, Drupal doit évoluer pour ne plus être seulement un simple répertoire de contenu, mais avant tout un outil permettant de structurer et organiser ce contenu.

 

Conclusion

Les DrupalCon sont toujours l'occasion de prendre le pouls de la communauté, de saisir ses doutes et ses aspirations. De notre point de vue, le DrupalCon Amsterdam marque clairement l'entrée de notre CMS préféré dans un nouveau cycle prometteur de développement et de prouesses techniques, pour que cet outil Open Source continue a être le leader dans le monde sans pitié des CMS Open Source. En tant que développeurs Drupal, ces événements sont une source de motivation, d'inspiration et de formation. C'est une fierté d'appartenir à une communauté aussi brillante, active et inclusive.

On pouvait croire Drupal usé, vieillissant et obsolète... Au contraire, le virage amorcé avec Drupal 8 et maintenant Drupal 9 le replace au centre d'Internet, et nous prenons le pari que si 1 site sur 40 tourne sous Drupal aujourd'hui, ce sera 1 sur 20 dans quelques années, grâce aux efforts de notre communauté.

 

Post-Scriptum (un peu de tourisme / culture quand même)

Dans les rues d'Amsterdam, Il fut impossible de tourner la tête sans voir un vélo. Mais nous n'avons pourtant aperçu AUCUNE boutique en vendant. D'où viennent-ils alors ? Comment se sont ils reproduits ? A qui profitent-ils ? Quel est leur réseau ?

DRUPAL – 9 modules indispensables pour votre site web

emeline.peysson
30/10/2019
Optimisation du SEO, aide au développement, assistance à la création de contenus éditoriaux… Découvrez notre sélection de 9 modules Drupal indispensables pour votre site internet !
Modules Drupal indispensables pour mon site web

Nous comptons aujourd’hui plus de 8000 modules Drupal proposés gratuitement par la communauté. Toutefois, il est souvent difficile de s’y retrouver tant le choix est vaste. Dans cet article, nous avons sélectionné pour vous, 9 modules Drupal indispensables pour la gestion de votre site internet. C’est parti !

 

Les modules Drupal pour optimiser son référencement naturel

Comme son nom l’indique, Metatag permet une gestion avancée et optimisée des balises Meta nécessaires au référencement, mais aussi au partage des contenus sur les réseaux sociaux (balises Twitter Cards et Opengraph pour Facebook par exemple).

Avoir des URL claires c'est bien, mais avoir des URL claires générées automatiquement à la création de votre contenu, c'est encore mieux.
Avec Pathauto, vous gagnez du temps : à chaque création de page, le module génère systématiquement une URL lisible pour l’internaute et optimisé pour les moteurs de recherches.

Cet outil permet de maîtriser les erreurs 404 en redirigeant les pages concernées vers des contenus existants (grâce à une redirection 301).
Vous comprendrez donc aisément, que ce module est d’autant plus indispensable pour gérer une refonte de site web.

 

Les modules Drupal pour intégrer et développer son site internet

Le système de gestion de la configuration (CMI) amené par Drupal 8 est d'une grande puissance, mais il peut aussi s'avérer dans certains cas, d'une extrême rigidité. Cela est d’autant plus vrai lorsqu’on a affaire à de gros sites ou à des usines à sites avec des instances multiples (dev / preprod / prod).
Grâce à Config Ignore, vous pouvez gérer plus facilement cet aspect complexe de l'intégration continue en Drupal 8.

C’est le couteau suisse du développeur par excellence ! Cette extension est notamment très utilisée par les développeurs qui ne connaissent pas ou peu Drupal. En effet, Devel donne par exemple accès aux performances des pages web ou encore à la structure du site internet.

 

Les modules Drupal pour créer et organiser ses contenus

Depuis l'apparition des devices mobiles et du Responsive Web Design, une image doit être capable de s'afficher sous différents formats et différentes tailles.
Au départ sur Drupal, on devait uploader (télécharger) une image pour chaque format. Aujourd’hui, le CMS nous permet de gérer les redimensionnements automatiques. Toutefois, cette amélioration ne tient pas forcément compte du cadrage.
Avec Focal Point, vous pouvez définir en Back-Office un point focal pour chaque image afin que le module les redimensionne automatiquement en fonction du centre que vous aurez déterminé.

Field Group permet d’organiser les formulaires de création de contenu afin de vous y retrouver plus facilement. C’est l’outil indispensable pour la construction logique et ergonomique des types de contenu Drupal.

Paragraphs permet de créer des pages à la mise en forme parfois complexe en y incluant du texte, des photos ou encore des vidéos. C’est LA nouvelle façon de construire des contenus riches, sémantiques, accessibles et responsives depuis le Back-Office, en s'affranchissant du traditionnel RTE (Rich Text Editor).

Lorsqu'on travaille la création de contenus en Back-Office, on s'aperçoit qu'un contenu n'est jamais seul : il faut l’illustrer et donc lui associer d'autres contenus (entités). Soit des contenus existants (sélection d'articles connexes), soit des médias (photos, vidéos). Le module Entity Browser propose une interface ergonomique et personnalisable pour que les utilisateurs puissent rapidement trouver et associer des contenus entre eux.

Drupal : Le CMS idéal pour votre site web ?

emeline.peysson
07/10/2019
Un CMS est une interface qui permet de créer, gérer et modifier le contenu d’un site internet de façon simplifiée. Voyons ensemble pourquoi Drupal est la solution idéale.
Drupal - Le CMS idéal pour votre site web

 

Aujourd’hui, avoir un site internet ne suffit plus. Il faut pouvoir le faire vivre et donc l’alimenter régulièrement en contenu. Pour ce faire, utiliser un CMS est LA solution pour les entreprises ne possédant pas de compétence interne en programmation web.

C’est quoi un CMS ?

C’est l’acronyme de « Content Management System » signifiant en français « Système de gestion de contenu ». En d’autres termes, un CMS est une interface permettant de créer, gérer ou modifier le contenu d’un site internet sans avoir à se soucier de la mise en forme. En effet, un CMS ne vous demandera pas de vous y connaître en programmation/développement informatique : une fois connecté au « back-office », il vous sera très simple de réaliser vos pages, de gérer vos catégories ou d’articuler vos menus. Dans la plupart des cas, vous aurez même la possibilité d’améliorer votre CMS en lui ajoutant des extensions comme une barre de recherche ou une aide au référencement par exemple.
Enfin, autre avantage certain, un CMS peut être utilisé par plusieurs personnes en même temps.

Quel CMS adopter ?

Vous trouverez deux types de CMS sur le marché : ceux qu’on appelle Open Source (très nombreux et disposant d’une forte communauté) et les solutions Propriétaires (payantes et tributaires des choix de leurs créateurs). Chez Axess Open Web Services, nous vous conseillons d’opter pour un CMS Open Source car c’est l’option qui vous garantira souplesse et autonomie au quotidien, ainsi qu'une pérennité et une réversibilité facilitée sur le long terme.
Il existe plusieurs CMS Open Source. Parmi les plus connu, Wordpress, Drupal, Magento, Prestashop, ou encore Joomla. En fonction de votre besoin (site vitrine, e-commerce, blog…), choisissez le CMS le plus adapté à votre entreprise.

Pourquoi choisir Drupal ?

Voici 4 raisons de choisir Drupal comme CMS :

  • Sécurisé : constamment mis à jour, Drupal est un CMS Open Source bénéficiant d’une forte communauté qui garantit son développement, sa maintenance et la protection maximale de ses utilisateurs. Entre autre, le site web de la NASA tourne sous Drupal !
  • Flexible : convient aussi bien pour un site vitrine qu’un site e-commerce. Le CMS est également très plébiscité pour la création d’intranet et d’extranet. Puissant, Drupal permet donc de réaliser tous types de sites, des plus simples aux plus complexes (d’ailleurs, plus le site est complexe, plus il se distingue de la concurrence).
  • Performant : Drupal offre la possibilité d’optimiser son référencement naturel sur les moteurs de recherche grâce à un Framework très abouti. Qui plus est, ses fonctions de base et ses modules complémentaires permettent de mettre facilement en oeuvre un site multilingue.
  • Personnalisable : des milliers de thèmes, de nombreuses extensions (modules) disponibles gratuitement… avec Drupal, il n’y a pas de limite ! Il existe d’ailleurs aujourd’hui, plus de 8 000 modules gratuits pour répondre à tous les besoins de vos projets.

Retour sur la dernière faille de sécurité majeure drupal (SA-CORE-2019-003)

slybud
28/02/2019
Retour d'expérience sur la dernière faille de sécurité du core Drupal et comment nous avons géré cela sur les sites que nous maintenons en TMA chez Axess Open Web Services
Drupal Security Alert

Vous l'avez sans doute remarqué, cela fait maintenant deux ans que les failles de sécurité majeures se multiplient sur le core de notre CMS/CMS favori (Drupal pour ceux.elles qui se seraient vraiment perdu.e.s et seraient arrivé.e.s sur ce billet de blog en tapant "croisement cochon d'inde licorne"). Deux manières de voir les choses :

  • Drupal est un CMS peu fiable et les failles de sécurité sont légion, c'est peu rassurant
  • Drupal, en tant que logiciel (libre ou non), est un ensemble de lignes de code exposé comme les autres et il faut souligner la maturité de cette outil dans la gestion de sa politique de sécurité avec une équipe dédiée à la sécurité et des process clairs.

Devinez quel point de vue nous avons adopté à AOWS ? ;-)

Il m'a semblé intéressant de vous raconter comment se passe une mise à jour de sécurité critiques pour les sites dont nous assurons la TMA (plusieurs dizaines, la plupart très sensibles), et quels process nous avons mis en place au fur et à mesure des années pour gérer sans encombre ces événements.

Pour résumer :

  • Nos architectes et chefs de projet techniques suivent de près les publications de la security team et les annonces de sécurité
  • Une faille de sécurité majeure, telle que celle du 20/02/2019, est annoncée quelques jours auparavant par la security team drupal
  • A ce moment, l'annonce est analysée par nos architectes techniques afin d'évaluer au mieux les risques
  • En parallèle, notre directeur d'activité recense les membres de l'équipe qui pourront être présents le jour J, à l'heure dite, sur la base du volontariat/en fonction des contraintes de chacun
  • La liste des sites que nous maintenons est vérifiée en amont et les mises à jour sont réparties entre les forces qui seront présentes le jour J
  • Les clients sont prévenus (Mail et/ou interface de tickets Redmine) de la future mise à jour, et éventuellement leurs hébergeurs si nous ne pouvons pas déployer nous même
  • Les pizzas et autres nourritures à forte teneur en calories techniques sont commandées
  • L'équipe attend fébrilement la sortie de la faille et du/des patch(es)
  • Ces éléments sont analysés par nos architectes techniques dés leur sortie
  • Un plan est établi en fonction des typologies de sites impactés et des priorités et les mises à jour + déploiement commencent
  • La check-list est vérifiée
  • Tout le monde peut reprendre une activité normale et dormir sur ses deux oreilles

Je ne vous ai pas parlé ici de la coopération renforcée avec les administrateurs systèmes qui dans certains cas nous permettent de court-circuiter pas mal d'étapes pour tous les sites hébergés par nos soins, en concoctant un script magique qui recherche toutes les instances drupal sur un serveur et les patche ensuite dans la foulée. Tout cela est déployé en un clic avec notre système d'orchestration Saltstack : c'est le pouvoir et la magie noire du DevOps !!

Si vous souhaitez nous confier votre projet de Site Internet et/ou de TMA drupal pour bénéficier de tous ces process, n'hésitez pas à nous contacter !

 

Bilan #Drupalgeddon

slybud
29/06/2018
Sécurité : Retour sur les épisodes #DrupalGeddon 2018 @OWS et @OWNS
Photo de l'équipe OWS au travail le soir du DrupalGeddon2

Autant 2015, 2016, 2017 ont été des années relativement "normales" en termes de failles de sécurité sur notre CMS préféré (le dernier épisode hautement critique datant d'octobre 2014 : faille Sql injection connue sous le nom de "Drupalgeddon"), autant 2018 aura démarré déjà bien fort en nous proposant 2 failles hautement critiques dans le core drupal, toutes version confondues (8, 7 et même Drupal 6, car oui, il existe encore des Drupal6/Pressflow en production, ne faites pas les innocents).

Je profite de ce billet de blog pour féliciter toutes les équipes OWS et OWNS pour leur implication, leur préparation et leur professionnalisme au cours de ces deux événements. Pour rappel, la publication de ce genre de failles nécessite des réactions dans l'heure afin de garantir la sécurité des sites de nos clients et la non compromission de leurs systèmes d'information.

Petit rappel du (bon) déroulement des opérations , n'hésites pas à nous contacter si vous souhaitez en savoir plus ou voir comment nous pourrions vous aider à mettre ces process en place. Pour les clients disposant d'un contrat de TMA chez OWS, cela s'est passé de la manière suivante :

  • Veille technologique hebdomadaire de nos architectes techniques et lead développeurs, ayant permis de prendre connaissance une semaine avant de la SA et de la fenêtre de release des patches
  • Mobilisation des équipes pour réserver du temps de travail sur ce créneau inhabituel (20h-22h pour le premier épisode) et vérifier la disponibilité de chacun
  • Vérification de l'état de toutes les instances (preprod et prod) des drupal maintenus
  • Déploiement éventuel des développements/mises à jour en attente ou création des branches git adéquates
  • Vérification de l'intégration continue pour tous ces projets
  • Recensement des hébergeurs tiers et prise de contact pour les prévenir des déploiements nécessaires sur le créneau visé
  • Répartition des clients sur tous les membres de l'équipe disponible (à la fois pour l'application des patches, mais aussi pour les déploiements/l'intégration continue et la recette technique après déploiement)
  • Alerte de tous les clients de l'opération à venir
  • Attente du jour J et de l'heure H

En parallèle, les administrateurs systèmes de notre filiale Open Web Network Solutions ont mis en place les actions suivantes :

  • Mobilisation des équipes pour réserver du temps de travail sur ce créneau inhabituel (20h-22h pour le premier épisode) et vérifier la disponibilité de chacun
  • Préparation d'un script d'orchestration permettant de
    • recenser automatiquement toutes les instances drupal d'un serveur
    • recenser les fichiers concernés par le patch de sécurité
    • appliquer automatiquement le patch de sécurité à ce fichier
    • sortir un rapport détaillé pour les éventuelles actions manuelles à mener pour de rares cas
  • Tests de ce script sur des infras de dev
  • Prévenir les clients (hors TMA OWS

Résultat : à l'heure H du jour J, dans une ambiance détendue et d'équipe, avec de la restauration livrée dans les locaux pour ceux qui étaient sur place à l'agence, il nous a fallu 2 heures pour mettre à jour et sécuriser des centaines d'instance drupal et aller se coucher apaisés :) . Aucun site n'a d'ailleurs été compromis grâce à ces actions

Donc encore bravo et merci à toute l'équipe et aux process/méthodes éprouvées pour la TMA et linfogérance Drupal.

Pour références/aller plus loin :

 

 

 

Développement drupal sous vim : liste des fonctions drupal 6

piotre
19/03/2009
Comment ajouter l'autocomplétion des fonctions de Drupal 6 à vim

Après quelques projets drupal 6 développés sous l'éditeur vim, je me suis aperçu qu'une autocompletion incluant les fonctions core drupal 6 serait bien utile.

J'ai trouvé le dictionnaire des fonctions core drupal 5 pour vim ici : http://www.vim.org/scripts/script.php?script_id=1675, mais pas le dictionnaire des fonctions core drupal 6.

J'ai donc générer à l'aide d'un script la liste de l'ensemble des fonctions core drupal 6, tout en respectant la syntaxe des dictionnaires vim : drupal_6_core_functions.dict

Ensuite j'ai :

Et hop le tour est joué !