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.

Publié par

Jan Vailhé

Diplômé en médias et journalisme à l’Institut d’Études Politiques de Paris, Jan Vailhé est chargé de communications chez Savoir-faire Linux. Ses dossiers de prédilection sont la protection de la vie privée, le big data, l’intelligence économique, et les enjeux politiques liés aux TI. Il termine un certificat en cyberfraude, orienté sur les comportements humains à Polytechnique Montréal.

2 thoughts on “Ring sur UWP : genèse d’un défi technique”

  1. Bonjour l’équipe !
    Félicitations pour votre idée !! C’est un joli projet !
    Aujourd’hui, j’ai installé sur mon portable Fujitsu Windows 7 64 bits et succès il semble fonctionner… et j’essaie de le faire le montage sur un correspondant sur un autre portable Acer avec Windows 10 famille 64 bits, mais là le montage s’arrête ! La ligne de montage que je vois à l’écran montre que IPV4 et IPV6 sont déconnectés… là s’arrête le montage… Que puis-je faire pour finaliser le montage ???
    Merci de votre aide…j’ai hâte de pourvoir l’utiliser 🙂

    Patrick Québec, Canada

    1. Bonjour Patrick, d’après ce que nous comprenons, il se peut que l’interruption du montage indique un problème de connexion au réseau. Si le problème persiste, abonnez-vous à la liste ring@gnu.org, notre équipe se fera un plaisir de vous répondre.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *