Des routes et des ponts (4) – la gratuité pour changer le monde

Nous poursuivons la lecture du livre Des routes et des ponts de Nadia Eghbal que le groupe Framalang vous traduit au fil des semaines. Après nous avoir expliqué en termes simples de quoi sont constitués les logiciels (n’hésitez pas à reprendre les épisodes précédents, si par exemple vous avez oublié ce qu’est un framework ou une bibliothèque), elle nous explique en quoi l’accès libre et gratuit à ces composants a révolutionné l’industrie du logiciel : son fonctionnement, son financement, mais aussi la formation des professionnels.

 

Comment la gratuité des logiciels a transformé la société

par Nadia Eghbal

Traduction Framalang : Luc, urlgaga, Penguin, Mika, Asta, Edgar Lori, Julien / Sphinx, flo, xi, Bromind, goofy, salade, lyn. et 3 anonymes.

La première réflexion qui vient à l’esprit est : « Pourquoi ces développeurs ont-ils rendu leur logiciel gratuit ? Pourquoi ne pas le faire payer ? »
Les arguments en faveur du logiciel public reposent sur sa riche histoire politique et sociale. Mais d’abord, regardons la vérité en face : notre société ne serait pas là où elle est aujourd’hui si des développeurs n’avaient pas rendu le logiciel libre et gratuit.

Avec le logiciel libre, la production de logiciel est plus simple et considérablement moins chère

moneybox

Uber, un service de transport de personne, a annoncé récemment que des développeurs avaient créé un système permettant de réserver une voiture en utilisant Slack (une application de développement collaboratif) et non l’application mobile Uber. Le projet a été bouclé en 48 heures par une équipe de la App Academy, une école de programmation.
Uber a constaté que l’équipe avait été capable d’achever le projet rapidement car elle « avait utilisé des bibliothèques ouvertes telles que rails, geocoder et unicorn pour accélérer le développement tout en travaillant sur une base solide.»
En d’autres termes, la quantité de code que l’équipe a dû écrire par elle-même a été fortement réduite car elle a pu utiliser des bibliothèques libres créées par d’autres.
Ruby Geocoder, par exemple, est une bibliothèque réalisée en 2010 et maintenue par Alex Reisner, un développeur indépendant. Geocoder permet à une application de chercher facilement des noms de rues et des coordonnées géographiques.
Unicorn est un serveur datant de 2009, il est administré par une équipe de sept contributeurs (leurs noms sont visibles sur le site web d’Unicorn) encadrés par Eric Wong, un développeur.
Créer un nouveau logiciel n’a jamais été aussi simple, car il existe de plus en plus de portions de code « prêtes à l’emploi » dont on peut se servir. Pour en revenir à la métaphore de l’entreprise de bâtiment, il n’est plus nécessaire pour construire un immeuble de fabriquer soi-même tout ce dont on a besoin, il est plus simple d’acheter du « préfabriqué » et d’assembler fondation, structure porteuse et murs comme des Legos.
Du coup, il n’est plus nécessaire de savoir comment construire un logiciel à partir de zéro pour être qualifié de développeur. le service des statistiques sur le travail des USA (Bureau of Labor Statistics) estime que l’emploi des développeurs va augmenter de 22% entre 2012 et 2022, soit bien plus rapidement que la moyenne dans les autres professions.

Le logiciel libre est directement responsable de la renaissance actuelle des startups

Les coûts de lancement d’une entreprise ont énormément baissé depuis la première bulle internet de la fin des années 90. Le capital-risqueur et ex-entrepreneur Mark Suster évoquait son expérience dans un billet de blog de 2011 :

Quand j’ai monté ma première entreprise, en 1999, l’infrastructure coûtait 2,5 millions de dollars, simplement pour commencer, et il fallait y ajouter 2,5 millions de dollars de plus pour payer l’équipe chargée de coder, lancer, gérer, démarcher et vendre notre logiciel. […]

 

Nous avons à peine perçu le premier changement d’ampleur dans notre industrie. Il a été porté par l’introduction du logiciel libre et plus précisément par ce que l’on a appelé la pile LAMP. Linux (au lieu de UNIX), Apache (un logiciel de serveur web), MySQL (à la place d’Oracle) et PHP. Il y a bien sûr eu des variantes – nous préférions PostgreSQL à MySQL et beaucoup de gens utilisaient d’autres langages de programmation que PHP.

 

Le libre est devenu un mouvement, un état d’esprit. Soudain, les logiciels d’infrastructure étaient presque gratuits. Nous avons payé 10% du tarif normal pour l’achat des logiciels et le reste de l’argent est allé dans le support. Un tel effondrement de 90% des coûts engendre de l’innovation, croyez-moi.

La disponibilité actuelle des composants logiciels libres et gratuits (associée à des services d’hébergement moins chers comme Amazon Web Services et Heroku) permet à une startup technologique de se lancer sans avoir besoin de millions de dollars. Les entrepreneurs peuvent tout à fait sortir un produit et trouver un marché sans dépenser un seul dollar, la levée de fonds auprès de capital-risqueurs se faisant seulement après avoir montré la viabilité de leur projet.
Alan Schaaf, qui a fondé Imgur, un site populaire de partage d’images faisant partie des 50 sites les plus consultés au monde, a justement déclaré que les sept dollars nécessaires à l’achat du nom de domaine représentaient la seule dépense indispensable au démarrage de son entreprise. Imgur était rentable et avant de lever 40 millions de dollars en 2014 auprès de l’entreprise de capital-risque Andreessen Horowitz, Schaaf n’a eu recours à aucun fond extérieur pendant 5 ans (source).
Les capital-risqueurs ainsi que les autres acteurs de l’investissement ont, à leur tour, commencé à investir des montants moindres, développant ainsi de nouvelles formes de fond d’investissement dont voici trois exemples.

Fonds spécialisés dans le capital d’amorçage : sociétés de capital-risque préférant financer la première levée de fond, plutôt que de participer à une augmentation de capital ultérieure.

Fonds de micro capital-risque : une définition assez large sous laquelle on regroupe les sociétés de capital-risque disposant de moins de 50 millions de dollars d’actifs.

Accélérateurs de startup : des sociétés qui financent de petites sommes, souvent inférieures à 50 000 dollars, et qui également conseille et parraine les toutes jeunes entreprises..

Aujourd’hui, avec 10 millions de dollars, on peut financer cent entreprises contre seulement une ou deux dans les années 90.

Le logiciel libre a simplifié l’apprentissage de la programmation, rendant la technologie accessible à tous, partout dans le monde.

Si aujourd’hui vous voulez apprendre à coder chez vous, vous pouvez commencer par étudier Ruby on Rails. Rails est le nom d’un framework et Ruby est un langage de programmation. N’importe qui disposant d’un accès internet peut installer gratuitement ces outils sur n’importe quel ordinateur. Parce qu’ils sont libres et gratuits, ils sont également très populaires, ce qui signifie qu’il existe énormément d’informations en ligne permettant de bien démarrer, du simple tutoriel au forum d’aide. Cela montre qu’apprendre comment coder est aussi accessible que d’apprendre à lire et écrire l’anglais ou le français.
Pour comparer, l’utilisation de frameworks et de langages non open source impliquaient : de payer pour y avoir accès, d’utiliser un système d’exploitation et des logiciels spécifiques, et d’accepter des contraintes de licence susceptibles d’entraver le dépôt d’un brevet pour un logiciel construit sur la base de ce framework. Aujourd’hui il est difficile de trouver des exemples de frameworks qui ne sont pas publics. L’un des plus célèbres exemples de framework propriétaire est le .NET, développé et sorti en 2002. En 2014, Microsoft a annoncé la sortie d’une version publique de .NET, appelée .NET Core.
Audrey Eschright, une développeuse, a décrit comment les logiciels open source l’ont aidée à apprendre la programmation à la fin des années 90.

Je voulais apprendre à programmer mais je n’avais pas d’argent. Pas la version « étudiante fauchée » : ma famille était pauvre mais également dans une situation chaotique…. Cela peut sembler étrange aujourd’hui, mais à l’époque il y avait en fait deux options pour quelqu’un qui voulait écrire de véritables logiciels : on pouvait utiliser un ordinateur avec Windows et payer pour les coûteux outils de développement de Microsoft, ou on pouvait avoir accès a un système Unix et utiliser [le compilateur] gcc…. Mon but devint donc d’avoir accès à des systèmes Unix pour pouvoir apprendre à programmer et faire des trucs sympas.

Jeff Atwood, un développeur .NET de longue date, a expliqué sa décision d’utiliser Ruby pour un nouveau projet, Discourse, en 2013 :

Quand on habite en Argentine, au Népal ou en Bulgarie par exemple, il est vraiment très difficile de démarrer en programmation avec les outils fournis par Microsoft. Les systèmes d’exploitation, les langages et les outils open source permettent de mettre tout le monde au même niveau, ils constituent le socle sur lequel travaillera, partout dans le monde, la prochaine génération de programmeurs, celle qui nous aidera à changer le monde.

Le nombre de startups a explosé et dans leur sillage sont apparues de nombreuses initiatives pour enseigner la programmation aux gens : aux enfants et aux adolescents, mais aussi aux membres de communautés défavorisées, aux femmes ou aux personnes en reconversion professionnelle. Parmi ces initiatives on retrouve Women Who Code, Django Girls, Black Girls Code, One Month et Dev Bootcamp.
Certaines de ces organisations offrent leurs services gratuitement, tandis que d’autres les font payer. Toutes se reposent sur des logiciels libres et gratuits dans leur enseignement. Par exemple, Django Girls a appris à coder à plus de 2000 femmes dans 49 pays. Bien que l’organisation n’ait pas développé Django elle-même, elle a le droit d’utiliser Django, que les étudiantes téléchargent et utilisent gratuitement dans leur programme d’apprentissage.

Django Girls hackathon à Rome – Photo Django Girls CC-BY-2.0

Dev Bootcamp apprend à programmer aux personnes qui veulent changer de carrière, et prépare n’importe qui, du professeur d’anglais au vétéran, à devenir développeur professionnel. Le programme coûte entre 12 et 14 000 dollars. Dev Bootcamp enseigne entre autres Ruby, JavaScript, Ruby on Rails et SQL. Les étudiants peuvent télécharger et utiliser tous ces outils gratuitement, et Dev Bootcamp n’a pas besoin de payer pour les utiliser. Dev Bootcamp a été acheté par Kaplan en 2014 pour un prix inconnu.
Si des logiciels aussi importants n’étaient pas gratuits, beaucoup de gens seraient dans l’incapacité de participer à la renaissance technologique actuelle. Il existe encore de nombreux obstacles économiques et sociaux qui empêchent qu’ils soient encore plus nombreux à participer, comme le prix du matériel nécessaire pour avoir un ordinateur portable et une connexion Internet, mais les outils de programmation eux-mêmes ne coûtent rien.




MyFrama : vos favoris (et Framasofteries) partout, avec vous, rien qu’à vous !

Imaginez une alternative à tous les favoris que vous confiez à Google Chrome ; qui vous permettrait en même temps de vous y retrouver parmi tous les frama-services que l’on propose…

Le Libre nous a donné les briques pour le faire, alors nous avons retroussé nos manches pour vous présenter MyFrama !

Un del.ico.us fourre-tout numérique pour vos marque-pages et favoris !

Avant toute autre chose, MyFrama est un service de bookmarking (de marque-pages) basé sur le logiciel libre Shaarli (créé par SebSauvage ^^)

Vous voyez tous ces onglets que vous gardez ouverts, parce qu’il y a là une recette que vous n’avez pas encore pris le temps d’essayer, un article de blog à lire ou le site d’un artisan que vous voulez garder… ? Vous vous souvenez de toutes ces fois où vous étiez sur l’ordinateur de Tata Jeannine, et que vous n’avez pas pu retrouver ce site si pratique qui est toujours en favori dans vos marque-pages… ? Si ces deux exemples vous ont arraché un petit sourire, c’est que MyFrama peut vous servir.

Le principe est simple : vous vous créez un compte, vous vous y connectez et vous avez désormais un fourre-tout numérique accessible d’où vous le souhaitez. Dans ce fourre-tout, vous mettez des liens, des adresses web, des URL. Vous pouvez le faire directement en ligne (en les copiant/collant sur votre compte my.framasoft.org), en utilisant le marque-page dynamique (un bouton que vous aurez glissé-déposé sur la barre de favoris de votre navigateur) ou encore depuis une application android (shaarlier, aussi disponible sur le Google PlayStore).

Lorsque vous ajoutez un lien à votre MyFrama, vous pouvez lui donner un titre, une description, des étiquettes (des tags), afin de le retrouver aisément et de vous souvenir de ce dont ça parle. Et voilà, la puissance du logiciel Shaarli permet à MyFrama d’être une alternative à Del.ico.us (pour les vétéran-ne-s du web) et aux favoris de votre compte Google Chrome (le service « Google Favoris »)…

… Mais ce n’est pas tout.

 

anim_myframa

MyFrama : ne perdez plus vos Frama – pads, – dates, – calcs, etc.

Comme nous l’avons expliqué en lançant la 3e année de notre campagne : nous ne souhaitons pas, à court ou moyen terme, créer de « Compte Framasoft » comme vous pourriez avoir un compte Google, ou Apple, ou Microsoft… Ce serait trop compliqué (beaucoup de technologies et langages disparates), trop risqué (cela créerait un seul endroit où « tout peut péter »… ou bien peut être piraté) mais surtout ce serait à l’inverse de ce que nous prônons : re-décentraliser les usages du Web, afin que vos vies numériques ne soient plus jamais enfermées dans des silos de données.

Franchement, entre nous : on ne va pas dégoogliser internet pour le framasoftiser, hein 😉 ? Notre but secret est atteint (pour notre plus grande joie) quand vous quittez fièrement un service Framasoft. Parce que cela veut dire que vous l’avez tellement aimé que vous avez décidé de l’installer pour vous-même (ou d’utiliser le serveur d’un CHATON, d’un ami, de votre asso, collectif, entreprise, etc.). Bref : nous vous souhaitons, à vous et vos données, la plus grande indépendance numérique.

Tout cela, c’est bien joli. Mais pour autant, on ne répond pas à un besoin que, en attendant, vous nous exprimez régulièrement.

« Comment je fais pour retrouver tous les Frama-bidules que j’utilise ??? »

La réponse, c’est le nouveau bouton violet “MyFrama” que vous avez vu apparaître dans la “framanav” la barre de menu qui se trouve en haut de chacun de nos sites web. Lorsque vous êtes sur un Framapad (ou date, ou calc, ou autre…) il vous suffit de cliquer sur ce bouton pour que non seulement ledit pad s’ajoute dans votre compte MyFrama, mais qu’en plus il soit automatiquement classé sous l’étiquette “Pad”, afin que vous puissiez le retrouver (avec tous ses camarades) en un clic…

myframa-comme-ca

… Et ce n’est pas tout.

Triez tout Internet si vous le voulez (mais c’est long)

Le logiciel Shaarli ne proposait pas cette option de tri automatique. Quelque chose qui permette de reconnaître qu’il y ait « framapad.org » dans l’adresse web et donc qui attribue à cette adresse l’étiquette “pad”. Qu’à cela ne tienne, JosephK, notre codeur tout terrain, a écouté la grande loi du Yakafokon et passé quelques heures sur son clavier pour développer un nouveau plugin qui permette exactement cela sur Shaarli.

Du coup, ce tri automatique ne sert pas qu’aux services Framasoft ! En effet, vous pouvez tout à fait (et facilement) le paramétrer pour qu’il reconnaisse, étiquette et trie automatiquement les “nextinpact”, “linuxfr”, “numerama” ou “korben” (ceci sont des exemples totalement pris au hasard :p) qui se trouvent dans les liens que vous ajouterez à votre fourre-tout numérique !

internet-c-long

Et si vous avez déjà un Shaarli sur votre serveur, pas de soucis : le plugin « tags_advanced » est libre, il vous suffit de l’ajouter à votre instance, voire de l’améliorer si le cœur vous en dit ! Quand on utilise du Libre, on finit toujours par en vouloir plus et donc par apporter sa pierre, sa contribution. C’est ça le cercle vertueux !

Mouais, mais concrètement, je fais comment pour utiliser MyFrama ?

OK, allons-y étape par étape. La première, c’est de se créer son compte ! Vous allez sur my.framasoft.org, et vous cliquez sur « Créer un compte » pour entrer vos informations :

myframa-creation-de-compteVoilà, votre compte est créé, il vous suffit de taper votre mot de passe une seconde fois pour vous y connecter (par contre ne cochez la case « rester connecté » que si vous êtes sur votre ordinateur perso). Notez que votre nom d’utilisateur est passé en « tout en minuscules » (beaucoup plus facile à retenir ^^)

myframa-connection

Vous arrivez donc sur votre compte MyFrama, où nous vous avons pré-rempli quelques filtres et liens pour l’exemple. Regardons cela ensemble :

myframa-complet
cliquez sur l’image si vous voulez l’agrandir, les numéros de ces cadres vont nous servir tout au long de l’article

1) la barre d’outils

Elle vous permet de :

  • rechercher un lien parmi vos favoris ;
  • régler l’affichage des liens ;
  • obtenir le flux RSS de vos liens ;
  • gérer vos paramètres ;
  • se déconnecter de MyFrama.

2) ajouter des liens

Il y a plusieurs moyens d’ajouter des adresses web dans votre MyFrama.

Le premier est de la copier puis la coller dans la grande barre en haut de de l’accueil (cadre 2).

Le deuxième est d’aller dans vos paramètres (bouton ) pour ajouter un des boutons suivants à votre navigateur préféré :

Yapluka suivre ce qui est écrit ^^ !
Yapluka suivre ce qui est écrit ^^ !

shaarlier-sur-androidLe dernier c’est d’utiliser une application sur votre mobile.

Pour Android, vous avez l’application Shaarlier, qui est disponible sur le magasin libre Fdroid et sur le Playstore de Google. Pensez à préciser :

  • L’url de votre shaarli : https://my.framasoft.org/u/votrepseudo
  • Pseudo : en minuscule
  • Mot de passe (sans se tromper ^^)
  • Le nom du compte : répétez votre pseudo en minuscule…

Voici le résultat sous vos yeux ébaubis.

 

3) 4) et 5) lorsque vous ajoutez un lien

Un lien est une adresse web (URL), et afin de la retrouver plus facilement dans votre fourre-tout, vous pouvez en préciser :

  • Le titre (cadre 3)
  • La description (cadre 4)
  • Des étiquettes (les « tags », cadre 5)
  • Et si vous voulez qu’il soit privé ou public.

myframa-ajout-lien

6) des filtres automatiques pour retrouver vos services Framasoft

On vient de partager un Framapad avec vous ? Vous voulez mettre de côté le Framadate de votre prochaine réunion d’équipe ? Pas de soucis : allez sur la page en question, et cliquez sur le bouton violet MyFrama dans la Framanav (la barre tout en haut)

Encore une fois : juste comme ça ;)
Encore une fois : juste comme ça ;)

Nous avons pré-réglé des filtres automatiques pour que votre compte MyFrama reconnaisse automatiquement les adresses « framapad.org » ou « framadate.org » etc. et leur attribue une étiquette correspondante. Une fois dans votre compte, il vous suffit de cliquer sur le bon tag (cadre 6) pour y retrouver vos liens !

7) des filtres que vous pouvez modifier à loisir

Bien entendu, vous restez libre de gérer le tri automatique de vos favoris !

Pour cela :

  • rendez-vous dans les paramètres des tags (bouton en bas à droite)
  • indiquez l’étiquette que vous voulez dans la colonne « Nom » (ici korben)
  • et éventuellement le motif que MyFrama doit repérer pour trier automatiquement (ici korben.info)
  • déterminez l’ordre avec les flèches de gauche
  • cochez/décochez les options à droite (page d’accueil/lien privé)

myframa-filtres

Et voilà, vous n’avez plus qu’à vous créer votre petit fourre-tout du web avec MyFrama !

Pour aller plus loin :




Framagenda : ne partagez plus votre planning (ni vos contacts) avec la NSA !

Un service d’agenda touche à l’intime. On a beau partager le rendez-vous « déjeuner d’affaires » et mettre en privé celui qui est noté « Dépist.HIV »… notre emploi du temps est malgré tout partagé avec celui à qui on le confie : l’hébergeur.

Google Agenda.

Apple Agenda.

Microsoft Agenda…

Si vous êtes le produit, ce n’est pas gratuit

(ceci est une référence à l’excellente tribune de Laurent Chemla, à lire !)

Comment Siri (Apple™) sait-elle que vous préférez tel restaurant pour vos déjeuners d’affaires ? Comment Cortana (Microsoft™) peut-elle vous proposer d’ajouter ce PowerPoint™ à la réunion que vous êtes en train de planifier ? Comment Google Now™ sait-elle vous prévenir à temps de rejoindre votre voiture afin d’éviter les bouchons pour aller à votre rendez-vous ? (eh oui : les GAFAM accordent les assistants numériques au féminin -_-)

anim_framagenda

C’est simple : vous leur donnez ces informations et ils ne se privent pas pour les scanner, analyser, indexer. Pour alimenter votre profil personnel, votre graphe social. Les gestionnaires d’emploi du temps sont l’illustration parfaite de ce que recouvre l’expression « données personnelles ». Tout simplement, la traduction de nos vies : nos vies numériques, liées à nos vies physiques. Où nous sommes, à quel moment, pour quoi faire, avec qui…

Nothing to hide
Nothing to hide (« Rien à cacher »), un documentaire qu’il nous tarde de voir ^^

« Oui, mais c’est tellement pratique…»

En effet. Mais ce confort a un prix : des morceaux de votre vie… et de celle des personnes qui la partagent, par ricochet. Bien sûr, vous pouvez tenter de tricher, de noter une cryptique « chasse au crabe avec Jérôme » pour indiquer l’accompagnement de votre frère à sa séance de chimiothérapie. Mais si lui (ou vous) n’a pas désactivé la géolocalisation de vos téléphones, une fois arrivé-e-s au centre anti-cancer, un GAFAM aura vite fait de recouper les données et de déjouer votre subterfuge. Surtout si vous avez utilisé votre téléphone en mode GPS pour trouver cette fichue clinique…

Sans aller si loin dans l’intime, nous ne souhaitons pas toujours dévoiler les informations de nos plannings collaboratifs : les réunions d’un syndicat, le rétro-planning du projet phare de votre entreprise, le local d’accueil pour victimes de violences conjugales, les horaires d’arrivée et de départ des loupiots à la crèche, etc.

Un planning, ou un agenda, note ce que vous faites de votre vie et avec qui. Il était plus qu’urgent de trouver une alternative éthique offrant une réelle indépendance.

L’histoire du stagiaire qui fit la nique à Google Agenda

Nous connaissions déjà Thomas, vu qu’il est l’un des développeurs principaux de wallabag, le logiciel libre qui fait fonctionner Framabag, notre service de lecture différée d’articles Web. Lorsqu’il nous a proposé de faire son stage de fin d’études chez nous, nous avons tout de suite pensé à ce projet d’agenda libre !

Le besoin était aussi grand que précis : il nous fallait une solution permettant de gérer des agendas privés, confidentiels et publics. Qui offre la possibilité d’inviter (par courriel) une personne sur un des événements qu’on y saisit. Qui soit vraiment facile à installer sur un serveur (sur le petit hébergement mutualisé d’une association, par exemple). Et, enfin, qui se base sur des logiciels libres déjà existants, parce que même si aucun ne remplissait déjà tous nos critères, on n’allait pas non plus réinventer la roue alors qu’on pouvait simplement contribuer à un projet (et une communauté) déjà reconnu(e).

Thomas a donc travaillé d’arrache-pied sur l’application Agenda de ownCloud/NextCloud, en collaboration avec les communautés de ces logiciels, afin qu’on puisse rendre certains plannings publics (si on le veut) et que l’on puisse s’abonner à des agendas existants (par le standard CalDAV). Le moins que l’on puisse dire, c’est que c’est un succès, vu l’accueil que Thomas a reçu lors de sa présentation à la ownCloud Contributors Conference en septembre dernier à Berlin.


Conférence « Devlopping ownCloud for our own needs » sur Youtube

Le résultat ? Vous pouvez le tester dès aujourd’hui, il s’appelle Framagenda. La morale de cette histoire ? Au sortir de son stage, Thomas a été engagé en tant que développeur chez Framasoft pour un CDD de six mois, que nous envisageons de pérenniser si tel est son souhait, et si les moyens que vous nous offrez par vos dons nous le permettent.

Framagenda expliqué aux pros du mulot

Ici, nous allons être un peu techniques mais brefs. Si vous préférez un petit tutoriel illustré, n’hésitez pas à passer directement au titre suivant ;).

Framagenda vous permet :

  • La création d’un compte (sur une instance Nextcloud, mais avec 5 Mo d’espace disque, ce n’est pas un Framadrive)
  • La création et l’édition de multiples agendas (perso, pro, associatif, fêtes familiales, etc.)
  • La création d’événements (rendez-vous) dans un agenda :
    • Privé, confidentiel, public…
    • Possibilité de détailler : horaires, lieux, description…
    • Possibilité de faire des rappels
    • Récurrence : possibilité de paramétrer des événements qui se répètent régulièrement
    • Possibilité d’ajouter des participant-e-s par email (avec envoi d’email & d’un fichier .ics en pièce jointe)
  • L’intégration avec un carnet de contacts (le calendrier de leurs anniversaires est automatiquement créé \o/)
  • L’intégration avec les listes de tâches (une par agenda, mais plus si affinités)
  • La synchronisation avec vos appareils (exemple pour Android : via DAVDroid)
    • de vos agendas (avec un choix agenda par agenda)
    • des listes de tâches afférentes (exemple pour Android : avec Open Tasks)
    • de vos contacts (toujours via DAVDroid pour Android)
  • Le partage d’un ou plusieurs agendas avec d’autres utilisateurs de Framagenda (par leur pseudo)
  • L’abonnement à d’autres agendas/calendriers externes (intégration via ics/WebCal, dont les calendriers des GAFAM : Gmail, Apple, Outlook, etc.)
  • La création de liens publics vers chacun de vos agendas :
    • Lien « vue publique », toute simple
    • Lien CalDAV pour les clients (Thunderbird, DAVDroid, etc.)
    • Lien WebDAV pour ajouter dans Google Agenda & Cie
  • La possibilité de publier un agenda sur votre site web (code d’intégration iframe)
  • L’import ics (dans un nouvel agenda ou dans un agenda existant)
  • L’export ics (agenda ou événement)

Framagenda est basé sur l’application Nextcloud 11 et l’application Agenda (1.5), sous licence GNU AGPL v3. Si vous voulez l’installer sur vos serveurs (et gagner en indépendance) notre tutoriel d’installation se trouve ici.

« Expliquez-moi Framagenda en un exemple simple à comprendre »

C’est une demande que nous avons régulièrement, le fameux exemple « simple à comprendre ». C’est aussi un bon exercice d’expliquer comment fonctionne un service et ce qu’il peut faire (à une personne qui n’est pas forcément passionnée par l’informatique). Nous nous y plions donc avec plaisir mais surtout avec cet exemple :

Farida se dégooglise de l’Agenda
(et du carnet de contacts)

Farida n’est pas une libriste de la première heure : juste une personne indépendante à qui ça pose problème de dévoiler sa vie à Google. Agnès, qui coache l’équipe de football de sa fille, lui a parlé de Framagenda : elle décide de se lancer.

Pour cela elle doit se créer un compte. Mouais, OK, mais que va-t-on faire de ses données ? Elle prend cinq minutes pour lire les conditions générales d’utilisation des services Framasoft (il n’en faut pas plus) et cela lui convient. Du coup, elle :

  1. se rend donc sur Framagenda.org ;
  2. clique sur « S’enregistrer » ;
  3. saisit son adresse email pour recevoir un lien de vérification ;
  4. crée son compte dans la fenêtre ouverte par le lien de vérification.

framagenda-01

Bien. Une fois son compte créé, elle n’a plus qu’à saisir son mot de passe, quelque chose de somme toute classique. C’est bien, dès l’accueil, elle a droit à quelques liens pour savoir comment utiliser son Framagenda : de la documentation, des outils pour le synchroniser sur son mobile…

framagenda-03

Elle décide de voir si elle arrive à récupérer son agenda personnel Google. Ce n’est pas hyper intuitif (tiens, Google est moins son ami, sur ce coup !), mais en suivant leur tutoriel, elle arrive à aller dans les paramètres dudit agenda pour obtenir l’export de son calendrier.

framagenda-04

Bon il lui faut le dézipper (merci Google, grrrrr), mais ça y est, elle a un fichier .ics ! Ce doit être ça qu’il lui faut…

Dans son Framagenda, il lui suffit de cliquer sur « paramètres » puis sur « importer un agenda » pour qu’elle puisse intégrer son Google Agenda à son agenda personnel (ouf, sauvée, c’est bien le fichier .ics qu’il lui fallait !).

framagenda-05

La voilà devant une interface d’agenda comme elle en connaît bien, avec au choix une visualisation de la journée, de la semaine, du mois ; ainsi qu’un agenda personnel (celui dans lequel elle a importé ses rendez-vous qui étaient sur Google) et un « Anniversaire de ses contacts » déjà intégrés.

framagenda-06

Bon, c’est pas tout ça, mais samedi à 15 h elle a une réunion avec Agnès, justement, l’entraîneuse de l’équipe de foot de sa fille. Elle crée donc l’événement en cliquant sur l’horaire. Comme elle veut inviter Agnès au rendez-vous, elle clique sur « plus » pour détailler cet événement. Elle rentre l’email d’Agnès, pour que cette dernière soit prévenue du rendez-vous directement dans sa boite mail.

framagenda-07

Sandrine trouve que finalement, c’est pas si compliqué que ça, de se dégoogliser. Elle se dit qu’elle devrait aller rencontrer des libristes près de chez elle. Du coup, elle va sur l’Agenda du Libre, LE site qui regroupe les événements publics des libristes en France. Farida voit que dans les flux, en bas, elle peut s’abonner au calendrier des rencontres libristes de sa région.

framagenda-08

Bon, c’est bien gentil, mais entre le RSS, le WebCal, l’iCal et autres, elle ne sait que choisir (si ce n’est sa région : l’Occitanie). Heureusement, lorsqu’elle clique sur « nouvel abonnement » dans son Framagenda, elle voit qu’on lui demande une adresse Webcal : d’un clic-droit de la souris, elle copie l’adresse du lien WebCal de l’agenda du libre, et ajoute cet abonnement à son Framagenda.

framagenda-09

La voilà désormais avec un agenda bien chargé. C’est bien. Mais ce serait tout de même mieux si elle pouvait l’avoir sur son téléphone. Mince : dans l’image qui l’a accueillie lors de son inscription, il y avait le lien d’un tuto pour synchroniser son agenda avec son téléphone Android, mais elle a oublié de noter ce lien… Pas de soucis, elle le retrouve dans l’aide de Framagenda.

Farida télécharge donc DAVDroid (3€99… si ce n’est pas gratuit c’est bien que c’est elle qui soutient le produit !) et se laisse porter par le tutoriel… Et voilà le travail !

#gallery-1 { margin: auto; } #gallery-1 .gallery-item { float: left; margin-top: 10px; text-align: center; width: 50%; } #gallery-1 img { border: 2px solid #cfcfcf; } #gallery-1 .gallery-caption { margin-left: 0; } /* see gallery_shortcode() in wp-includes/media.php */

Oh ! Incroyable ! En suivant le tuto d’installation de son agenda sur son téléphone, elle se rend compte qu’elle peut aussi y prendre les contacts qu’elle avait confiés à Google (ses ami-e-s, leurs téléphones, leurs emails et adresses physiques) et les importer dans son Framagenda…

Elle peut même ajouter les listes de tâches liées à chacun de ses agendas en utilisant l’application OpenTasks.

Cela ne lui prend que quelques tapotis de plus, alors elle s’exécute avec plaisir !

#gallery-2 { margin: auto; } #gallery-2 .gallery-item { float: left; margin-top: 10px; text-align: center; width: 50%; } #gallery-2 img { border: 2px solid #cfcfcf; } #gallery-2 .gallery-caption { margin-left: 0; } /* see gallery_shortcode() in wp-includes/media.php */

Du coup, Farida se demande si elle ne peut pas aller plus loin. Le club de foot de sa fille a besoin d’un agenda partagé pour afficher les entraînements, matchs et événements des différentes équipes.

Elle tente donc de créer un agenda « FootClub des Arceaux » avec un événement récurrent (entraînement tous les samedis matin pour l’équipe de sa fille). Du coup elle va cacher ses autres agendas (en cliquant sur leurs pastilles colorées) pour en voir le résultat :

Créer l'événement récurent
Créer l’événement récurrent

Elle partage ensuite la tenue de cet agenda avec Agnès, la coach. Il lui suffit de cliquer sur l’icône partager à côté de l’agenda « FootClub des Arceaux » et de rentrer le pseudonyme d’Agnès. Comme Agnès est aussi sur Framagenda, cela se complète automatiquement et fonctionne directement.

Résultat en cachant les autres agendas
Résultat en cachant les autres agendas

Avec cette astuce, Agnès a elle aussi la main sur cet agenda partagé. Cela lui permet de rentrer les entraînements des autres équipes et les prochains matchs. En cherchant à partager le lien public de l’agenda du club de foot, Farida et elle se rendent compte qu’en regardant les paramètres de cet affichage public, elles ont justement un code HTML à intégrer dans le site web du club de foot ! Et voilà leur agenda en ligne !

framagenda-12Si on intègre ce code ici cela donne :

Ni Farida, ni Agnès ne se définissent comme expertes en informatique ou même Geeks. Pourtant, désormais, leurs rendez-vous, contacts et listes de tâches n’appartiennent plus ni à Google (pour Farida) ni à Apple (pour Agnès qui s’est désintoxiquée de l’Iphone). Prochaine étape : voir avec les libristes du coin si elles peuvent installer le même logiciel sur les serveurs du Foot-Club des Arceaux et y importer leurs données Framagenda (on leur a assuré qu’avec Nextcloud, c’est hyper facile).

Cette fois-ci, elles deviendront totalement indépendantes !

Si vous voulez les suivre sur cette route, c’est simple, la voie est libre : testez Framagenda !

Pour aller plus loin :




En savoir (un peu) plus sur le projet Framaforms

En général nous utilisons des logiciels libres qui existent déjà, pour nos framachins. Comme nous créons rarement nos outils nous-mêmes, il fallait qu’on vous explique le pourquoi, le comment.

Le jeune Pierre-Yves, développeur de Framaforms, s’est prêté au jeu de l’interview.

Pierre-Yves Gosset - photo Framasoft - licence CC-BY-SA
Pierre-Yves Gosset – photo Framasoft – licence CC-BY-SA

Pierre-Yves, peux-tu tout d’abord te présenter ?

Économiste de formation, j’ai dû rater quelque chose dans mon parcours, puisque je suis le délégué général de Framasoft depuis 2008. Alors que les premières années, mon travail tournait beaucoup autour de la technique, il a beaucoup évolué ces dernières années, notamment parce que si j’ai longtemps été le seul salarié, j’ai aujourd’hui plusieurs collègues infiniment plus compétents que moi sur les questions techniques. Framaforms était l’occasion de ne pas trop perdre le fil, et de remettre un peu les mains dans le camb^Wcode.

Était-ce la seule motivation à réaliser Framaforms ?

Non, même si beaucoup de développeurs décident de développer un logiciel « parce qu’ils le peuvent » (et qu’on apprend toujours beaucoup dans ce cas-là).

D’abord, il fallait répondre à l’engagement moral pris dans la campagne « Dégooglisons Internet » de proposer une alternative à Google Forms.

Ensuite, lorsque j’ai fait le tour des solutions libres existantes, il m’est apparu rapidement qu’un logiciel sortait clairement du lot : l’excellent Limesurvey. Ce logiciel dispose d’une forte communauté, et – de par sa maturité (13 années d’existence) – propose de nombreuses fonctionnalités, plutôt pointues.

J’ai d’ailleurs échangé avec plusieurs membres francophones de cette communauté à cette occasion.

Mais après avoir installé et testé le logiciel, il fallait se rendre à l’évidence : Limesurvey est parfait pour réaliser des enquêtes complexes, mais assez peu adapté à un public qui veut juste créer un petit formulaire en 5 minutes chrono. Alors que Google Forms excelle dans ce domaine, mais au prix de la collecte de vos données et de votre dépendance à la plateforme : les réponses sont enregistrées dans un autre produit Google (Google Sheets), il est impossible d’exporter un formulaire pour le recharger dans un autre logiciel (c’est ce qu’on appelle l’interopérabilité), et surtout le jour où Google décide de changer les règles du jeu (graphisme, prix, usage, etc.) vous êtes coincés…

En 2014, j’avais rencontré Alexis Métaireau, qui travaillait alors pour Mozilla. Il développait alors un projet logiciel (kinto) et souhaitait créer une application de création de formulaires plus simple que Limesurvey. Malheureusement, l’emploi du temps d’Alexis ne lui a pas permis d’avancer aussi vite qu’il le souhaitait et début 2016, il n’existait donc pas encore de solution.

Framasoft préfère de loin proposer et mettre en valeur des logiciels libres déjà existants et disposant déjà d’une communauté, plutôt que de développer des solutions maison qu’il faudra maintenir, faire évoluer, sans compter le support utilisateur à gérer. Cela représente un coût et une perte de temps pour une petite association comme la nôtre, mais comme nous nous étions engagés vis-à-vis de nos donateurs il fallait bien avancer, et j’ai donc commencé à envisager de développer notre propre solution.

N’ayant que très peu de temps disponible, j’ai préféré « assembler » des briques de logiciels libres existants plutôt que de partir de zéro. Je suis donc parti sur une solution utilisant Drupal (un des logiciels libres de création de sites web les plus installés au monde).

Justement peux-tu nous dire un mot sur la solution technique retenue, même pour ceux qui n’y connaîtraient rien ?

Lorsque j’ai jeté sur papier les grandes lignes d’un cahier des charges pour une application qui serait une alternative à Google Forms, je me suis rendu compte que c’était à la fois très simple et très compliqué. Il fallait évidemment pouvoir gérer une couche « administrative » du site (que les utilisateurs puissent créer des comptes, retrouver leur mot de passe, qu’un ou plusieurs administrateurs puissent gérer les formulaires dépassant le cadre d’une utilisation raisonnable, etc.), et bien entendu développer un système de création/gestion de formulaire. Cette dernière partie n’était pas la plus complexe, sauf que le diable se cache dans les détails : si je souhaitais rajouter des fonctionnalités comme par exemple « faire apparaître ce champ seulement si le participant coche telle case » ou « mettre ce formulaire sur plusieurs pages » ou « envoyer un email à telle personne avec telles infos lorsque quelqu’un répond telle information dans tel champ », le développement se complexifiait énormément.

Or je connaissais déjà un peu Drupal, l’un des CMS les plus répandus, et son grand nombre de modules, notamment un module nommé Webform qui permet… la création de formulaire.

Courant 2015, je me suis donc lancé un double défi : réaliser Framaforms sur une base Drupal + Webform 1) en moins de 10 jours équivalent temps plein, et 2) sans écrire aucune ligne de code 🙂

Euh, un développeur qui n’écrit aucune ligne de code, c’est légal, ça ?

Justement, je ne suis pas développeur ! 🙂

J’ai évidemment des connaissances en développement, mais j’aurais sûrement été la pire personne à Framasoft pour développer un tel soft 😛

Et par ailleurs, je souhaitais montrer l’un des avantages du libre : sa capacité à réutiliser/détourner du code existant pour produire un nouveau logiciel.

De plus, si je parvenais à relever ces défis, cela me simplifierait largement la question de la maintenance ou de la sécurité : Drupal est un logiciel dont le code est scruté par des milliers de paires d’yeux sur la planète, et les failles sont vite corrigées. Si j’avais tout écrit moi-même, ça aurait probablement été bourré de failles et de bugs !

Les défis ont donc été relevés ?

Pour être honnête, non ! Mais de peu 🙂

J’ai compté environ 14j ETP de travail, étalés en pointillés sur 17 mois (j’aurais été plus vite si mon emploi du temps m’avait permis de ne me consacrer qu’à ce projet, mais j’ai rarement pu travailler plus de 2H d’affilée dessus).

Et pour les lignes de code, j’en ai finalement écrit… une soixantaine (autant dire rien du tout !) juste pour adapter Webform à des besoins spécifiques, comme par exemple le fait de mieux anonymiser les réponses des participants aux formulaires.

Entre temps, Alexis Métaireau a fini par publier son outil (fourmilières) que je vous recommande, d’ailleurs. Mais c’est sans regret pour moi, puisque si le design et la simplicité de fourmilières sont plus grandes, Framaforms est tout de même bien plus riche en fonctionnalités.

Au fait, il me semblait que Drupal 8 était sorti, pourquoi avoir choisi d’utiliser la version 7 ?

Tout simplement parce qu’autant le cœur de Drupal 8 est stable, autant bon nombre de modules n’ont pas encore été portés pour cette version. Mais comme je n’en utilise qu’une dizaine, je suis confiant sur le fait que la migration vers Drupal 8 ne sera pas trop douloureuse. Par ailleurs Drupal 7 sera encore maintenu jusqu’à fin 2019, ce qui me laisse le temps de planifier une migration.

Et pour l’avenir ?

Aucune idée ! C’est un peu l’inconnue pour moi, puisqu’il va falloir confronter mon choix technique (je sais que les développeurs qui nous lisent vont troller sec sur le côté « usine à gaz » de Drupal, qui plus est en version 7, sur PHP vs Django, etc. etc.).

Mais je l’assume d’autant plus qu’en fait Framaforms servira aussi de « beta test grandeur nature » à un autre projet « Dégooglisons » de Framasoft, à savoir Framapétitions. Si mes choix tiennent la route, alors je pense que je pourrai me relancer un nouveau défi : réaliser Framapétitions en moins de 4j ETP et 0 ligne de code 🙂

 

vdp.com

L’urgence, c’est d’abord de… consolider Framaforms, car pour être très franc, la peinture est encore très fraîche (des traductions sont manquantes, certains éléments mal placés, la documentation non terminée, etc.). Bref, ça va encore bouger dans les tous prochains jours.

Il va donc falloir maintenir non seulement Framaforms, mais aussi le code du projet (c’est-à-dire ici surtout « le plâtre »  entre les différentes briques utilisées, qui donnent l’architecture de Framaforms)

Par ailleurs, j’ai quelques idées d’améliorations, comme la protection de formulaire par mot de passe, la mise en place d’une API permettant de remplir un framaforms par des logiciels externes, etc. Mais une chose à la fois : il faut déjà voir si ça fonctionne à large échelle !

Un petit mot pour la fin ?

Je voudrais surtout remercier la communauté Drupal, notamment l’auteur principal et mainteneur du module webform, que j’ai contacté, et qui propose un site très proche, et plus joli que Framaforms, avec un service payant pour supprimer des limitations. J’encourage d’ailleurs les lecteurs à le soutenir financièrement, ou au moins à l’encourager.

 

Pour aller plus loin :




Framanotes : vos notes vous appartiennent. For ever.

Framanotes vous permettra de chiffrer (et de retrouver) sans effort vos listes de courses, de tâches à faire, schémas et photos inspirantes, fichiers perso et marque-pages qui en racontent bien plus sur vous que ce que vous voudriez en dire !

Parce qu’avoir toutes ces petites notes sous la main, c’est pratique. Très pratique. On les arrange sur son ordinateur, on les récupère sur son téléphone quand on a en a besoin en déplacement, et on prend sa tablette pour ajouter trois photos et deux liens le soir depuis son canapé… Mais si tout passe par les serveurs d’Evernote (ou de ses concurrents), ces petits bouts de nos vies sont-ils vraiment en sécurité, demeurent-ils confidentiels ?

Attendez : Evernote, ce sont pas des GAFAM, si…?

Si, tout à fait.

Evernote est encore, pour l’instant (et à notre degré de connaissance) une entreprise indépendante des géants du Web étatsunien. Néanmoins, l’omniprésence croissante de leur application crée à elle seule un nouveau silo de données, donc un pouvoir important pour leur entreprise. Pour l’instant, leur modèle économique semble reposer sur le paiement de fonctionnalités et d’espace disque supplémentaire.

Le problème, c’est que non seulement leur code source n’est pas libre (donc nul autre qu’eux ne peut en faire l’audit pour savoir ce qu’ils font des informations qu’on leur confie) ; mais en plus cette concentration des utilisateurs leur confère un pouvoir unilatéral. Quand ils décident d’une hausse tarifaire, soit vous obtempérez, soit vous partez…

Les GAFAM ne s’y trompent pas : mieux comprendre vos intérêts, vos travaux, vos futurs achats, etc. a une valeur folle. Depuis la montée en puissance d’Evernote il y a quelques années, Google a sorti son application Keep, Microsoft son OneNote, Apple ses Apple’s Notes… Vous rendre service ET augmenter la valeur de votre profil publicitaire ? Voilà une affaire juteuse !
prise de notes avec un paon domestique

Framanotes : la tortue du chiffrement soulève le lièvre du profilage !

Nous avons donc installé Turtl sur nos serveurs. il s’agit d’un logiciel de prise de notes, mais pas comme les autres. Le principe est simple :

  1. Se créer un compte sur Framanotes.org
  2. Retenir son mot de passe (très important, nous ne pourrons pas vous le retrouver/renouveler !)
  3. Installer les applications sur votre bureau, ordiphone, tablette, etc.
  4. Les connecter à https://api.framanotes.org et à votre compte
    1. Bonus : ajouter une extension Turtl à votre navigateur !
    2. Bonus : utiliser la version Web sur https://mes.framanotes.org
REMARQUE : À l’origine, Turtl est pensé comme un ensemble d’applications se connectant à un serveur. La version Web est donc un hack expérimental : il s’agit du code des applications que nous avons simplement mis en ligne. Selon nos tests, elle fonctionne bien sur Chromium/Chrome, correctement sur Firefox, peu ou pas du tout sur Internet Explorer/Edge. Nous n’avons pas pu tester sur Safari/Vivaldi.

La différence qui change tout ? Turtl vous propose du chiffrement de bout en bout. Cela signifie que c’est l’application qui chiffre lorsque vous envoyez une note, et qui déchiffre lorsque vous la consultez (pas d’inquiétude, tout cela se fait automatiquement, sans que vous ne le voyiez ^^). Votre mot de passe permet l’accès à vos notes en clair, voilà pourquoi nous ne l’avons pas sur nos serveurs et ne pourrons pas le retrouver (sinon ce serait une grosse faille de sécurité) !

Techniquement, cela signifie que, quoi que vous notiez sur Framanotes, nous n’avons aucun moyen de savoir ce que c’est. Même s’il s’agit du meilleur coin à champignons de l’Ariège. Ou de la recette magique pour réintroduire des licornes sur Terre. Vos notes vous appartiennent à vous, rien qu’à vous et picétout !

En plus de cela, Turtl (et donc Framanotes) vous permet de :

  • Créer & modifier des notes textes au format Markdown
  • Donc créer aisément des listes à puces, avec titres, gras et italique
  • Créer & modifier des notes images (jusqu’à 2 Mo par fichier)
  • Créer & modifier des notes fichiers (jusqu’à 2 Mo par fichier)
  • Créer & modifier des notes marque-pages (adresses web)
  • Noter vos mots de passe (allez-y, c’est chiffré !)
  • Trier vos notes par un système d’étiquettes (tags)
  • Rechercher dans vos notes (indexation)
  • Rassembler certaines notes dans des tableaux
  • Partager un ou des tableaux avec vos ami-e-s (qui sont sur Framanotes)

Turtl est codé par Lyon Bros, en Common Lisp pour la partie serveur (licence AGPLv3) et JavaScript (si, si !) pour les applications et la version Web (licence GPLv3). Beaucoup de fonctionnalités intéressantes figurent sur leur feuille de route, donc n’hésitez pas à leur faire un petit don pour les encourager !

Ou alors, faites comme Framasky, qui, pour préparer Framanotes, n’a pas hésité à se retrousser les manches et a contribué au code en ajoutant entre autres un système de traduction (qui sera intégré aux applications dans leurs prochaines versions).

animation framanotes

Framanotes me sert à préparer mon prochain roman (et faire une tarte)

Nous aimons donner des exemples d’utilisations fictifs et un peu farfelus. Ici, nous allons simplement prendre l’exemple de Pouhiou, framaslave de son état, et romancier à ses heures perdues.

Pour écrire son prochain roman, mettant en scène un Incube patron d’un coffee shop, Pouhiou a besoin de rassembler les notes de ses recherches… Il décide donc de créer un compte sur Framanotes.org.

Il a bien lu l’avertissement, et note son mot de passe avec soin, parce que même en tant que salarié chez Framasoft, il sait qu’il n’y a pas de passe-droit possible : il est strictement impossible pour l’équipe technique de le lui retrouver s’il le perd.

#gallery-3 { margin: auto; } #gallery-3 .gallery-item { float: left; margin-top: 10px; text-align: center; width: 33%; } #gallery-3 img { border: 2px solid #cfcfcf; } #gallery-3 .gallery-caption { margin-left: 0; } /* see gallery_shortcode() in wp-includes/media.php */

Maintenant, il lui faut installer l’application Turtl sur son ordinateur (sous Ubuntu) et son téléphone (sous Android/Cyanogen). C’est simple : télécharger, installer, rentrer son pseudo (avec la majuscule, sinon c’est pas le même) et son mot de passe, et bien inscrire  » https://api.framanotes.org  » dans les « paramètres avancés ».

#gallery-4 { margin: auto; } #gallery-4 .gallery-item { float: left; margin-top: 10px; text-align: center; width: 50%; } #gallery-4 img { border: 2px solid #cfcfcf; } #gallery-4 .gallery-caption { margin-left: 0; } /* see gallery_shortcode() in wp-includes/media.php */

Bon il est temps de créer sa première note : il fait un résumé des idées maîtresses pour ce nouveau roman, et utilise la puissance du Markdown, un code tout léger et facile à utiliser, pour les mettre en page.

#gallery-5 { margin: auto; } #gallery-5 .gallery-item { float: left; margin-top: 10px; text-align: center; width: 50%; } #gallery-5 img { border: 2px solid #cfcfcf; } #gallery-5 .gallery-caption { margin-left: 0; } /* see gallery_shortcode() in wp-includes/media.php */

Il en profite pour ajouter dans ses notes quelques liens et photos qui vont l’inspirer dans son écriture : des infos sur les incubes, des photos pour le coffee shop où démarre l’intrigue, et le document pdf du dictionnaire des Furby (puisque son démon sera accompagné de cette peluche possédée). Malin, il prend soin d’ajouter à chacune l’étiquette « Projet Incube ».

Les notes pour le roman de Pouhiou

#gallery-6 { margin: auto; } #gallery-6 .gallery-item { float: left; margin-top: 10px; text-align: center; width: 33%; } #gallery-6 img { border: 2px solid #cfcfcf; } #gallery-6 .gallery-caption { margin-left: 0; } /* see gallery_shortcode() in wp-includes/media.php */

Dans ses recherches pour les plats servis au coffee shop, il trouve une recette de tarte crue « avocat-citron vert » qui lui fait vraiment de l’œil. (Aux autres frama-enquiquineurs aussi. À tous les coups ils vont demander à goûter pour l’AG, tels que Pouhiou les connaît.) Il décide d’installer l’extension Firefox pour l’ajouter plus facilement dans ses Framanotes… Vu qu’il utilise l’application Turtl sur son ordinateur, l’extension Firefox marche comme un charme ! (il sait qu’elle ne fonctionnera pas avec la version web)

L’application de bureau et l’extension Firefox s’appairent en un copier/coller !

Bon, c’est trop alléchant : il lui faut faire cette tarte. Il crée une note avec tous les ingrédients pour ses prochaines courses. Le problème, c’est que ça fait tache parmi les notes sur son roman ! Pas de souci : il va donc créer un tableau de notes « projet incube », puis un deuxième « courses et achats », pour trier encore plus facilement ses notes !

#gallery-7 { margin: auto; } #gallery-7 .gallery-item { float: left; margin-top: 10px; text-align: center; width: 50%; } #gallery-7 img { border: 2px solid #cfcfcf; } #gallery-7 .gallery-caption { margin-left: 0; } /* see gallery_shortcode() in wp-includes/media.php */

Une fois dans son magasin préféré, il retrouve le tableau « courses » sur l’application de son ordiphone, et il retrouve le lien vers la recette ainsi que la liste des ingrédients nécessaires… Pratique, ce système !

Par
Par pudeur, Pouhiou n’a pas rajouté « PQ » dans sa liste de courses.

Le lendemain, il est temps de se remettre au travail. Framasky, son collègue à Framasoft, vient justement de lui proposer de partager un tableau de notes des tâches qu’ils ont à faire pour Dégoogliser Internet ! Oh la belle idée !

L’email du partage de Luc.

Il lui suffit de cliquer sur accepter pour que ces notes professionnelles s’ajoutent aux notes perso. Mais seules celles sur le tableau partagé avec Luc seront visibles par ce dernier.

#gallery-8 { margin: auto; } #gallery-8 .gallery-item { float: left; margin-top: 10px; text-align: center; width: 50%; } #gallery-8 img { border: 2px solid #cfcfcf; } #gallery-8 .gallery-caption { margin-left: 0; } /* see gallery_shortcode() in wp-includes/media.php */

Et voilà, Pouhiou n’a plus qu’à se mettre à l’écriture, aux fourneaux et au boulot ! À aucun moment il ne s’est rendu compte que tous les envois, échanges et réceptions de notes étaient chiffrés et déchiffrés, car les applications Turtl le font directement pour lui.

Chez Framasoft, nous sommes (littéralement) les premiers à « manger la pâtée de notre chien« , c’est à dire à utiliser les services que nous vous proposons. C’est donc avec un enthousiasme non dissimulé que nous pouvons vous affirmer combien ce Framanotes est pratique, utile et respectueux de vos données. Maintenant, c’est à vous de vous en emparer et de nous dire ! (Mais attention : Pouhiou n’envoie pas de parts de tarte par la poste !)

Pour aller plus loin :




Des routes et des ponts (3), de quoi est fait un logiciel

Après l’introduction du livre Des routes et des ponts de Nadia Eghbal (si vous avez raté le début…) que le groupe Framalang vous traduit au fil des semaines, voici un aperçu tout simple des composants de base d’un logiciel.

Nos lecteurs les plus au courant n’y trouveront rien qu’ils ne sachent déjà, mais l’intérêt de cette présentation c’est justement qu’elle rend abordables et compréhensibles au grand public des objets techniques qui peuvent s’avérer très complexes à comprendre (…et maîtriser !). On peut dire que la démarche choisie ici, pragmatique et imagée, ne manque pas de pédagogie.
Merci à nos lecteurs soucieux des valeurs du libre de noter que l’auteur n’introduit les notions que progressivement : c’est seulement dans quelques chapitres qu’elle établira clairement une distinction claire qui nous est chère.

Vous souhaitez participer à la traduction hebdomadaire ? Rejoignez Framalang ou rendez-vous sur un pad dont l’adresse sera donnée sur Framasphère chaque mardi à 19h… mais si vous passez après vous êtes les bienvenu.e.s aussi !

De quoi sont faits les logiciels

par Nadia Eghbal

Traduction framalang : Luc, woof, Diane, xi, serici, Lumibd, goofy, alien spoon, flo, salade, AFS, lyn., anthony

Tous les sites web ou les applications mobiles que nous utilisons, même les plus simples, sont constitués de multiples composants plus petits, tout comme un immeuble est fait de briques et de ciment.

Imaginez par exemple que vous désiriez poster une photo sur Facebook. Vous ouvrez votre appli mobile Facebook, ce qui déclenche le logiciel de Facebook pour vous afficher votre fil d’actualités.

Vous téléchargez une photo depuis votre téléphone, ajoutez un commentaire, puis vous cliquez sur « Envoyer ». Une autre partie du logiciel de Facebook, en charge du stockage des données, se souvient de votre identité et poste la photo sur votre profil. Finalement, une troisième partie de ce logiciel prend le message que vous avez saisi sur votre téléphone et le montre à tous vos amis à travers le monde.

Bien que ces opérations aient lieu sur Facebook, en réalité, ce n’est pas Facebook qui a développé toutes les briques nécessaires pour vous permettre de publier sur son application. Ses développeurs ont plutôt utilisé du code libre, public, mis à disposition de tous sur Internet par des bénévoles. Facebook ne publie pas la liste des projets qu’ils utilisent, mais une de ses filiales, Instagram, le fait et remercie certains de ces projets sur sa page d’accueil et dans son application mobile

Utiliser du code public est plus efficace pour des entreprises comme Facebook ou Instagram que de développer à nouveau tous les composants par elles-mêmes. Développer un logiciel est comparable à la construction d’un immeuble. Une entreprise du bâtiment ne produit pas ses marteaux et ses perceuses, et n’ira pas non plus chercher du bois pour découper les troncs en planches.

Elle préférera les acheter à un fournisseur et se fournir en bois auprès d’une scierie pour finir le travail plus rapidement.

Grâce aux licences permissives, les sociétés telles que Facebook ou Instagram ne sont pas obligées de payer pour ce code, mais sont libres d’en profiter grassement. Ce n’est pas différent d’une entreprise de transport (Instagram) qui utilise les infrastructures routières publiques (code public) pour acheminer ses produits à des fins commerciales (application Instagram).

Mike Krieger, un des co-fondateurs d’Instagram, a insisté sur ce point en 2013 et encouragé d’autres entrepreneurs à :

emprunter plutôt que construire à chaque fois que c’est possible. Il existe des centaines d’excellents outils qui peuvent vous faire gagner du temps et vous permettre de véritablement vous concentrer sur le développement de votre produit. (source)

Voici quelques-uns des outils utilisés par une entreprise de logiciels :

Frameworks (environnements de développement)

Les framewoks offrent une base, une sorte d’échafaudage, une structure. Imaginez cela comme un schéma pour toute une application. Comme un plan, un framework définit la manière dont l’application se comportera sur mobile, ou comment ses données seront sauvegardées dans une base de données. Par exemple Rails et Django sont des frameworks.

rubyrails
Ruby on Rails, RefineryCMS & Heroku, image par Erin Khoo (CC-BY 2.0)

Langages

Les langages de programmation constituent l’épine dorsale de la communication des logiciels, comme la langue anglaise (NdT : aux USA bien sûr) qu’emploient les ouvriers du bâtiment sur un chantier pour se comprendre. Les langages de programmation permettent aux divers composants du logiciel d’agir et de communiquer entre eux. Si par exemple vous créez un compte sur un site internet et que vous cliquez sur « S’enregistrer », cette application peut utiliser des langages comme le JavaScript ou le Ruby pour sauvegarder vos informations dans une base de données.

Parmi les langages de programmation les plus populaires on peut mentionner le Python, le JavaScript et le C.

Bibliothèques

Les bibliothèques sont des fonctions pré-fabriqués qui accélèrent l’écriture du code d’un logiciel, tout comme une entreprise du bâtiment achète des fenêtres préfabriquées au lieu de les assembler à partir des composants de base. Par exemple, au lieu de développer leur propre système d’identification pour les utilisateurs de leur application, les développeurs et développeuses peuvent utiliser une bibliothèque appelée OAuth. Au lieu d’écrire leur propre code pour visualiser des données sur une page web, ils ou elles peuvent utiliser une bibliothèque appelée d3.

Bases de données

Les bases de données stockent des informations (profils d’utilisateurs, adresses électroniques ou codes de cartes bancaires par exemple) qui peuvent être utilisées par l’application. À chaque fois qu’une application a besoin de se souvenir d’une information qui vous concerne, l’application la stocke dans la base de données. Parmi les systèmes de gestion de bases de données (SGBD) les plus populaires on trouve notamment MySQL et PostgreSQL.

database
Database par gnizr (CC BY 2.0)

Serveurs web et d’applications

Ces serveurs gèrent certaines requêtes envoyées par les utilisateurs sur Internet : on peut les voir comme des centrales téléphoniques qui répartissent les appels. Par exemple, si vous saisissez une URL dans la barre d’adresse de votre navigateur, un serveur web vous répondra en vous envoyant la page concernée. Si vous envoyez un message à un ami sur Facebook, le message sera d’abord envoyé à un serveur d’applications qui déterminera qui vous essayez de contacter puis transmettra votre message au compte de votre ami.

Parmi les serveurs web très répandus, citons Apache et Nginx.

Certains de ces outils, comme les serveurs et les bases de données, sont coûteux, surtout à l’échelle d’une entreprise, ce qui les rend plus faciles à monétiser. Par exemple, Heroku, une plate-forme sur le cloud (sur un serveur distant) qui fournit des solutions d’hébergement et de bases de données, propose une offre de base gratuite, mais il faut payer pour avoir accès à plus de données ou de bande passante. De grands sites reposent sur Heroku comme ceux de Toyota ou de Macy, et l’entreprise a été rachetée en 2010 par Salesforce.com pour 212 millions de dollars.

Il est plus difficile de faire payer d’autres types d’outils de développement, tel que les frameworks, de nombreuses bibliothèques et langages de programmation, qui sont souvent créés et maintenus par des bénévoles.

Ce type d’outils ressemble plus à des ressources qu’à des services qui peuvent être activés ou désactivés : les rendre payants limiterait fortement leur adoption. C’est pourquoi n’importe qui, que ce soit une entreprise milliardaire ou un adolescent apprenti développeur, peut utiliser gratuitement ces composants pour créer ses propres logiciels.

Par exemple, selon la page d’accueil d’Instagram, l’une des bibliothèques utilisées par l’entreprise est Appirater. Il s’agit d’une bibliothèque qui facilite les fonctions de rappels automatiques pour l’évaluation d’une application, à destination des utilisateurs d’iPhone. Elle a été créée en 2009 par Arash Payan, un développeur indépendant basé à Los Angeles. Le projet n’apporte aucun revenu à Payan.

C’est comme si des scieries, des centrales à béton et des magasins de matériel donnaient leurs matériaux de base à une entreprise du bâtiment, puis continuaient à approvisionner cette entreprise.




Contribuer à l’open source : un voyage autour du monde

José Antonio Rey, membre depuis plusieurs années de la communauté Ubuntu, témoigne de la richesse des échanges dans les communautés open source. Des communautés réunissant des gens que tout pourrait séparer : langue, culture, distance mais qui au contraire se rejoignent autour d’un but commun.

hello-1502369__340

Faire tomber les barrières de la langue et de la distance dans les projets open source

Article original : Open source took me around the world

Par José Antonio Rey

Traduction : Framasky, goofy, audionuma, Brice, AFS

mugshotLes communautés open source ont été parmi les premières à utiliser Internet pour s’affranchir de la distance physique entre les personnes. Internet est un outil incroyable, puisqu’il nous permet de collaborer où que l’on soit. Peu importe que vous déjeuniez au pied de la tour Eiffel ou que vous vous réveilliez sous le soleil de San Francisco, Internet a permis de connecter les personnes de manière plus étroite.

J’habite au Pérou, et j’y ai toujours vécu. J’étudie au Pérou, et Internet m’a permis de découvrir des informations précieuses pour mes projets et ma vie en général. Néanmoins, lorsque j’ai rejoint la communauté Linux, ma vie a radicalement changé.

Une nuit, j’avais des problèmes avec mon écran qui ne fonctionnait pas correctement. Je me suis donc connecté à un canal IRC, et quelqu’un en Espagne m’a aidé à résoudre le problème. Ensuite, j’ai pris une décision que je n’ai jamais regrettée : je me suis connecté pour répondre à des questions posées par d’autres utilisateurs de Linux. Je l’ai fait un temps, me concentrant sur les communautés Ubuntu, et on m’a finalement demandé de rédiger un tutoriel pour la communauté. Je n’y connais pas grand chose, ai-je alors pensé, mais j’ai décidé de le faire quand même. J’ai présenté des trucs et astuces concernant l’utilisation du navigateur Firefox. Ma présentation s’est bien déroulée, même si j’étais plutôt nerveux. Cela m’a amené à rencontrer des gens de la communauté, et deux mois plus tard, je m’envolais vers San Francisco pour mon premier sommet des développeurs Ubuntu. Ce fut le premier de mes nombreux voyages.

plane_travel_world_international

Rejoindre une communauté Linux m’a permis d’améliorer bon nombre de mes compétences, en anglais par exemple. Ma langue maternelle est l’espagnol, le début de l’apprentissage a donc été difficile. La moitié de mes journées était en espagnol, l’autre en anglais. Tous mes logiciels fonctionnaient en anglais, et j’ai commencé à trouver bizarre de lire des traductions en espagnol. Améliorer mon anglais m’a aussi permis de me sentir un peu plus à l’aise lors de conversations avec d’autres personnes. Je commençais à m’impliquer de plus en plus, et j’ai donc fait la connaissance d’un grand nombre de personnes, des États-Unis, d’Australie, d’Inde, du Royaume-Uni, de Colombie, d’Argentine, d’Uruguay et d’autres pays. Le nombre de personnes que j’ai rencontrées est incroyable, et ne cesse d’augmenter. Bien sûr, le décalage horaire est une vraie plaie quand on travaille avec des gens tout autour du monde, mais c’est largement compensé par les avantages liés au fait de connaître ces gens et de travailler avec eux.

Ce passe-temps me permet de travailler sur de beaux projets qui m’intéressent. Et si j’ai un problème avec un logiciel, je peux le réparer moi-même ! Je n’ai pas besoin d’attendre que quelqu’un m’entende et fasse attention à moi. Encore mieux, j’apprends à utiliser de nouveaux outils en faisant cela. Si je suis bloqué ou si je ne sais pas comment régler un problème, la communauté est là pour me donner un coup de main.

En travaillant avec le Conseil des Communautés Locales d’Ubuntu (Ubuntu Local Communities Council), j’ai rendu service à des communautés partout dans le monde et les ai rendues plus autonomes, dans leurs actions de promotion par exemple. Les différences culturelles sont l’une des choses les plus difficiles à gérer dans un projet. Contrairement à ce que pensent certaines personnes, gérer un projet ce n’est pas seulement superviser les choses, parfois nous avons dû mettre fin à des disputes entre participants ou entre équipes. J’ai alors été frappé par cette caractéristique importante de la participation à une communauté en ligne : nous sommes tous des personnes avec des points de vue différents, et notre compréhension des choses et des problèmes peut varier en fonction de notre culture. Cela n’est pas quelque chose qui doit nous effrayer, mais bien une chose que nous devons comprendre. Cela montre à quel point notre monde est grand, comment Internet et les communautés du Libre peuvent nous rapprocher et quelle diversité règne dans notre communauté.

Grâce à Internet, les communautés open source ont le pouvoir de vous mettre en contact avec d’autres personnes à travers le monde, parfois vous les rencontrerez même dans le monde réel. Il existe plusieurs communautés qui organisent des rencontres de développeurs et des conférences. Et, si vous êtes assez actif, vous serez invité à y participer. En ce qui me concerne, les personnes qui développaient les logiciels voulaient connaître mes contributions, j’ai alors pu voyager tout autour du monde afin de les rencontrer pour en discuter.

En rejoignant une communauté open source, vous ne contribuez pas seulement à un logiciel, vous rejoignez un réseau de personnes disséminées à travers le monde qui rendent ce logiciel réalisable. Vous devrez franchir différentes barrières, et tout particulièrement celle de la langue. Mais je peux vous dire que c’est une des plus valorisantes expériences que vous pourrez vivre. Vous deviendrez meilleur dans des domaines variés, acquerrez de nouvelles compétences, en découvrirez d’autres, et cerise sur le gâteau, vous travaillerez avec une formidable équipe de personnes provenant de tous les coins du monde, toutes unies vers un objectif commun. Une fois que vous aurez rejoint une communauté open source, vous comprendrez comment un groupe de personnes travaillant avec le même but peut faire tomber toutes les barrières, même celle de la distance.




Des Routes et des Ponts (2), une introduction

Voici l’introduction du livre Des routes et des ponts de Nadia Eghbal (si vous avez raté le début…) que le groupe Framalang vous traduit au fil des semaines.

Dans cette partie, après avoir exposé la pression croissante de la demande de maintenance, elle retrace un épisode tout à fait emblématique, celui d’Heartbleed, quand il y a quelques années le monde de l’informatique prenait conscience qu’un protocole sensible et universel de sécurité n’était maintenu que par une poignée de développeurs sous-payés.

Vous souhaitez participer à la traduction hebdomadaire ? Rejoignez Framalang ou rendez-vous sur un pad dont l’adresse sera donnée sur Framasphère chaque mardi à 19h… mais si vous passez après vous êtes les bienvenu.e.s aussi !

Introduction

Traduction Framalang : Piup, xi, jums, goofy, Ced, mika, Luc, Laure, Lumibd, goofy, alienspoon, Julien / Sphinx

Tout, dans notre société moderne, des hôpitaux à la bourse en passant par les journaux et les réseaux sociaux, fonctionne grâce à des logiciels. Mais à y regarder de plus près, vous verrez que les fondations de cette infrastructure logicielle menacent de céder sous la demande. Aujourd’hui, presque tous les logiciels sont tributaires de code dit open source : public et gratuit, ce code est créé et maintenu par des communautés de développeurs ou disposant d’autres compétences. Comme les routes ou les ponts que tout le monde peut emprunter à pied ou dans un véhicule, le code open source peut être repris et utilisé par n’importe qui, entreprise ou particulier, pour créer des logiciels. Ce code constitue l’infrastructure numérique de la société d’aujourd’hui, et tout comme l’infrastructure matérielle, elle nécessite une maintenance et un entretien réguliers. Aux États-Unis par exemple, plus de la moitié des dépenses de l’état pour les réseaux routiers et ceux de distribution d’eau est consacrée à leur seule maintenance.

Mais les ressources financières nécessaires pour soutenir cette infrastructure numérique sont bien plus difficiles à obtenir. La maintenance de code open source était relativement abordable à ses débuts, mais de nos jours les financements ne viennent en général que d’entreprises de logiciels, sous forme de mécénat direct ou indirect. Dans la foulée de la révolution de l’ordinateur personnel, au début des années 1980, la plupart des logiciels du commerce étaient propriétaires, et non partagés. Les outils logiciels étaient conçus et utilisés en interne dans chaque entreprise, qui vendait aux clients une licence d’utilisation de ses produits. Beaucoup d’entreprises trouvaient que l’open source était un domaine émergent trop peu fiable pour un usage commercial. Selon elles, les logiciels devaient être vendus, pas donnés gratuitement.

En fait, partager du code s’est révélé plus facile, plus économique et plus efficace que d’écrire du code propriétaire, et de nos jours tout le monde utilise du code open source : les entreprises du Fortune 500, le gouvernement, les grandes entreprises du logiciel, les startups… Cependant, cette demande supplémentaire a augmenté la charge de travail de ceux qui produisent et entretiennent cette infrastructure partagée, mais comme ces communautés sont assez discrètes, le reste du monde a mis longtemps à s’en rendre compte. Parmi nous, beaucoup considèrent qu’ouvrir un logiciel est aussi normal que pousser un bouton pour allumer la lumière, mais nous ne pensons pas au capital humain qui a rendu cela possible.

Face à cette demande sans précédent, si nous ne soutenons pas notre infrastructure numérique les conséquences seront nombreuses. Du côté des risques, il y a les failles de sécurité et les interruptions de service causées par l’impossibilité pour les mainteneurs de fournir une assistance suffisante. Du côté des possibilités, les améliorations de ces outils logiciels sont nécessaires pour accompagner la renaissance actuelle des startups, qui dépendent étroitement de l’infrastructure numérique. De plus, le travail effectué dans l’open source est un atout dans le portfolio des développeurs et facilite leur recrutement, mais ce réservoir de talents est beaucoup moins diversifié que celui de l’industrie informatique dans son ensemble. Une augmentation du nombre de contributeurs serait donc profitable au domaine des technologies de l’information au sens large.

Aucune entreprise ou organisation n’a de raison de s’attaquer seule à ce problème, car le code open source est un bien public. C’est pourquoi nous devons réussir à travailler ensemble pour entretenir notre infrastructure numérique. Il existe par exemple la Core Infrastructure Initiative (CII) de la fondation Linux et le programme Open Source Support de Mozilla, ainsi que des initiatives de nombre d’entreprises de logiciel à différents niveaux.
L’entretien de notre infrastructure numérique est une idée nouvelle pour beaucoup, et les défis que cela pose ne sont pas bien cernés. De plus, l’initiative de cette infrastructure est distribuée entre beaucoup de personnes et d’organisations, ce qui met à mal les modèles classiques de gouvernance. Beaucoup de ces projets qui contribuent à l’infrastructure n’ont même pas de statut juridique. Toute stratégie de maintenance devra donc accepter et exploiter ces aspects décentralisés et communautaires du code open source.

Enfin, pour construire un écosystème sain et durable, il sera crucial d’éduquer les gens à ce problème, de faciliter les contributions financières et humaines des institutions, de multiplier le nombre de contributeurs open source et de définir les bonnes pratiques et stratégies au sein des projets qui participent de cette infrastructure.

Le logo d'Heartbleed (licence CC 0)
Le logo d’Heartbleed (licence CC 0)

En 1998, une équipe d’experts en sécurité se constitua au Royaume-Uni pour élaborer une panoplie d’outils de chiffrement libres destinés à Internet.

Très vite, tout le monde se mit à parler de leur projet, intitulé OpenSSL (les développeurs avaient pris comme base de départ un projet australien existant, SSLeay). Non seulement il était complet et relativement fiable, mais il était libre. Il n’est pas facile d’écrire de la cryptographie et OpenSSL avait résolu un problème épineux pour les développeurs du monde entier : en 2014, deux tiers des serveurs web utilisaient OpenSSL, et les sites pouvaient donc transmettre de façon sécurisée les codes de cartes de crédit et autres informations sensibles via Internet.

Pendant ce temps, le projet était toujours géré de façon informelle par un petit groupe de volontaires. Un conseiller du Département de la Défense des États-Unis, Steve Marquess, avait remarqué qu’un contributeur, Stephen Henson, travaillait à temps plein sur OpenSSL. Par curiosité, Marquess lui demanda ce qu’il gagnait, et apprit avec surprise que le salaire de Henson était cinq fois plus faible que le sien.

Marquess s’était toujours considéré comme un bon programmeur, mais ses talents faisaient pâle figure à côté de ceux de Henson. Comme bien d’autres, Marquess imaginait à tort que quelqu’un d’aussi talentueux que Henson aurait un salaire à sa mesure.

Henson travaillait sur OpenSSL depuis 1998. Marquess avait rejoint le projet plus récemment, au début des années 2000, et avait travaillé avec Henson pendant plusieurs années avant d’apprendre sa situation financière.

Comme il avait travaillé avec le Département de la Défense, Marquess savait à quel point OpenSSL était crucial, non seulement pour leur propre système, mais pour d’autres industries dans le monde, de l’investissement à l’aéronautique en passant par la santé. Jusqu’alors, il avait « toujours supposé (comme le reste du monde) que l’équipe d’OpenSSL était grande, active et bien financée. »
En réalité, OpenSSL ne rapportait même pas assez pour payer un seul salarié.

Marquess décida de s’impliquer dans le projet : il avait contribué au code de temps à autre, mais il se rendit compte qu’il serait plus utile en tant qu’homme d’affaires. Il commença par négocier des petits contrats de conseil par le biais d’une entreprise à but non lucratif existante pour maintenir OpenSSL à flot dans ses années les plus dures. Comme le volume des contrats croissait, il créa une entité légale pour collecter ces revenus, l’OpenSSL Software Foundation (OSF).
Malgré le nombre de personnes et d’entreprises qui utilisaient leur logiciel, l’OSF ne reçut jamais plus de 2 000 dollars de dons par an. Les revenus bruts de l’activité de conseil et des contrats ne dépassèrent jamais un million de dollars, qui furent presque entièrement dépensés en frais d’hébergement et en tests de sécurité (qui peuvent coûter plusieurs centaines de milliers de dollars).

Il y avait juste assez pour payer le salaire d’un développeur, Stephen Henson. Cela signifie que les deux tiers du Web reposaient sur un logiciel de chiffrement maintenu par un seul employé à temps plein.

L’équipe d’OpenSSL continua à travailler de façon relativement anonyme jusqu’en avril 2014, quand un ingénieur de chez Google, Neel Mehta, découvrit une faille de sécurité majeure dans OpenSSL. Deux jours plus tard, un autre ingénieur, de l’entreprise finlandaise Codenomicon, découvrit le même problème.
Tous deux contactèrent immédiatement l’équipe d’OpenSSL.

Ce bug, surnommé Heartbleed, s’était glissé dans une mise à jour de 2011. Il était passé inaperçu pendant des années. Heartbleed pouvait permettre à n’importe quel pirate suffisamment doué de détourner des informations sécurisées en transit vers des serveurs vulnérables, y compris des mots de passe, des identifiants de cartes de crédit et autres données sensibles.

Joseph Steinberg, un éditorialiste spécialisé en cybersécurité, écrivit : « on pourrait dire que Heartbleed est la pire vulnérabilité découverte… depuis qu’Internet a commencé à être utilisé pour des opérations commerciales. »

Grâce à un large écho médiatique, le grand public entendit parler de ce bug informatique, au moins de nom. Des plateformes majeures, comme Instagram, Gmail ou Netflix, furent affectées par Heartbleed.

Certains journalistes attirèrent l’attention sur l’OpenSSL lui-même, et la manière dont l’équipe de développement avait lutté pendant des années pour pouvoir continuer ses travaux. Les experts en sécurité connaissaient les limites d’OpenSSL, mais l’équipe ne parvenait pas à capter les ressources ou l’attention adéquates pour résoudre les problèmes.

Marquess écrivit à propos de Heartbleed « ce qui est mystérieux, ce n’est pas qu’une poignée de bénévoles surchargés de travail ait raté ce bug, mais plutôt qu’il n’y a pas eu davantage de bugs de ce genre. »

Les gens envoyèrent des dons pour soutenir la fondation, et Marquess les remercia pour leur enthousiasme, mais le premier cycle de dons ne totalisa qu’environ 9 000 dollars : largement en deçà du nécessaire pour soutenir une équipe dédiée.

Marquess adressa alors à Internet un vibrant plaidoyer pour une levée de fonds :

 

Les gars qui travaillent sur OpenSSL ne sont là ni pour l’argent, ni pour la gloire (qui, en dehors des cercles geeks, a entendu parler d’eux ou d’OpenSSL avant la sortie de heartbleed[sic] dans les médias ?). Ils travaillent pour la fierté de créer et parce qu’ils se sentent responsables de à quoi ils croient.

Il faut des nerfs d’acier pour travailler pendant des années sur des centaines de milliers de lignes d’un code très complexe, où tout le monde peut voir chacune des lignes que vous manipulez, en sachant que ce code est utilisé par des banques, des pare-feux, des systèmes d’armement, des sites web, des smartphones, l’industrie, le gouvernement, partout. Et tout cela en acceptant de ne pas être apprécié à votre juste valeur et d’être ignoré jusqu’à ce que quelque chose tourne mal.

Il devrait y avoir au moins une demi-douzaine de membres à temps plein dans l’équipe au lieu d’un seul pour se consacrer au soin et à la maintenance que demande OpenSSL, sans devoir gérer en même temps l’aspect commercial.

Si vous êtes un décideur dans une multinationale ou un gouvernement, pensez-y. Je vous en prie. Je me fais vieux, je fatigue et j’aimerais prendre ma retraite un jour.

Après Heartbleed, OpenSSL obtint enfin le financement nécessaire – en tous cas jusqu’à présent. L’équipe dispose à l’heure actuelle d’assez d’argent pour payer quatre employés à temps plein pendant trois ans. Mais au bout d’un an et demi de ce financement, Marquess n’est pas certain de l’avenir.

Il a admis que Heartbleed a été une bénédiction pour eux, mais qu’il est « légèrement ironique » que ce soit une faille de cette ampleur qui ait donné plus de visibilité à leur cause. Et quand l’argent sera épuisé et que le monde sera passé à autre chose, Marquess craint qu’ils ne se retrouvent dans la même situation qu’avant Heartbleed, voire pire : la clientèle que Marquess a mis des années à se constituer a disparu, puisque l’équipe travaille maintenant à plein temps sur OpenSSL et n’a plus le temps d’exécuter des contrats.

Marquess lui-même a bientôt l’âge de la retraite. Il est le seul qui accepte de s’occuper des affaires commerciales et du rôle exécutif associés à OpenSSL comme les impôts, la recherche de clients, et la gestion des donateurs. Le reste de son équipe préfère se concentrer sur l’écriture et la maintenance du code. Il ne peut embaucher personne pour le remplacer quand il prendra sa retraite, parce qu’il ne perçoit en ce moment aucun salaire. « Je ne crois pas qu’on puisse tenir comme ça plus d’un an ou deux » a-t-il remarqué.

L’histoire d’OpenSSL n’est pas unique, et par bien des aspects, Marquess trouve que lui et son équipe font partie des mieux lotis. Bien d’autres projets sont toujours en manque de reconnaissance et de financement, alors qu’ils constituent l’infrastructure numérique, infrastructure absolument cruciale puisque tous les logiciels d’aujourd’hui, et par conséquent tous les aspects de notre vie quotidienne, en dépendent.

Relever ses courriels, lire les actualités, vérifier le prix des actions, faire des achats en ligne, aller chez le médecin, appeler le service client – qu’on le réalise ou non, tout ce que nous faisons est rendu possible par des projets comme OpenSSL. Sans eux, la technologie sur laquelle repose la société moderne ne pourrait tout simplement pas fonctionner.

Beaucoup de ces projets sont créés et maintenus par des volontaires et offerts au public gratuitement. Tous ceux qui le veulent, de Facebook au programmeur amateur, peuvent utiliser ce code pour créer leurs propres applications. Et ils le font.

S’il est difficile de croire, comme le dit Marquess, « qu’un groupe hétéroclite d’amateurs puisse faire mieux que de gigantesques sociétés avec leur argent et leurs ressources », voyez plutôt comme c’est lié à la montée en puissance du travail collaboratif pair-à-pair dans le monde.

Des startups jusqu’ici impensables comme Uber ou AirBnB se sont transformées en l’espace de quelques années en poids lourds du monde des affaires et remettent en question des industries phares comme le transport ou l’hôtellerie. Des musiciens se font un nom sur YouTube ou Soundcloud plutôt qu’en passant par les majors. Créateurs et artistes concrétisent leurs idées via des plateformes de financement participatif telles que Kickstarter ou Patreon.

breach

Les autres projets de l’infrastructure sont également issus de la passion et de la créativité de développeurs qui se sont dit : « Je pourrais faire ça mieux », et qui collaborent pour développer et livrer du code au monde entier. La différence, c’est que des millions de personnes ont besoin de ce code dans leur vie quotidienne.

Comme le code n’est pas aussi sexy qu’une vidéo virale sur YouTube ou une campagne Kickstarter, le grand public est très loin de pouvoir l’apprécier à sa juste valeur, si bien que le code qui a révolutionné les technologies de l’information manque très largement du soutien des institutions.

Mais nous ne pourrons ignorer cela plus longtemps.

Ces cinq dernières années, notre dépendance aux logiciels ainsi qu’au code libre et public qui les fait fonctionner s’est accélérée. Les technologies se sont fait une place dans tous les aspects de nos vies, et plus les gens utilisent de logiciels, plus on en crée, et plus cela demande de travail de maintenance.

Toutes les startups qui réussissent ont besoin d’une infrastructure publique pour assurer leur succès, pourtant aucune entreprise n’est assez motivée pour agir seule. Pendant que le monde progresse à toute vitesse vers l’ère moderne des startups, du code et des technologies, l’infrastructure reste à la traîne. Les fissures des fondations ne sont pas encore très visibles, mais elles s’élargissent. Après des années de croissance sans précédent qui nous ont propulsés dans une époque de croissance et de prospérité, nous devons maintenant agir pour nous assurer que le monde que nous avons bâti en si peu de temps ne va pas s’effondrer brutalement sans crier gare.

Pour comprendre comment nous pouvons préserver l’avenir, nous devons d’abord comprendre ce qu’est le logiciel lui-même.

 

(À suivre…)

La semaine prochaine : comment on fabrique des logiciels…