Un don pour soutenir l’agriculture urbaine à vocation sociale

À l’occasion de notre party de Noël 2016, nos employés ont contribué 1535 dollars auprès de l’organisme Sentier urbain grâce à une loterie organisée par le Club social.

Ce mercredi, nous avons remis le chèque à François Forcier, directeur-adjoint de Sentier Urbain, un organisme à but non lucratif dont la mission est de susciter la mobilisation des collectivités pour le verdissement social.

Logo Sentier UrbainPar son action, il contribue simultanément et de façon concrète à la sensibilisation environnementale, à l’insertion socio-professionnelle des jeunes et à l’embellissement des milieux de vie. L’organisme collabore ainsi, avec l’appui de nombreux partenaires, à l’amélioration de la santé et de la qualité de vie à Montréal.

L’agriculture urbaine : un outil d’action sociale

Le programme Des Potagers en santé pour une collectivité engagée auquel le don sera affecté fait appel à l’agriculture urbaine comme levier d’intervention et plate-forme éducative. Ce travail permet, à terme, de développer parmi la clientèle une assurance et une confiance en soi. De plus, le rapport à la nature s’avère un outil thérapeutique pour beaucoup, qui mettent leurs problèmes de côté pour quelque temps. Et leur anxiété se réduit grâce à cette attention portée sur le potager.

Cette action correspond à la vision de Savoir-faire Linux d’engagement social et environnemental, ici portée par ses employés. Nous sommes fiers d’avoir modestement contribué à cet organisme qui fait beaucoup pour la communauté et l’embellissement de nos quartiers.

Hommage à Ian Murdock, le fondateur de Debian

Photo de Ian Murdock
Crédit Ilya Schurov , Computerra Weekly — CC

Il y a un an disparaissait Ian Murdock et avec lui, une partie du cœur des défenseurs du logiciel libre. Nous souhaitons rendre hommage au fondateur de Debian, car chez Savoir-faire Linux, nous utilisons son héritage tous les jours.

Le libre avant tout

Étudiant à l’université Purdue, Ian Murdock découvre Linux au début des années 90. Fasciné par son éthique et sa vision, il plonge dedans avec passion.  En 1993, à seulement 20 ans, Ian Murock amorce son projet Debian, dont le nom trouve son origine dans la contraction du prénom de sa femme Debra Lynn et de Ian, son propre prénom. Développé initialement avec la collaboration d’un petit groupe de Hacker du Libre, Debian devient rapidement l’une des premières distributions Linux, ouverte et gratuite à connaître le succès et à rassembler une communauté croissante de développeurs et d’utilisateurs du Libre. La même année, Ian Murdock publie le Manifeste Debian, qui scelle la philosophie humaniste en arrière-plan du projet informatique. Elle s’inscrit dans la ligne droite de l’esprit du projet GNU et de Linux :

1. Debian restera un projet entièrement libre.
2. Tous les nouveaux développements reviendront à la communauté.
3. La transparence est un bien acquis.
4. Les utilisateurs et le logiciel libre sont les priorités du projet.
5. Exceptions aux principes du logiciel libre prévus pour répondre à tous les besoins.

À cela s’ajoutent plusieurs principes enchâssés dans un contrat social, une constitution et une série d’instructions, démontrant une vision axée sur la diversité et la non-discrimination que ce soit des utilisateurs ou des logiciels et une distribution libre et gratuite, principes clés de Debian.

Un projet communautaire aux ramifications infinies

Logo DebianAujourd’hui, le projet Debian compte plus d’un millier de développeurs officiels sans oublier plusieurs centaines de contributeurs occasionnels et contient pas moins de 43 500 paquets logiciels. Chaque version de Debian dont la sortie varie en fonction du degré de stabilité porte le nom d’un personnage du film d’animation Toy Story des studios Pixar – ma préférence va à Monsieur Patate et vous?
Comme dans toute organisation basée sur le libre, les développeurs peuvent entreprendre des forks, une branche du projet qui aura sa propre continuité. Et les forks du projet Debian sont nombreuses. Sans les nommer de manière exhaustive, on peut citer Ubuntu que nous utilisons chez Savoir-faire Linux, Xubuntu ou encore SteamOS.

Un autre caractère distinctif de Debian est son mode organisationnel. Lors de sa découverte de Linux et du modèle du logiciel libre, Ian Murdock reste profondément marqué par l’aspect communautaire du projet. À son tour, il a voulu donner au suivant. Le projet Debian est dès lors chapeauté par une fondation à but non lucratif, la Software in Public Interest (SPI), au sein de laquelle une communauté de développeurs bénévoles décide des orientations et des développements futurs. Un chef du projet est élu chaque année par les membres. Ian Murdock passe naturellement le relais à d’autres chefs, mais gardera un œil dessus, notamment par le biais de son poste de secrétaire de la fondation.

Ring sur Debian

Grâce au travail d’Alexandre Viau, Debian Developer et développeur chez Savoir-faire Linux, notre projet Ring est accepté depuis le 30 juin 2016 sur Debian testing, les dépôts de développement de Strech, la prochaine version de Debian. Une formidable reconnaissance pour l’équipe Ring de Savoir-faire Linux et une bonne nouvelle pour les utilisateurs qui peuvent désormais installer Ring à partir des dépôts de leur distribution Debian sans avoir à ajouter ceux de ring.cx.

Afin de présenter Ring à la communauté Debian, Alexandre et son collègue Simon Désaulniers ont participé à la DebConf 2016, dans la ville du Cap, en Afrique du Sud. Ils ont également profité de cet événement international du Libre  pour présenter de l’OpenDHT, notre système de table de hachage distribué, au cœur du projet Ring. Le paquet libopendht a par ailleurs fait son apparition sur Debian experimental pendant la DebConf.

Au regard de Gabriela Coleman, professeure et chercheure à l’Université McGill, outre la communauté créée autour du projet, l’héritage de Ian Murdock repose sur le fait qu’il y ait insufflé une culture de la collaboration issue de GNU et Linux, ce qui fait du projet Debian une réussite bien plus large que le développement technique d’un produit informatique de bonne facture.

Ring sur UWP : genèse d’un défi technique

illustration-wup-rinLa version beta 2 de Ring est maintenant disponible sur la plateforme universelle Windows (Universal Windows Platform, UWP). Il s’agit non seulement d’un nouveau jalon pour Ring, récemment devenu un projet GNU, mais aussi d’une prouesse technique de la part de notre équipe de développeurs.

La sortie de cette version beta 2 est le fruit d’un développement collaboratif entre notre équipe dédiée chez Savoir-faire Linux et la communauté de contributeurs à travers le monde. En développement continu, Ring rappelons-le, une plate-forme inédite de communication texte, audio et vidéo sécurisée et distribué a besoin d’utilisateurs, passionnés ou simplement curieux pour tester sa dernière version et contribuer à son amélioration.  Testez Ring, un projet libre et universel et faites-nous part de vos impressions !

Devenu paquet GNU depuis novembre 2016, Ring s’est toujours inscrit dans la philosophie du libre, tant dans sa finalité, un accès pour tous, que dans son développement, où chaque contribution compte. Cette dimension universelle, avec les aspects distinctifs de Ring comme la décentralisation via l’OpenDHT continue à faire son chemin dans les logiciels de communication et se devait naturellement d’être disponible sur la plateforme UWP.
Avec la mise en place de cette plateforme, l’objectif de Microsoft est simple : unifier le développement d’applications sur tous les types de terminaux que ce soient des PC, tablettes, mobiles, consoles de jeux ou encore objets connectés. Notre équipe responsable du développement de Ring y a vu une aubaine en touchant un maximum d’utilisateurs. « Les possibilités sont immenses. Ring pourrait être utilisé sur les téléphones Windows, les ordinateurs portables Surfaces, les tablettes et les consoles de jeu comme la Xbox », confirme Guillaume Roguez, directeur du développement Ring au sein de Savoir-faire Linux.

D’un système fermé vers une ingénierie logicielle ouverte
N’étant pas habitué des environnements Windows, le défi fut de taille pour notre équipe Ring. C’est ici qu’entrent en scène les développeurs Andréas Traczyk et Nicolas Jäger, qui ont tous deux ont mené le projet Ring sur UWP, de la phase d’idéation jusqu’au lancement actuel.
Tout commence au premier trimestre 2016, avec une première étape de prospection et d’étude de faisabilité. Andréas Traczyk s’est attelé à cette tâche, en portant le code de Ring déjà existant sur Windows natif.
Au fur et à mesure, une idée a germé : pourquoi ne pas utiliser la version native win32 déjà créée pour l’adapter de manière significative à l’UWP ?

_mg_9963

Coder en C++/CX
Le défi est de taille. Alors que la majorité des développeurs Windows travaille en C#, nos deux développeurs ont choisi le C++/ CX. Et ce pour une première raison, le daemon est en C++ : « il faudrait wrapper pour le passer en C# » explique Andréas Traczy. La seconde raison est d’ordre pragmatique selon Nicolas Jäger : « Ring est avant tout un logiciel multimédia, qui offre de la vidéo, de l’audio, avec un réseau en temps réel, et le langage C++ permet une optimisation des ressources ». Un choix pratique appuyé par Cyrille Béraud, président de Savoir-faire Linux, soucieux « de maintenir la performance de l’application ».
Pour des développeurs dont le cœur de métier est le code sous Linux, il a fallu aller hors des sentiers battus, sortir de leur zone de confort. « Il faut aimer les choses compliquées » sourit Nicolas Jäger, « d’autant que l’on ne s’est pas seulement occupé d’UI (User Interface), mais aussi de parties plus fondamentales en matière de développement, tout simplement parce qu’elles n’existaient pas avant ».
Aux yeux de Guillaume Roguez, qui chapeaute le projet Ring, l’expérience est positive, car « on a surmonté les obstacles, dont le premier fut colossal : partir quasiment de zéro. On a démontré avec succès qu’on peut faire du libre dans l’univers Windows ».

Faire du libre, c’est ce que nous attachons à faire à travers Ring. Ce projet bénéficie des contributions d’universités montréalaises, comme Polytechnique Montréal, l’École de Technologie Supérieure (ÉTS) ou encore l’Université du Québec à Montréal (UQAM). D’ailleurs, au sein de cette dernière, le professeur Alexandre Blondin Massé, entouré de ses étudiants de 2e et 3e cycle, planche sur la consolidation des données ainsi que sur la table de hachage distribuée OpenDHT. Cette question de sécurité et de confidentialité présente dans Ring a suscité par ailleurs un intérêt croissant chez les spécialistes de la cybersécurité, et ce à l’échelle mondiale.
Partenaire de la Free Software Foundation et la Linux Foundation, Savoir-faire Linux est un membre actif de la communauté du libre, et travaille à rendre plus accessibles les ressources, à créer et à diffuser les valeurs d’usage. En tant que producteurs de biens communs, nous revendiquons le droit de chacun à avoir un accès libre au savoir, ainsi qu’à des ressources libres et universelles.
Aussi l’arrivée de Ring sur UWP est-elle importante, car elle participe de cet esprit libre.

E-commerçants, préparez-vous !

visuel-article-infra

Les fêtes approchent et si votre activité dépend grandement d’Internet et de votre site Web, vous vous posez sans doute la question : « Mon site va-t-il tenir le coup ? ».

Nombreux sont les commerçants qui misent beaucoup sur leur site e-commerce et cette période de fête est cruciale, voire vitale.
Il ne suffit pas de disposer de son site Web hébergé chez 1and1 ou Hostpapa à moindre coût pour assurer sa présence en ligne en tout temps et en toute circonstance.
Même si ce genre d’offre peut suffire à beaucoup et pour la majorité de l’année, les fêtes et autres périodes de soldes génèrent un trafic (beaucoup) plus élevé pour votre site.
Le défi, c’est de faire en sorte que votre boutique en ligne reste disponible et fluide pour le visiteur, augmentant ainsi la satisfaction client et votre taux de transformation.

Voici 5 points importants pour préparer votre site à affronter cette période de trafic intense :

  • Backups : L’assurance vie
    On ne le répète jamais assez, mais un incident est vite arrivé. Erreur humaine ou défaillance matériel, ce n’est jamais le bon moment. Il faut être prêt et disposer de procédures de sauvegarde et de restauration propres et éprouvées.
    Prenez donc le temps de vérifier l’état de vos sauvegardes et de corriger en cas de soucis.
  • Le CDN : La qualité a un prix
    Voilà une solution performante mais onéreuse. Le CDN (ou Content Delivery Network) vous permet d’assurer « un point de présence » au plus proche du visiteur en mettant à disposition des nœuds de « cache » géographiques.
    Si votre budget vous le permet, souscrire à un service de CDN est une option plus que viable pour la tenue en charge de votre site Web.
    Si cet élément est un des premiers de la liste, c’est surtout parce que sa mise en place doit être anticipée et réfléchie. Nombreux sont les acteurs du monde des CDNs (Akamaï, CDNetworks, CloudFlare, etc.) et chacun propose de plus en plus d’offres. Il s’agit surtout de vous poser les bonnes questions pour faire le bon choix. Où souhaitez-vous être présent ? Que souhaitez-vous accélérer ?
    Bref, prenez le temps d’y penser.
  • Le test de charge : La preuve par 3
    Indispensable à toute plateforme ayant pour vocation d’accueillir des visiteurs/utilisateurs, un test de charge est un moyen empirique de vous donner une idée des performances de votre site.
    Ce genre de benchmark ne se réalise bien entendu pas pendant la période fatidique mais bien avant. L’idéal étant de réaliser ces tests sur la plateforme telle qu’elle sera au moment des fêtes (i.e : code source, produits, infrastructure, etc.).
    Un seul changement, et le test ne sera plus représentatif.
    Il existe plusieurs outils OpenSource pour réaliser ce genre de tests par vous-même, notamment JMeter (http://jmeter.apache.org/) qui vous permettra de définir un scénario de navigation et de le « jouer » plusieurs fois, en parallèle, selon des critères que vous aurez définis, et ce, jusqu’à atteindre les limites de votre hébergement. Il ne tient qu’à vous, ensuite, d’analyser les résultats pour en tirer les conclusions les plus pertinentes.
  • Le cache : À tous les niveaux
    Pour améliorer les performances de votre site Web, il faut faire en sorte de le solliciter le moins possible ; et si vous ne pouvez pas jouer sur le nombre de visiteurs, vous pouvez « soulager » votre infrastructure par la mise en place et/ou l’optimisation du cache à plusieurs niveaux.

    • Cache navigateur : c’est le niveau de cache le plus important. C’est celui qui est géré par le navigateur de l’utilisateur. En définissant la politique de cache (via les en-têtes Cache-Control et Expire) des éléments et leur durée de mise en cache, vous permettez au navigateur de conserver, en local, certains éléments et ainsi, de ne pas solliciter continuellement votre serveur Web. L’utilisateur y gagne en rapidité et vous en performance.
    • Cache code : Situé côté serveur, le cache de code (géré par APC, OPCache, etc.) va permettre la mise en cache des fichiers pré-compilés de votre application (PHP par exemple). Le gain est significatif puisqu’on évite les étapes lourdes de parsing et compilation du code.
    • Cache Applicatif : En plus du cache de code, vous pouvez utiliser un serveur de cache applicatif tel que Redis ou Memcached. Basés sur du stockage clé-valeur, en RAM, le gain de performances est également fortement appréciable. Attention, votre application doit être conçue pour utiliser ces serveurs de cache ; via plugin ou développement spécifique.
    • Reverse Proxy : Le reverse proxy ou proxy inverse est une brique intermédiaire entre l’application et le client. Possédant son propre cache, il va décharger votre serveur web en utilisant ce qu’il possède déjà plutôt que de faire suivre la requête. La configuration de ce genre de logiciel est très fine et vous permet de mettre en cache quasiment tout et « n’importe quoi ». On peut même y faire de la mise en cache de page « partielle » via les blocs ESI (cf: https://fr.wikipedia.org/wiki/Edge_Side_Includes). On peut citer Varnish (https://varnish-cache.org/), un projet opensource populaire et performant.
    • CDN : Comme précédemment dit, le CDN est un réseau de livraison de contenus qui  diminuera sensiblement le temps d’ouverture de vos pages Internet et facilitera également l’accès à vos différentes applications Web. Un service CDN se révèle particulièrement judicieux voire indispensable pour desservir efficacement des régions éloignées.
  • Le Jour-J : On ne touche à rien !
    Ça peut paraître extrême, mais il faut limiter au maximum les actions en back-office. Peu importe votre CMS, les actions significatives (changement des prix, contributions, réindexations, etc.) sont lourdes pour votre application et donc pour votre infrastructure. Votre site étant déjà en train de supporter un trafic inhabituel, laissez-le tranquille et contentez vous de regarder.

Voilà un petit tour de quelques points à avoir en tête lorsqu’on est e-commerçant pour optimiser ses activités sans craindre les incidents techniques. La liste n’est bien entendu pas exhaustive et on peut citer d’autres pistes d’améliorations comme l’optimisation des médias de votre site pour gagner en légèreté, l’augmentation temporaire de la puissance de votre infrastructure ou encore l’utilisation du Responsive Web Design pour les nombreux terminaux mobiles qui envahissent de plus en plus le marché.

Vous l’aurez compris, les options sont donc infinies. Pour une expérience utilisateur optimale, tenez compte des caractéristiques spécifiques de vos visiteurs et prenez des décisions qui répondent à vos enjeux stratégiques d’affaires. Avec un investissement minime et des choix éclairés, les résultats peuvent être bluffants. Sachez que l’équipe Infrastructure de Savoir-faire Linux peut vous guider dans vos démarches pour un temps des fêtes couronné de succès !

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