Drupal 8 : de Barcelone à Dublin, une année à fond de train

drupal-8-logo-rgb-72

Lors du DrupalCon de Barcelone en septembre 2015, la communauté Drupal était très déçue de pas avoir réussi à finaliser Drupal 8, pourtant en développement depuis bientôt quatre ans.
Au moment du DrupalCon de Dublin en septembre 2016, Drupal 8 était non seulement disponible depuis plusieurs mois, mais deux nouvelles versions mineures (8.1.0 et 8.2.0) avaient déjà vu le jour.
Cette version est sans aucun doute la plus importante de l’histoire du projet, tant par les nouveautés apportées au logiciel que par les changements appliqués au processus de développement.
De ce fait, on peut se poser la question suivante : comment la communauté Drupal est-elle passée d’un délai de quatre ans entre les versions 7 et 8, à des itérations courtes et des nouveautés fréquentes ?

La mise en place des versions planifiées
Le graphique ci-dessous montre à quel point le temps entre chaque version de Drupal a augmenté de façon considérable.
crop_drupal

Ce délai entre Drupal 7 et 8 a aussi révélé un certain nombre de problèmes.
Puisque cette version était en mode de développement durant quatre ans, les contributeurs avaient l’impression de travailler dans une sorte de bulle, ajoutant de nouvelles fonctionnalités sans jamais savoir si elles répondaient à des besoins réels chez l’utilisateur hypothétique.
La mise en place de versions planifiées est venue remédier à ce dysfonctionnement en prévoyant une nouvelle version tous les six mois.

Cela permet aux développeurs d’ajouter des nouveautés beaucoup plus souvent, de recevoir des commentaires d’utilisateurs réels et d’être ainsi mieux à même de suivre le marché.
La sortie d’une nouvelle version marque aussi la fin du support de la précédente pour inciter les utilisateurs à tenir leur site à jour et pour éviter d’avoir à supporter plusieurs versions.
La gestion sémantique de version
Le passage d’un système de version à deux chiffres (7.x) à un système de version à trois chiffres (8.0.x), appelé gestion sémantique de version, a favorisé la mise en place des versions planifiées et permis de limiter les changements de versions majeures.
Le premier chiffre, la version majeure, n’augmente que lorsque des changements rétro-incompatibles sont nécessaires. Le troisième, la version de correctif, est augmenté chaque fois qu’une mise à jour de sécurité ou qu’un correctif de bogue est appliqué. Finalement, la version mineure représentée par le chiffre du centre, est augmentée toutes les fois que de nouvelles fonctionnalités rétro-compatibles sont ajoutées.
Dans le cas de Drupal 8, c’est cette version mineure qui est incrémentée tous les six mois.

Les modules expérimentaux
En plus des sorties planifiées et des versions sémantiques, Drupal 8 introduit aussi le concept de module expérimental.
Un module expérimental est un module qui aspire à être inclus dans le cœur de Drupal, mais qui n’a pas encore atteint une stabilité acceptable.
Comparativement à un module communautaire, un module expérimental reçoit davantage de visibilité de la part des utilisateurs et des core commiters puisqu’il est inclus dans le cœur de Drupal.
Toutes les modifications apportées à son code sont revues par une personne responsable du projet, garantissant ainsi qu’il ne contient aucune faille de sécurité connue ni aucun risque de perte de données.
Notons aussi que leur utilisation dans un environnement de production est déconseillé et que leur avenir dans le cœur de Drupal n’est pas garanti, car s’ils ne se stabilisent pas dans un délai d’un an, ils seront retirés.

Les nouveautés dans Drupal 8.2.

1) De nouveaux modules expérimentaux
– «Content moderation» qui introduit les états de modération du contenu.
– «DateTime range» qui permet d’ajouter des dates de fin.
– «Place block» qui permet de placer des blocs directement sur une page sans avoir à passer par les pages d’administration, facilitant ainsi la visualisation du rendu.
– «Settings tray» qui introduit un panneau latéral pour éditer la configuration de certaines parties des pages comme, par exemple, les menus.

2) Des améliorations à des fonctionnalités déjà présentes
– Des URL relatives converties en URL absolues lorsque présentées dans un flux RSS.
– Des révisions activées par défaut pour les nouveaux types de contenus.
– Un progrès considérable du côté du support REST, qui permet un plus grand contrôle sur un site Drupal depuis une application externe.

Que peut-on espérer pour Drupal 9 ?

Avec ce nouveau modèle de développement, certains se demandent si Drupal 9 sera vraiment nécessaire dans un futur proche.
Il est vrai que les nouveautés de Drupal 8 vues ici nous permettent d’ajouter des fonctionnalités beaucoup plus facilement et rapidement qu’auparavant, alors pourquoi ne pas continuer ainsi pendant plusieurs années ?
Nous sommes portés à croire que ce sera probablement le cas. Tant qu’il n’y aura pas un excès de couches de rétro-compatibilité qui gagneraient à être retirées ou qu’il n’y a pas de besoin urgent de faire des changements rétro-incompatibles, Drupal 8 continuera d’évoluer au rythme de ses versions mineures.
De plus, étant donné que la sortie d’une nouvelle version mineure implique la fin du support de la précédente, nous pouvons espérer que lorsque Drupal 9 sortira, la transition se fera beaucoup plus efficacement que celle entre Drupal 7 et 8. Et ce pour deux raisons.
Premièrement, puisque le plus important changement sera probablement le retrait des couches de rétro-compatibilité, et que leur dépréciation aura été annoncée progressivement au fil des versions mineures, les modules communautaires auront eu amplement le temps de s’adapter.
Deuxièmement, si des changements rétro-incompatibles sont ajoutés tels que des modifications aux API ou aux structures de données, ils seront certainement moins colossaux que ceux que nous avons vus entre les versions 7 et 8, ce qui présage une mise à jour beaucoup plus aisée.

Sources
Dries Buytaert, Driesnote, DrupalCon Dublin 2016
Gábor Hojtsy, Checking on Drupal 8’s rapid innovation promises, DrupalCon Dublin 2016

SVG Summit 2016: plein feu sur le format vectoriel ouvert SVG

Affiche Web du SVG Summit 2016Le SVG est une bibite rare! À la fois code et image, il peut être léger (comme le logo de Google dont une variante mobile ne pèse que 305 bytes!) mais aussi très chargé, soit plusieurs Mo. Il peut être interactif ou statique et n’a pas de résolution fixe. On peut le visionner dans un navigateur ou dans un logiciel graphique… On en vient à se demander ce que ça mange en hiver!

En janvier dernier, pour en savoir plus, j’ai assisté à la toute première conférence en ligne sur le sujet, organisé par Environments for Humans  : Le SVG Summit 2016. La liste des présentateurs était un heureux mélange d’illustrateurs, d’animateurs et d’intégrateurs. Ils ont tous parlé de l’usage qu’ils font du SVG dans le cadre de leurs pratiques respectives.

▶ Suite : Introduction au SVG


Conclusion

Après 15 ans d’existence, le SVG reçoit enfin l’attention qu’il mérite. L’avenir de cette technologie aujourd’hui implémentée dans tous les navigateurs modernes est prometteur. Elle continuera de nous en mettre plein la vue dans les années à venir.

Design web: comment tirer parti de l’innovation des logiciels libres

Émilien Edmond évolue aussi vite que le web! Designer UX/UI principal chez Savoir-faire Linux depuis bientôt trois ans, il adapte continuellement ses processus de travail. Le 18 mars dernier, il inaugurait la piste Design du Web à Québec (#WAQ) 2015 en lançant un message clair aux designers et enseignants qui utilisent encore l’arsenal logiciel classique du design propriétaire sans se poser de question. D’après lui, le moment est venu d’examiner — ou de réexaminer — de très près ce que leur propose aujourd’hui un certain nombre de logiciels libres.

Édités par des startups ou des chefs de file du secteur comme Adobe, portés ou appuyés par la communauté, ces logiciels s’adaptent rapidement aux réalités changeantes du Web et plusieurs d’entre eux arrivent aujourd’hui à maturation. En quoi leur utilisation pourrait-elle avoir un impact positif sur le travail des designers Web? Sont-ils fiables et matures? Y a-t-il encore des freins à leur utilisation? Si oui, comment les débloquer? Quelles sont les futures innovations auxquelles il faut s’attendre? Voici les principaux sujets abordés par Émilien dans cette conférence.

Sans oublier la présentation, rapide mais commentée, de plusieurs logiciels et sources d’information complémentaire:

  • Pencil: maquettes et prototypes (24’40 »)
  • Inkscape: dessin vectoriel (25’23 »)
  • Scribus: PAO (26’14 »)
  • Krita: dessin et illustration (26’31 »)
  • Gravit: éditeur graphique (27’03 »)
    NB: les sources de ce logiciel ne sont plus disponibles depuis mai 2015, mais un fork de la version GPL d’août 2014 est disponible sur Github.
  • Brackets: éditeur texte (28’05 »)
  • Framer: animation (28’57 »)

Et pour rester à l’affût de l’innovation du design libre et ouvert:

OCTAS 2015 : votez pour le Centre collégial des services regroupés, Véga, Python… et Savoir-faire Linux!

Prix COUP DE CŒUR TIIl y a quelques jours, le Réseau ACTION TI annonçait que, pour la première fois en 2015, un prix du public serait remis lors du Gala des OCTAS 2015, le 28 mai prochain : le prix COUP DE CŒUR TI. Parmi les 77 organisations nominées figure le Centre collégial des services regroupés (CCSR), qui lançait récemment Véga. Cette application Web de dernière génération permet à ses abonnés de gérer efficacement les données sur les produits dangereux entreposés par leur organisation, conformément aux normes et lois en vigueur.

En tant que fournisseur ayant développé ce projet, Savoir-faire Linux vous suggère fortement — sans aucun parti-pris LOL — de voter pour le Centre collégial des services regroupés avant le 27 mai. Comme vous allez le constater en lisant ce qui suit, ce ne sont pas les bonnes raisons qui manquent, que ce soit pour l’amour du logiciel libre, du langage Python, des applications Web utiles et bien faites, des normes de sécurité publique, de l’éducation supérieure ou de la mutualisation!

Votez maintenant!

Un peu d’histoire*

Centre collégial de services regroupésEn 2001, le CCSR met sur pied une banque de fiches signalétiques de produits contrôlés, Reprofics, pour en centraliser la mise à jour. Reprofics est d’abord accessible aux abonnés par l’entremise d’un logiciel propriétaire. Au tournant de 2008, ce logiciel n’est plus développé, ni supporté. De nombreux établissements continuent néanmoins de l’utiliser.

Des démarches sont entreprises pour l’adoption d’un nouveau logiciel, mais aucun des produits analysés ne convient aux utilisateurs. Le Cégep régional de Lanaudière amorce alors le développement d’un logiciel d’inventaire des produits contrôlés sous la supervision d’un chimiste, en collaboration avec des stagiaires. Au terme de ce développement, le Cégep propose au CCSR d’intégrer la banque de fiches au logiciel d’inventaire : la première version de Véga voit le jour.

Cette première application Web réalisée en .NET par des étudiants permet de répertorier les produits se trouvant dans un local donné et de les relier aux fiches signalétiques de Reprofics. Une autre interface permet de consulter la banque de fiches. Des fonctionnalités s’ajoutent au fil des ans (impression d’étiquettes en quatre formats, intégration de plans en PDF, aide à la préparation de laboratoires).

En 2012, Véga n’est cependant utilisée que par quelques établissements en phase pilote et n’est toujours pas commercialisable. En raison de son développement par des stagiaires sur une courte période, de la multiplication des modules et du manque de cohérence du code, faire évoluer Véga devient difficile, tant en ce qui a trait à l’apparence et à l’adaptabilité (téléphone, tablette) qu’à l’optimisation des fonctionnalités.

Le CCSR, propriétaire de Reprofics, rachète alors les droits de Véga au Cégep régional de Lanaudière et entreprend la refonte de l’application dans le but de la faire évoluer. Il met sur pied un comité d’utilisateurs responsable de proposer et de prioriser les adaptations et les développements.

Véga, la refonte

La refonte de Véga a été réalisée de janvier 2013 à janvier 2015 en collaboration avec Savoir-faire Linux. La nouvelle solution Web, développée en python avec le cadre d’applications Django, maintient et améliore les fonctionnalités existantes, en plus d’en proposer de nouvelles :

  • Banque de fiches – Accès aux fiches sommaires normalisées réalisées à partir des fiches d’origine (PDF), facilitant la tâche des utilisateurs des produits contrôlés en regroupant sur une même feuille toute l’information relative à l’identification du produit, à sa classification SIMDUT, à l’équipement de protection individuelle requis lors de l’utilisation, à sa manutention, à son entreposage et aux premiers soins à donner en cas d’urgence; ◤vidéos◥
  • Étiquettes – Production d’étiquettes conformes à la loi pour chaque produit dans tout format d’étiquette possible; (voir figure 1 plus bas)
  • Inventaire – Gestion, dans un emplacement accessible à tout intervenant autorisé, de l’inventaire des produits dangereux reliés aux fiches signalétiques des produits; ◤vidéos◥
  • Mesures d’urgence – Centralisation des plans de contingence concernant les produits dangereux et des plans détaillés des bâtiments, possibilité de les imprimer à même l’interface Web et de les envoyer sous forme de fichiers PDF aux services d’urgence, possibilité de créer un compte d’accès spécial permettant aux intervenants externes de récupérer en tout temps l’information et les plans les plus récents.
  • Mobilité et consultation multi-plateformes – Prise d’inventaire et gestion des fiches signalétiques et accès facilités par l’usage de tablettes et de téléphones intelligents.
  • Accès en mode consultation – Accès direct à partir de n’importe quel poste informatique d’une organisation membre (filtre par adresses IP), une fonctionnalité appréciée des professeurs et étudiants.

En conclusion, Véga est un projet numérique novateur qui tire parti des technologies de l’information afin d’améliorer l’efficacité et la transparence de la gestion des produits dangereux au sein des organisations. Le recours aux technologies ouvertes python et Django donne au CCSR le contrôle du code et de la propriété intellectuelle et assure le développement futur de l’application en fonction de l’évolution des besoins des utilisateurs, sans frais de licence et sans dépendre d’un fournisseur.

Image
Figure 1 – Exemple de formats d’impression d’étiquettes

Le Web à Québec, du développement à la communication Web… et plus loin encore!

Émilien Edmond sur la scène du WAQ 2015La semaine dernière, j’ai eu la chance de passer une journée au Web à Québec, alias #WAQ15, en compagnie de 800 « passionnés du numérique ». Le matin, j’ai filmé la conférence présentée par Émilien Edmond sur l’état des logiciels libres pour le design. Puis, le midi, j’ai croisé plusieurs collègues et amis, développeurs et communicateurs Web, de Québec et de Montréal, pour une fois tous réunis au même moment et au même endroit.

L’après-midi, j’ai pris quelques photos dans la salle Savoir-faire Linux où avait lieu la piste dite « technique » du WAQ. Je ne sais pas si c’est la qualité du programme concocté par les organisateurs, la déco soigneusement orchestrée par Mlle Marianne, les « ubergeek goodies » tirés au sort en fin de journée ou tout cela à la fois qui a enflammé la #salleSFLX, mais ce qui est sûr, c’est que celle-ci était bondée et ses présentations très appréciées.

WAQ15

Spécialiste des médias sociaux, Mélissa s’implique comme bénévole

Avant de partir, j’ai enregistré cette conversation entre Mélissa Langlais, spécialiste web et médias sociaux chez notre client et partenaire GESTEV, et Anick Tardif, directrice du Bureau de Québec et des Solutions Web chez Savoir-faire Linux.

La discussion porte sur la nature de l’expérience que Mélissa est en train de vivre. Elle aurait pu assister au WAQ en simple participante, mais elle a choisi de s’y investir comme bénévole. De plus, elle a assisté à une conférence technique dont les principaux concepts, au-delà de certains aspects qui la dépassaient, lui ont permis de mieux appréhender la problématique technologique.

S’il est essentiel que les développeurs comprennent les enjeux de leurs clients, il est également important que ceux-ci se familiarisent avec les enjeux techniques du Web.

Cette empathie réciproque explique peut-être en partie la longévité de notre relation de travail avec GESTEV qui non seulement perdure mais s’enrichit depuis des années.

Il me semble aussi que la communauté numérique de Québec forme une grande famille, du développement à la communication et au marketing Web. La pluridisciplinarité constituant un atout important pour le succès des projets numériques, Québec dispose là d’un avantage sur Montréal où la communauté, aussi talentueuse mais beaucoup plus importante, a tendance à se fragmenter en silos autour d’un métier, d’une technologie ou d’un champ d’intérêt particulier.

Ajoutez à cela l’environnement naturel, l’absence de clivage linguistique et l’osmose entre les secteurs public et privés, et vous avez des conditions gagnantes pour faire de la région de Québec un pôle important de l’économie numérique canadienne.