Une fin de semaine intense pour Ring

Depuis quelques mois, Ring – un logiciel libre sous licence GPLv3 – crée une vive effervescence dans le monde du logiciel libre, des hackers et de la cybersécurité, bien qu’il soit seulement en version bêta. Plusieurs opérateurs Internet et industriels des télécommunications, et même l’industrie du développement durable, commencent à s’y intéresser de près.

Présenté en plénière au FOSDEM 2016 à Bruxelles il y a quelques semaines, il constituera l’événement de ce week-end simultanément à la conférence FOSSASIA de Singapour et surtout à la conférence LibrePlanet de Boston organisée par la célèbre Free Software Foundation qui fêtera son 30ème anniversaire.

cyrille-beraudÀ cette occasion, Cyrille Béraud, le Président de Savoir-faire Linux, nous présente plus en détail Ring, pour mieux comprendre ce qu’est ce logiciel libre et pourquoi, comme le murmurent déjà plusieurs spécialistes, ce logiciel pourrait constituer un jalon dans l’histoire de l’Internet.

Pouvez-vous nous expliquer exactement ce qu’est Ring ?

D’abord je voudrais dire que Ring est un logiciel libre, c’est donc un bien commun. D’un point de vue fonctionnel, le grand public le découvrira comme une sorte de Skype ou de Hangout.

Ring permet d’établir une communication chiffrée vidéo, audio, texte de très haute qualité entre deux ou plusieurs personnes où qu’elles soient dans le monde. Il est disponible pour les plate-formes Linux, Windows, Mac/OSX, Android et d’ici quelques mois sur iOS. Il est distribué avec les sources sous licence GPLv3.

Ring-AndroidPhone

Cependant, je voudrais porter une attention particulière sur le fait que Ring est encore un logiciel jeune, qui reste fragile et qui dans de nombreuses situations fonctionnera de manière imparfaite, voire pas du tout. Ceci étant dit, il s’améliore chaque jour et, dans un environnement standard et pour un usage domestique, il fonctionne déjà très bien.

Mais qu’est-ce qui distingue Ring d’autres logiciels qui ont la même fonctionnalité ?

Ring permet d’établir une communication point à point sans passer par un serveur central. C’est l’élément déterminant. Ring est d’abord une plateforme de communication distribuée. Plus besoin d’opérateurs, ni de serveurs à gérer, plus de coûts associés à chacun de nos appels et surtout Ring offre beaucoup de liberté et de sécurité. Dans un contexte professionnel, c’est déjà une flexibilité et des économies importantes pour de très nombreuses entreprises. Pour tous, c’est la possibilité de communiquer librement et gratuitement où que l’on soit, en toute sécurité.

Techniquement, nous nous sommes appuyés sur des technologies déjà bien éprouvées : ffmpg/libav, GnuTLS, pjsip, etc. Mais concernant l’innovation au cœur de Ring, nous avons utilisé le concept des DHT, Distributed Hash Tables. Pour cela, nous avons développé notre propre librairie, OpenDHT, disponible sur github, en introduisant des innovations importantes qui, conjointement avec les protocoles ICE et SIP, permettent de traverser les routeurs et les pare-feux, de localiser, d’une manière certaine, un utilisateur ou un équipement, même s’il se trouve dans un réseau privé, et d’établir, si l’on possède l’identifiant de son interlocuteur, un canal de communication hautement sécurisé et en temps réel, de n’importe où dans le monde.

reseau-papineauDe part cette propriété et du fait que Ring utilise des standards ouverts et reconnus, cette plateforme permet d’esquisser un véritable système universel de communication non-hiérarchique sur Internet, en permettant non seulement une communication entre deux personnes, mais plus généralement, entre deux ou une multitude d’objets sur Internet.

De ce point de vue, les innovations que nous avons mises à disposition à travers Ring, ouvrent de nombreuses possibilités et applications industrielles ou grand public. Nous avons déjà dans notre laboratoire, plusieurs prototypes basés sur des plateformes embarquées très légères qui, à partir de Ring, s’interconnectent avec des systèmes domotiques ou des systèmes d’acquisition de données. C’est assez spectaculaire et très prometteur.

Pour compléter ce tour d’horizon, il faut indiquer aussi que Ring fonctionne en mode dégradé et même complètement coupé d’Internet. Imaginez un village isolé en Afrique ou en Inde avec une connexion fragile. En cas de coupure d’accès à Internet, le système distribué de Ring se rétracte sur les nœuds qu’il peut contacter et continue de fonctionner. Dans l’exemple du village coupé du monde, les habitants peuvent continuer à communiquer entre eux. Ring, de ce point vue, peut participer à un développement durable et contribuer au développement de l’économie et de la démocratie de pays ayant des infrastructures de communication peu développées.

Vous voyez, Ring a beaucoup de potentiel ! Et pour rendre Ring et les technologies sous-jacentes disponibles au plus grand nombre, pour permettre à chacun à travers le monde d’inventer leur propre usage de Ring, il fallait que ce soit un logiciel libre.

Y-a-t-il un modèle économique derrière Ring et pouvez-vous en deux mots, nous parler de Savoir-faire Linux ?

Bien sûr qu’il y a un modèle économique derrière Ring ! C’est celui du logiciel libre. Nous créons des valeurs d’usage que nous rendons disponibles gratuitement à tous. Ces valeurs d’usage créent une économie de services. Cette économie, ouverte et concurrentielle, crée beaucoup de valeurs et bien sûr, dans le cas de Ring, Savoir-faire Linux y aura sa place.

Cette économie est basée sur le partage et la collaboration. C’est le modèle d’affaire de Savoir-faire Linux. Il s’oppose à l’économie de rentes et à la captation de richesses par un petit nombre.

Pour compléter, Savoir-faire Linux est une entreprise de services canadienne basée à Montréal, avec des équipes à Québec et Toronto mais également en France à Paris. Nous avons également une présence en Côte d’Ivoire, à travers un partenaire.

Avec nos 110 ingénieurs, tous de très haut niveau et tous spécialisés dans les technologies ouvertes, nous sommes présents dans le domaine de la défense et de l’électronique embarquée, dans le secteur bancaire, avec notre client Desjardins ainsi que dans le secteur de l’assurance, de l’ingénierie logicielle avec l’Agence Spatiale Canadienne, de l’informatique de gestion avec l’Organisation Internationale de la Francophonie et nous fournissons de nombreuses entreprises locales.

Nous avons aussi, et c’est essentiel pour nous, nouer des liens étroits avec les acteurs mondiaux du logiciel libre. Je pense notamment à la Linux Foundation, dont nous distribuons les formations et à nos partenaires éditeurs Open Source, comme RedHat ou Liferay. Nous avons aussi de nombreuses contributions dans des projets libres, comme le noyau Linux.

Voilà, en résumé ce qu’est Savoir-faire Linux. Savoir-faire Linux, c’est l’ambition de créer de la richesse avec des valeurs. Nous n’y arrivons pas toujours. Mais chaque jour, depuis plus de 15 ans, nous remettons l’étoffe sur le métier avec ces deux passions qui nous habitent : la liberté et l’excellence.

Ring, maintenant en version Bêta

RingRing s’améliore sans cesse pour offrir le meilleur de la communication. Testez la version Papineau dès maintenant! Plus pratique, plus stable et plus simple, cette Bêta offre de nouvelles fonctions, notamment grâce à l’appui de la communauté.

Plus pratique, plus stable et plus simple

Ring a beaucoup évolué ces derniers mois. L’équipe de Savoir-faire Linux a résolu des centaines de bogues et amélioré la robustesse de l’ensemble. Pour cette version Bêta, elle a ajouté de nouvelles fonctions – comme les appels vidéo de groupe et le clavardage hors appel. Elle a aussi développé une version de Ring pour Android et optimisé la qualité vidéo.

L’appui de la communauté

Ring est un projet qui reçoit le soutien de contributeurs du monde entier, notamment pour la traduction de son interface. À travers la plateforme collaborative Transifex, chacun peut proposer des extraits dans sa langue. Ring est ainsi disponible en français, anglais, allemand, espagnol, portugais, russe, ukrainien, arabe et, partiellement, en lithuanien et esperanto.

L’amélioration continue de Ring n’est pas seulement le fait de contributeurs bilingues ou de son équipe. Le projet évolue avec les commentaires des utilisateurs. Et, il grandit avec le support de développeurs ou étudiants. Par exemple, des recherches menées par l’Université du Québec à Montréal ont rendu possible la mise en place du clavardage hors appel.

ring-reseau

Si cette version Bêta propose les fonctions clés de Ring, l’équipe de savoir-faire Linux est en route vers de nouveaux défis. Elle va continuer à travailler sur la robustesse et à perfectionner les interfaces. Elle va aussi chercher à permettre le transfert sécurisé de fichiers et l’indexation des contacts.

Si vous souhaitez intégrer la communauté Ring, rejoignez-nous! Vous pouvez participer de diverses façons.

Un logiciel, deux villes, trois développeurs

Ring est un logiciel aussi mobile et dynamique que son équipe! Alors que la version beta sera prochainement annoncée (suivez bien l’actualité de Ring!), trois de nos développeurs se rendront les 19 et 20 mars à Boston et Singapour, pour deux événements majeurs dans l’univers du logiciel libre: Libre Planet et Fossasia.

Ring_logo

RingLes objectifs? Présenter Ring et ses valeurs, à travers sa technologie hors du commun, et collaborer avec des experts du monde entier sur ce logiciel de communication en temps réel. Deux rendez-vous pour mieux comprendre les fondements de Ring et voyager dans ce projet prometteur!

Prenez le contrôle et communiquez librement avec Ring

libre planet_logoSur le thème « changer le système » (Fork the system), Libre Planet accueille Savoir-faire linux pour une conférence qui mettra de l’avant les valeurs du projet Ring. Adrien Béraud et Guillaume Roguez – qui avait présenté le logiciel lors du FOSDEM – expliqueront plus particulièrement comment la technologie de Ring offre aux utilisateurs un outil de liberté.

Pour Guillaume Roguez, directeur du développement de Ring chez Savoir-faire Linux:

Alors que la surveillance des échanges est un enjeu d’actualité, Ring permet à chacun de prendre le contrôle de ses communications, car il est à la fois sécurisé, transparent et modulaire.

La sécurité. Parce que Ring fonctionne sans serveur central et s’appuie sur des méthodes d’encryption, la vie privée des utilisateurs et la confidentialité de leurs échanges sont respectées.

La transparence. Placé sous licence libre, le code de Ring peut être entièrement étudié, modifié et partagé. L’équipe fait régulièrement des présentations pour que chacun puisse mieux se l’approprier.

La modularité. Ring s’adapte à différents composants logiciels et à divers environnements, comme celui de l’Internet des objets. C’est ce thème qui sera d’ailleurs développé lors du Fossasia.

Embarquez dans la technologie de Ring avec les objets connectés!

FOSSASIA_LogoL’internet des objets sera à l’honneur du FOSSASIA 2016 où Ring donnera une conférence. Pour cet évenement, Alexandre Lision réserve quelques surprises aux développeurs de Singapour:

« Je prépare une démonstration avec des objets connectés à Ring. Avec l’aide de collègues, je vais proposer quelques exemples d’applications intéressantes et simples à reproduire. »

Ring permet de passer des appels vidéo, à deux ou en groupe, et de communiquer par message texte. Mais il offre bien plus encore!

Par le service de clavardage, un développeur de Savoir-faire Linux gère l’éclairage de son salon. Adrien Béraud allume ou éteint à distance une ou plusieurs lumières, en envoyant un simple message texte avec Ring. Le montage du dispositif a pris moins d’une heure et peut être adapté pour contrôler la porte d’un garage ou un chauffage. (Lisez l’article Comment Ring communique avec les appareils connectés pour en savoir plus.)

Ring est également capable de se connecter à un système embarqué relié à une caméra, un microphone ou même à un robot. Ces possibilités offrent toutes sortes de perspectives aux utilisateurs, comme aux entreprises. Bien plus qu’un logiciel de communication, Ring est un outil ouvert à différents usages qui respecte votre liberté.

Ring aura l’honneur d’une plénière lors du prochain FOSDEM

L’année 2016 sera un tremplin pour Ring! Cela ne fait aucun doute, à en juger par l’intérêt que cette plate-forme de communication développée par Savoir-faire Linux suscite dans la communauté du logiciel libre et open source.

Après la publication, la semaine dernière, d’une entrevue avec le directeur du projet chez Savoir-faire Linux sur le site de la prestigieuse Free Software Foundation, Ring sera en plénière au FOSDEM le 31 janvier prochain. Devant 800 développeurs, Guillaume Roguez et Adrien Béraud présenteront les aspects techniques de Ring lors de ce grand rendez-vous annuel du logiciel libre européen.

FOSDEM 2016
 
Ring, qui sera bientôt en version bêta, s’appuie sur des améliorations constantes. « La communication moderne implique de s’adapter à un ensemble de technologies, précise Guillaume Roguez, directeur du projet. Nous allons les présenter aux développeurs qui seront présents au FOSDEM et leur proposer de comprendre nos défis et nos succès, en espérant leur donner envie de participer à l’aventure Ring. »

Parmi ces améliorations, une attention particulière sera donnée à OpenDHT. Cette table de hachage distribuée nouvelle génération, dont le développement est supervisé par Adrien Béraud, permet notamment aux utilisateurs de Ring d’entrer en relation par la voie du pair-à-pair (peer-to-peer). Il sera aussi question des méthodes de chiffrement utilisées, de la capacité pour Ring de passer au travers des pare-feux et de communiquer avec les objets connectés, etc.

Pour Adrien Béraud, « Participer au FOSDEM, c’est aussi l’occasion de donner une visibilité à l’ensemble du projet pour ses valeurs. Ring est un outil de communication, mais il est plus qu’un simple outil. Il repose sur la communauté. C’est à elle qu’il appartient, et c’est à travers elle qu’il se renforce. »

Pour en savoir plus sur la conférence qui sera donnée par Adrien et Guillaume au FOSDEM, visitez le site de l’événement!

Comment Ring communique avec les appareils connectés #IoT

light-bulb - IoTQuand vous sortez de chez vous, êtes-vous sûr que les lumières sont éteintes? Avec Ring, vous pouvez le vérifier en vidéo et régler votre éclairage simplement en envoyant un message texte. De quoi faire des économies d’énergie!

En moins d’une heure, Adrien Béraud, développeur chez Savoir-faire Linux, a monté un dispositif lui permettant de contrôler l’éclairage de son salon alors qu’il est au bureau. Il a configuré le compte Ring de son ordinateur domestique pour accepter automatiquement chaque appel et peut ainsi l’appeler pour voir en temps réel, en vidéo, son salon à distance. Il peut alors vérifier si les lumières sont allumées et, au besoin, les éteindre en utilisant le module de clavardage de Ring!

Un dispositif simple, monté avec du matériel libre

Arduino - IoTAdrien a d’abord relié les lampes de son salon à Internet, en utilisant un système connecté Particle Core (de type Arduino) et une carte d’extension relais (Relay Shield). Comme son éclairage est associé à un circuit va-et-vient, il peut facilement contrôler les lumières, même en cas de panne Internet ou en cas de problème avec le relais. Il a ensuite ajouté les quelques lignes de code fournies dans la documentation du relais pour connecter le dispositif à Internet.

Avec quelques lignes de commande, vos lampes sont connectées

Une fois la connexion établie, il a inséré une ligne de commande dans le terminal de son ordinateur Linux. Par exemple, pour éteindre (LOW) la première lampe (r1) :

curl https://api.particle.io/v1/devices/0123456789abcdef/relay -d access_token=123412341234 -d params=r1,LOW

Le contrôle des lumières par le clavardage de Ring peut ensuite se faire avec ce script Python :

#!/usr/bin/env python3
import re, json, http.client, urllib.parse
from controler import DRingCtrl

PARTICLE_API_TOKEN = '[your_api_token_here]'
PARTICLE_REQ_URI = '/v1/devices/[your_device_id_here]/relay'
PARTICLE_REQ_RE = re.compile('^(r[0-4],(?:HIGH|LOW))$')

class LightRingController(DRingCtrl):
    def __init__(self):
        super().__init__("LightController")

    def tryParticleReq(self, params):
        try:
            conn = http.client.HTTPSConnection('api.particle.io')
            p = urllib.parse.urlencode({'access_token': PARTICLE_API_TOKEN, 'params': params})
            conn.request("POST", PARTICLE_REQ_URI, p, {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"})
            ret = json.loads(conn.getresponse().read().decode())['return_value']
        finally:
            conn.close()
        return ret

    def onIncomingMessage(self, callid, ufrom, message):
        super().onIncomingMessage(callid, ufrom, message)
        msg = message['text/plain']
        res = re.search(PARTICLE_REQ_RE, msg)
        if res:
            op = res.group(0)
            print('Command:', op)
            ret = self.tryParticleReq(op)
            self.callmanager.sendTextMessage(callid, {'text/plain':'Got: '+str(ret)}, False)

if __name__ == "__main__":
    ctrl = LightRingController()
    ctrl.run()

L’Internet des objets: des possibilités infinies

De nombreux usages sont possibles, du plus simple au plus complexe. Par exemple, un appel Ring peut être directement associé à la mise en marche de votre éclairage, avec ce simple script :

#...

class LightRingController(DRingCtrl):

    #...

    def onCallStateChanged(self, callid, state, statecode):
        super().onCallStateChanged(callid, state, statecode)
        if state == "HUNGUP":
            self.tryParticleReq('r1,LOW')
        elif state == "CURRENT":
            self.tryParticleReq('r1,HIGH')

Imaginez alors ce que vous pourriez faire si votre logiciel Ring était relié à votre chauffage ou à la porte de votre garage… Les perspectives sont infinies!

Vous avez des idées à partager ? Laissez un commentaire!