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.

Accord historique entre Red Hat et Microsoft

Logos Red-Hat et MicrosoftEn négociation depuis des mois, l’annonce du rapprochement de Microsoft et Red Hat vient d’être annoncé le 4 novembre. Il s’agit d’une entente que l’on peut qualifier d’historique. Elle annonce de grands changements dans l’écosystème informatique mondial et aura des impacts significatifs dans de nombreuses entreprises, au Québec et ailleurs.