MyPads point de la semaine 17

Comme annoncé la semaine dernière, c’est désormais un point hebdomadaire qui émaillera le travail autour de MyPads. Cette semaine n’aura pas été de tout repos et les avancées visibles sont malheureusement peu nombreuses. Explications.


img-mypads-ulule2

Les travaux

La mise en place des tests fonctionnels client, simulant une navigation réelle, a occupé les premiers jours de développement. Ensuite MyPads a subi quelques modifications pour fonctionner avec la version 4 d’Express, le cadre de développement sur lequel repose Etherpad et donc MyPads. Cette migration a été initiée par le tout premier contributeur externe au plugin, et a été rendue nécessaire par la migration d’Etherpad une semaine plus tôt.

Cette migration a été l’occasion de tester à nouveau la compatibilité de MyPads avec Eherpad. Cela peut sembler étonnant, mais MyPads est développé de manière autonome vis à vis d’Etherpad et est régulièrement testé en tant que plugin Etherpad, pour les raisons suivantes :

  • accélérer le développement et éviter de devoir relancer Etherpad voire réinstaller le plugin à chaque modification;
  • permettre les tests unitaires et fonctionnels serveur, très difficile sinon à partir d’un plugin Etherpad, isoler une base de tests du reste de l’instance;
  • conserver une forme d’indépendance vis à vis du cœur d’Etherpad : afin de ne pas nécessiter des modifications d’Etherpad lui-même et de limiter les régressions en cas de changements internes de ce dernier.

Malheureusement le fonctionnement de MyPads s’est révélé erratique : parfois correct, parfois non. Pour les techniciens, seules les méthodes GET et HEAD sont autorisées et toute autre méthode HTTP est refusée. Le problème, nouveau, est intimement lié au logiciel intermédiaire (middleware) yajsml, lequel est employé par Etherpad afin d’optimiser les requêtes des fichiers dits statiques (scripts, images, styles etc). En théorie, les requêtes prises en charge par MyPads ne devraient pas être impactées par ce logiciel intermédiaire, mais pour une raison mal comprise, elles le sont parfois.

Le problème, c’est que MyPads fonctionne autour d’une interface de programmation standard, une API HTTP REST, sur laquelle se connecte le client Web, et qui permettra à d’autres clients ou à des outils tiers de voir le jour. La résolution du soucis n’est pas aisée : l’anomalie intervient de manière aléatoire. Peu de plugins sont touchés car la plupart ne définissent pas leurs propres routes HTTP. Même si yajsml est modifié pour résoudre le soucis, il faudra que la fondation Etherpad accepte le patch et l’intègre avant de pouvoir retrouver une fonctionnement correct de MyPads. Or, il semble que yajsml sera bientôt remplacé par une technologie plus standard.

D’autres résolutions ont été envisagées, du fait de la situation de yajsml, et entre autres :

  1. Substituer, comme certains plugins le font,  l’API HTTP REST par une API basée sur socket.io, la technologie employée par Etherpad pour la collaboration en temps réel et qui repose en premier lieu sur le standard WebSocket. Cette voie a été expérimentée cette semaine mais représente une charge considérable de travail et la réécriture de nombreux modules. De plus, il ne s’agit pas d’un remplacement propre : MyPads y perd une méthode de communication plus standard ainsi que son système d’authentification, lequel avait été choisi pour permettre à terme une connexion depuis des comptes externes ou encore un annuaire LDAP, OpenID etc
  2. Faire de MyPads une application indépendante, de fait non plus un plugin, qui gèrerait les accès des utilisateurs aux pads en fonction des groupes définis. Le problème de cette solution est de complexifier l’installation de MyPads et de risquer des incompatibilités avec certains autres plugins. Aussi, nous sortirions de fait du cadre du cahier des charges initial.

Il a été décidé que la dernière piste ne serait à employer qu’en cas de dernier recours et c’est la migration vers socket.io qui a été d’abord privilégiée. Néanmoins, à la vue du travail nécessaire et surtout des pertes fonctionnelles que cela risque d’amener, cette solution ne sera pas poursuivie.

La semaine prochaine

Le travail va reprendre sur la version HTTP REST standard qui a été développée jusqu’ici. Il est prévu :

  • qu’étant donné que la suppression du yajsml n’arrivera qu’à un terme inconnu, il faudra dépister l’anomalie et la résoudre, ou au moins proposer un contournement simple;
  • de poursuivre le développement, moins actif que prévu cette semaine, avec notamment
    • le passage d’une authentification en propre classique vers JSON Web Token, dont le travail a commencé cette semaine avec le test de socket.io, de manière à renforcer la sécurité des échanges de données chiffrées entre serveur et client;
    • les groupes et pads, évidemment.

Rendez-vous jeudi prochain pour le point de la semaine 18.

MyPads week 17

As announced last week, we now give some news about MyPads development weekly. Last couple of days haven’t been picnic and few enhancements are visible. Explanations below.

img-mypads-ulule2

Work

Frontend functional testing setup, aiming to simulate real navigation, has filled the first days. Then MyPads has been updated to work with Express version 4. Express is the framework which powers Etherpad and so MyPads. This migration has been introduced by the very first MyPads external contributor, and was necessary because of the Etherpad migration a week earlier.

These modifications were a good moment to test MyPads’compatibility towards Eherpad. That can be surprising but MyPads has been programmed independently from Etherpad and is regularly tested as an Etherpad plugin, here’s why :

  • speeding up the development and avoiding Etherpad reboot or plugin re-installation at each update;
  • allowing unit and functional server testing, quite hard from an Etherpad plugin, and isolate a test database from the whole node;
  • retaining a distance regarding Etherpad core in order to avoid need of Etherpad updates and limit regressions in case of internal modifications of it.

Sadly MyPads behavior becomes erratic : sometimes correct, sometimes buggy. For technicians : only GET and HEAD HTTP verbs were allowed and all other method has been forbidden. This problem seems to be linked to the yajsml middleware, used by Etherpad in order to optimize static files requests (scripts, images, styles etc). In theory, MyPads handled routes should not be impacted by this middleware, but for an misunderstood reason, they sometimes are.

Problem is that MyPads is based on a standard home-defined HTTP REST API, which the Web client connects to. This interface may allow other clients and third party tools to be created more easily. Debugging the problem is not an easy task, due to the randomness of the behavior. Few plugins should be concerned because most of them don’t define their own routes. Even if yajsml is updated to fix the issue, the Etherpad developers will have to accept the patch and merge it before we have MyPads working correctly. Now it seems that yajsml will be soon replaced by a more standard technology.

Others resolutions have been considered, regarding to yajsml situation :

  1. Replace, as others plugins do, the HTTP REST API by a socket.io one. socket.io is the technology used by Etherpad for realtime collaboration, that use as a first class citizen the WebSocket protocol. This approach has been tried this week but requires a considerable amount of work and many modules rewriting. Moreover, it’s not a proper replacement : MyPads loses its more standard communication method but in addition its authentication system, which have been chosen to allow, later, connection through external accounts,  LDAP directory, OpenID etc
  2. Move MyPads from a plugin to a standalone application, which handle user access according to created groups and pads. Problem with this solution : harden the MyPads installation, risks of incompatibilities with some other plugins. Also, making a standalone app won’t conform to the initial specifications.

We have decided to follow the last proposition only as a last resort. The migration to socket.io has been preferred but, with the light of required work and moreover functional looses, it won’t continue.

Next week

Work will be resumed on the HTTP REST version, the one developed until now. We expect :

  • because yajsml removal won’t happen before an unknown time, it will be important to find and fix the bug, or at least to provide a simple workaround;
  • move forward, with
    • migration from a classical authentication to JSON Web Token, which has been partially done this week as part of socket.io test, in order to harden encrypted data exchanges between client and server;
    • groups and pads, obviously.

See you next Thursday for week 18 point.




MyPads : développement, point numéro 3

Cela fait déjà plusieurs semaines que le dernier point concernant MyPads a été écrit. Pour ceux qui ne le sauraient pas encore, MyPads est le plugin Etherpad, et donc Framapad, qui va apporter la gestion des groupes et pads privés pour chaque utilisateur enregistré.

img-mypads-ulule2L’avancement

Ces dernières semaines ont été moins actives que les précédentes. Malgré cela, c’est toujours l’interface client qui a été travaillée avec la réalisation de :

  • la page de connexion et l’authentification associée ;
  • la page de souscription de compte ;
  • la gestion du profil utilisateur.

À court terme

Le développement reprendra une activité soutenue dès cette semaine. Les premiers éléments des modules de gestion de groupes et pads seront posés et avant la fin du mois une première version de tests sera proposée pour les personnes intéressées. L’objectif poursuivi est l’obtention d’une version stable dans la première quinzaine du mois de mai. À partir de maintenant, un point hebdomadaire sera réalisé.

MyPads : third feedback

Three weeks ago we’ve made a second point about MyPads development. For those who don’t know yet, MyPads is an Etherpad plugin, and so Framapad, which will bring private groups and pads management for registered users.

img-mypads-ulule2Progress

Last weeks have been less active than previous ones. Nevertheless, the Web client interface has seen some work with :

  • login page and authentication;
  • account subscription;
  • user profile management.

Short term

The development will go back to regular activity this week. Groups and pads first pieces will be set up and, before the end of April, a first preliminary test version will be available for interested people. We plan to get a stable version within the first two weeks of May. As of now, weekly news will be sent.




Framapad : le renouveau

Depuis le lancement de Framapad en 2011, son succès ne s’est pas démenti. Pour preuve, nos serveurs s’écroulent ! C’est pourquoi, depuis maintenant près de 2 ans, nous multiplions les instances d’Etherpad afin de garder un service réactif.

Les soucis à répétition sur notre infrastructure qui ont eu lieu pendant les deux premiers mois de 2015 ont monopolisé notre attention. Du coup, la dernière instance de Framapad, lite5, s’est retrouvée à héberger près de 90 000 pads ! Depuis son lancement à la mi-octobre, cela fait quand même 18 000 pads par mois, soit 600 nouveaux pads par jour, ou 25 pads par heure !

La nouvelle instance, lite6.framapad.org, mise en place il y a peu n’est pas hébergée sur le même serveur que les autres, ce qui devrait permettre de proposer des framapads plus réactifs et moins soumis aux plantages.

Évolution du nombre de pads sur lite6, en semaines :

Nombre de pads créés (lite6)
Évolution du nombre de pads créés, par semaine.

Les problèmes… et leur réponse !

Les pads vides

Un souci que nous rencontrons est la création de pads vides, jamais utilisés. Il s’agit le plus souvent d’une erreur de frappe dans l’adresse du pad lorsque l’on souhaite s’y rendre. Si ces pads ne prennent pas vraiment de place dans la base données, ils la polluent cependant : l’index de celle-ci grossit… pour rien !

C’est pourquoi Luc, notre gentil adminSys/codeur/râleur a codé un plugin Etherpad qui supprime automatiquement les pads vides.

Les pads qui ne servent plus

La base de données enfle toujours plus, alors que de nombreux pads ne sont plus utilisés. Nous recevons aussi de temps en temps des demandes de suppression de pads pour diverses raisons. Notre réponse ? Des pads temporaires !

Le plugin Etherpad Delete after delay, toujours codé par Luc nous permet maintenant de proposer des pads qui s’autodétruiront 24 heures, 7 jours, 31 jours ou 365 jours après la date de la dernière édition (pas la date de création, attention !).

Pour accéder aux framapads temporaires, vous pouvez vous rendre sur :

Ces différentes instances sont également proposées sur https://framapad.org.

creer un pad

Quand à l’instance https://beta.framapad.org elle porte bien son nom, puisqu’elle nous permet de tester certains plugins (commentaires, tableaux…) qui seront ajoutés sur les instances suivant leur intérêt et leur stabilité.

Les vieilles instances

Lite, lite2, lite3, lite4 et lite5 fonctionnent toujours, mais nous ne permettons plus la création de nouveaux pads dessus, étant donné l’instabilité régulière de ces instances (la chanson de JcFrog a bien failli achever le serveur, en lui amenant plein de nouveaux utilisateurs).

Afin de soulager notre infrastructure, nous passerons prochainement ces instances en mode lecture seule : vous pourrez toujours accéder (et télécharger) au contenu des pads, mais ceux-ci ne seront plus éditables. Ce passage en « read-only » sera effectué grâce au logiciel Padro créé par le bouillant Luc (encore lui !) pour répondre à nos besoins. Il faut dire que comme c’est lui qui s’occupe principalement des serveurs, il fait tout pour avoir le moins de problèmes possible !

Vous pourrez également, lorsque la prochaine version d’Etherpad sera sortie, accéder aux révisions sauvegardées de vos pads via Padro.

EDIT : la nouvelle version d’Etherpad est sortie (la 1.5.2) entre la rédaction et la publication de ce billet. Ce n’est donc plus qu’une question de disponibilité de Luc.

Et MyPads ?

Comme indiqué dans l’article publié récemment le développement du plugin de pads « privés » MyPads se poursuit.

Vous devriez pouvoir d’ici quelques jours tester une version alpha du plugin, et nous visons toujours une sortie officielle et un déploiement sur Framapad d’ici quelques semaines.

 

Mais alors, Framasoft fait du code ?

Non, toujours pas. L’inoxydable Luc a codé les plugins et Padro pour répondre à nos besoins et résoudre les problèmes que nous rencontrons, comme tout adminSys en telle situation 🙂

Et MyPads fait suite à notre campagne de financement participatif : Framasoft a pu passer un contrat pour faire développer MyPads grâce à ce financement, mais ce n’est pas Framasoft qui produit le code.




MyPads : second point sur le développement

Deux semaines se sont écoulées depuis le premier point sur MyPads, qui est pour rappel le plugin Etherpad, et donc Framapad, qui apportera la gestion des groupes et pads privés par utilisateur.

MyPads

L’avancement

Comme prévu, les dernières tâches ont été consacrées au début du développement de l’interface Web de MyPads, et plus précisément :

  • la mise en place de l’environnement de développement : browserify, watchify… ;
  • l’emploi d’un serveur HTTP de test autonome afin de fluidifier le travail de test et de relance ;
  • la mise en page générale et sa feuille de style associée, avec prise en compte de différentes tailles d’écrans (responsive) ;
  • la création de modules transversaux : système de notifications, infobulles, validation des saisies….

Pour ceux que cela intéresse, le code client repose entre autres sur Mithril.JS, Lodash, JSS.

La suite

D’ici quelques jours seront avancés les modules pour :

  • l’authentification et la souscription de compte en propre ;
  • la page de profil utilisateur ;
  • les tests fonctionnels pour ces modules.

Une fois cela réalisé, une version alpha sera proposée, qui emploiera la toute dernière version du code et sera remise à plat chaque jour. Elle sera disponible en anglais et en français.

Suivront bien entendu le module d’administration et ceux qui seront les plus utiles pour MyPads, à savoir la gestion des groupes et des pads. Notez que vous pouvez toujours suivre les avancées sur notre instance Gitlab, ou sur son miroir Github.

MyPads : second feedback

Two weeks have passed since our first point about MyPads development, the Etherpad plugin, and so Framapad plugin, which will bring groups and private pads managements per user.

MyPads

Progress

As intended, recent tasks have been dedicated to the MyPads Web user interface development, and more precisely:

  • setup of the front-end development environment : browserify, watchify
  • usage of a mockup HTTP server in order to make the workflow better
  • global layout and its stylesheet, responsive design included
  • development of common modules : notification system, tooltips, data validation….

For those who are interested about technical details, front-end code is based, among others, on Mithril.JS, Lodash, JSS.

Next steps

In the coming days you will see progress on modules:

  • authentication and subscription
  • user profile
  • setup of functional unit testing for these modules.

Once done, an alpha version will be setup online. It will use the latest commit and will be daily updated. It will be available both in English and French.

Of course, the administration and the most important modules of MyPads will come soon after that: groups and pads management. Note that you can follow MyPads progress on our Gitlab instance, or our Github mirror.




MyPads : premier point sur le développement

Cela fait quelques semaines que le développement a redémarré pour MyPads, le plugin Etherpad, et donc Framapad, qui apportera la gestion des groupes et pads privés par utilisateur. Il est donc temps de faire un premier point sur ce qui a été fait et ce qui reste à réaliser.

MyPads

L’avancement

Le développeur a choisi de commencer par le code côté serveur, lequel n’est pas directement visible aux utilisateurs. À ce jour, ont été réalisés :

  • La formalisation de MyPads en tant que plugin Etherpad, installable manuellement.
  • Une partie de la gestion de la configuration du plugin, des utilisateurs, groupes et pads.
  • Une API HTTP-REST publique associée à chacun des modules.
  • L’authentification en propre.

Il reste côté serveur à améliorer l’API, gérer les permissions selon les utilisateurs, permettre l’envoi de mails par exemple pour la récupération de son mot de passe.

Ce qui a pris du temps

Outre la mise en place générale, l’un des points de difficultés pour le développement d’un plugin Etherpad de ce genre est la gestion de la base de données. En effet, Etherpad emploie ueberDB, une bibliothèque NodeJS en partie conçue pour lui, qui transforme plusieurs moteurs de bases de données en simples bases clés-valeurs. Il est important d’utiliser ueberDB afin de maintenir la compatibilité du plugin avec l’ensemble des bases de données supportées par Etherpad.

Or, ueberDB ne fournit de manière commune que très peu de fonctions : fixer une clé et sa valeur, supprimer cette clé, récupérer la valeur en fonction de la clé ou enfin obtenir une liste de clés selon un préfixe donné. De fait il revient à l’application de gérer les différents types d’objets à stocker, les liens entre ceux-ci et les index… En somme de prendre soin de l’intégrité des données et de la performance générale.

MyPads, dans cette version préliminaire, c’est en cumulé un peu plus de 10 000 lignes écrites, tests et commentaires inclus.

La suite

Le développement du client Web débutera la semaine prochaine. Dès les premiers modules réalisés, une version de test, remise à plat chaque jour, sera proposée. Elle utilisera  la toute dernière version du code et permettra à ceux qui le souhaitent de voir plus concrètement où en est le développement. Un nouveau billet sera rédigé à ce moment-là.

Cette phase permettra l’amélioration de la partie serveur, dont l’API, et l’implémentation des fonctionnalités encore manquantes.

PS : pour ceux qui sont intéressés par le code, vous le trouverez sur notre miroir Github, en attendant que notre Gitlab soit à nouveau opérationnel.


 

MyPads : first feedback

A few weeks ago MyPads development has been resumed. This Etherpad plugin, and so Framapad plugin, will bring groups and private pads managements per user. It’s time to give you some information about what has been done and what remains.

MyPads

Progress

The programmer has chosen to begin with server-side code, which is not obvious for users. Up to now, here is what has been done:

  • MyPads bootstrap as an Etherpad plugin, with manual installation.
  • Partial management of the plugin configuration, users, groups and pads.
  • HTTP-REST public API for common functions of each module.
  • Local authentification.

Server-side some tasks are still to be done: improving API, permission handling for users , email sending – for example for password recovery.

Time-consuming work

Besides global bootstrapping, one of the major problems for an Etherpad plugin like MyPads is to work with the database. Currently Etherpad depends on ueberDB, a NodeJS library made for transforming database engines into simple key-value store. It’s important to use ueberDB in order to keep the plugin compatible with all Etherpad supported databases.

ueberDB currently offers only a few functions: set a key and its value, remove a key, get the value of the key and retrieve a list of keys according to a given prefix. Consequently,  the application has to handle the different types of objects to store, links between them, indexes… In short taking care of the data integrity and global performance.

MyPads, the current preliminary version, represents a little more than 10,000 lines accumulated, tests and comments included.

Next steps

Web client development will begin next week. As soon as the first modules are done, a test demo, rebooted daily, will be available online. It will use the last source code and allow to watch more concretely what we are talking about. A new blog post will be published at that time.

This step will help improving server-side code, including API, and implementation of missing functionality.

NB: those who are interested by the source code can find it on our Github mirror, until our Gitlab is back online.




MyPads : le développement repart

Le développement du plugin a démarré mi-décembre, dont cette annonce aura été le témoin.

La feuille de route prévue était basée sur le fait que que le développeur consacrerait environ la moitié de son temps à MyPads et ce, jusqu’à la fin du mois de février.

Le calendrier est en réalité quelque peu décalé et compressé. Outre les fêtes de fin d’années, le prestataire a préféré en terminer avec ses autres engagements professionnels. Il n’a donc que très peu avancé sur MyPads.

Il a désormais assuré qu’il se dédierait exclusivement jusqu’à la fin du mois de février au plugin. Des progrès rapides devraient être visibles sur notre espace Gitlab (en maintenance pour le moment), à travers le code source, les tickets et le wiki.

Si les tests en conditions réelles ne se feront que dans quelques semaines, la date de sortie annoncée n’est pas pour autant remise en cause : le plugin reste prévu pour la fin du mois de février.

img-mypads-ulule2

MyPads: development is back

The development of MyPads has begun from the second half of December. Here is the annoucement.

The initial roadmap was based upon the fact the programmer would dedicate half of his time to MyPads development, from December to the end of February.

The schedule will actually be postponed and compressed. In addition to year’s end celebrations, the contractor has chosen to finish his other professional commitments. Consequently he hasn’t done much work for MyPads.

He has confirmed that he will be dedicated full time working on the plugin til the end of February. You’d be able to see significant progress in our Gitlab instance (at the moment down for maintenance), through the source, tickets and the wiki.

If real world tests can only be possible within a few weeks, the announced publishing date isn’t challenged: MyPads remains scheduled before March.




MyPads : le développement est lancé

(english version below)

Notre éditeur de texte libre et collaboratif Framapad est une implémentation du logiciel libre Etherpad. Ce  service est mis à la disposition de tous et cela démontre en même temps que ce service peut être proposé de manière décentralisée (même si nous sommes peu nombreux à proposer une instance publique d’Etherpad, des milliers d’instances privées existent).

Au mois de juin dernier, Framasoft a lancé une campagne de financement participatif visant à contribuer activement à l’amélioration d’Etherpad pour y ajouter la gestion des comptes utilisateurs, des groupes et des pads privés. Il n’aura fallu que trois semaines pour que l’objectif soit atteint. Nous vous en remercions une fois encore.

Le but de ce projet  est de permettre aux utilisateurs d’Etherpad, et donc de Framapad, de créer un compte en leur nom, d’y associer des groupes et, pour chaque groupe, des pads. Ces pads pourront être publics, privés sur invitation ou encore d’accès restreints par l’usage d’un mot de passe. Le tout doit prendre la forme d’un plugin pour Etherpad, publié sous licence libre et s’installant de la même manière que tous les autres plugins du logiciel.

Il était prévu que la réalisation débute à la rentrée et que le plugin soit livré en fin d’année. La feuille de route a quelque peu glissé du fait de la surcharge temporaire du prestataire sélectionné. Le coup d’envoi est néanmoins lancé cette semaine et l’ensemble du développement se déroulera sur notre Gitlab via le projet ep_mypads https://git.framasoft.org/framasoft/ep_mypads .

Le plugin est attendu pour la fin du mois de février 2015. Il devrait comporter de petits bonus par rapport au cahier des charges initial.
Les premières semaines seront consacrées à l’écriture du code serveur, à sa documentation et à ses tests. Il faudra attendre début 2015 avec la création de l’interface graphique afin que MyPads puisse commencer à être testé.

Pour rappel, le cahier des charges originel est disponible sur ce pad : http://lite4.framapad.org/p/LEpEOUoQb3/timeslider#24.

Un point sur l’avancement du développement sera réalisé environ toutes les deux semaines.

Campagne Framapad

——-

MyPads : development launched

Our free/open source and collaborative editor named Framapad, is an application of the free software Etherpad. This GoogleDoc-like service is opened for everybody and demonstrate simultaneously that it can be proposed in a decentralized way (even if only few organizations can propose such an open service, thousands private instances are running).

In last June, Framasoft has launched a crowdfunding campaign aiming to to contribute actively to Etherpad’s improvement, by adding the management of users, groups and private pads. Only three weeks have been necessary to reach the goal. We want to thank you again.

The purpose of this funding is to let Etherpad and so Framapad’s users create an account, link some groups and for each group some pads. These ones may be public, privates with invitation or protected by a password. All of this must be an Etherpad plugin, pubished under open source license. This have to be installed like any other Etherpad plugin.

The beginning of the plugin’s cofing was planned at the fall this year. The roadmap has moved forward because of the contractor’s overloading. However the project is launched this week and the development will be made on our Gitlab instance with the ep_mypads project  https://git.framasoft.org/framasoft/ep_mypads

The plugin is expected on the end of February, 2015. It might include several little extra comparing to the original specifications.
First weeks will be dedicated to server side programming, its documentation and tests. You’ll have to wait for 2015 with the creation of the user interface if you want to test MyPads.

As a reminder, you will find the initial specifications on this pad http://lite4.framapad.org/p/LEpEOUoQb3/timeslider#24

A stage news will be made around every two weeks.




Dégooglisons Internet : notre (modeste) plan de libération du monde

un billet de l’association Framasoft

Voilà six mois que nous le concoctons activement… mais plusieurs années que cela nous travaille. Nous voyons, tout comme vous, nos internets évoluer. Les logiciels privatifs deviennent des services et des applications web qui captent notre attention et nos données, qui les centralisent pour mieux les exploiter. Le gratuit nous transforme en produits qui engraissent les géants de la Silicon Valley et attisent la convoitise des services d’espionnage…

Face à cela, la communauté du Libre évolue elle aussi, en développant des alternatives logicielles à installer, étudier, améliorer et diffuser. Framasoft s’est inscrit dans cette évolution dès le lancement de Framapad en s’efforçant de faire au mieux : rendre le libre facilement accessible à nos grand-pères, petites sœurs, voisins et collègues. Aujourd’hui, Framapad est notre projet le plus utilisé, avec quatre instances sur nos services et un financement participatif réussi. Framadate et Framindmap sont en plein boom et notre lecteur RSS Framanews tourne à pleine capacité…

La demande pour des alternatives libres est de plus en plus pressante, et il faut y répondre. Ça urge.

<img title="Dégooglisons Internet - par LL de Mars - LAL" style="margin: 0 auto; display: block;" alt="" src="/public/_img/framasoft/framasoft-campagne-2103_ll-de-mars_licence-art-libre.jpg" >=""

Google est un symbole (caution: may be evil)

L’année dernière, nous avons dégooglisé Framasoft. Comme monsieur et madame tout-le-monde, au fil des années, nous nous étions laissé séduire par la facilité immédiate des services proposés par la deuxième capitalisation boursière au monde. Nous avons montré qu’une structure aussi complexe que Framasoft peut se libérer de Gmail[1], Google Groups[2], Analytics[3], ainsi que d’Adsense et les services embarqués[4] ; et ce grâce à vos dons et participations bénévoles.

Mais cela ne suffit pas. Le géant de Mountain View est passé de simple moteur de recherche à un inventaire à la Prévert qui propose suite bureautique, stockage dans le cloud, magasin d’applications, livres, musiques et films, plusieurs OS (systèmes d’exploitation… mais encore des brevets sur les téléphones, l’électronique, la robotique et le vivant… Comme nous le disions lors d’une de nos frama-conférence aux dernières RMLL : « Google, c’est le nouveau Skynet ».

Or Google n’est qu’une lettre des GAFAM (Google Apple Facebook Amazon Microsoft) qui, avec Dropbox, Avaaz, Twitter (et tant d’autres…) ont réussi à nous rendre tellement dépendants de leurs services que nous finissons par travailler pour leur empire sans même nous en indigner.

Les libristes contre-attaquent (et Framasoft allume les LEDS)

On n’est pas les premiers (et merci !). On n’est pas les seuls (et heureusement !). Mais à Framasoft, on a décidé que ça suffisait. Alors on va faire ce que l’on sait faire le mieux : sensibiliser le grand public et lui proposer des services Libres, Éthiques, Décentralisés et Solidaires face à chaque application privatrice, centralisatrice, exploiteuse et enfermante qu’on pourra combattre. Ce « plan de libération du monde »[5] est intitulé : Dégooglisons Internet.

Nous allons améliorer nos services existants, tout en faisant perdurer nos projets-phares. Nous ouvrons officiellement aujourd’hui un pod Diaspora*, une Framasphère pour qui souhaite se libérer de Facebook sans tomber dans le business plan de Ello. Nous allons proposer un moteur de recherche, un service de raccourcissement d’URL, des catalogues d’ebooks libres, de l’hébergement d’images… Et cela c’est juste pour la fin de l’année ! Sur trois ans, nous comptons proposer toute une liste de services libres (stockage cloud, hébergement de fichiers, tube vidéo, listes de diffusion, micro-blogging et blogs), d’alternatives s’opposant comme autant de pieds de nez gaulois à l’envahisseur romain.

Pour réussir ce pari fou, nous avons une potion magique : vous.

Nous avons besoin de sous vous (mais de sous aussi ^^)

Actuellement, notre budget annuel représente 2,27 secondes du chiffre d’affaires annuel de Google. Rien qu’avec cela, on accomplit déjà beaucoup. Mais avec votre aide, nous pouvons aller plus loin. On le sait, la communauté libriste est constamment sollicitée par nos collègues, amis, et nous-même afin de réunir les fonds pour faire vivre leurs projets. Nous, on va vous demander de le défendre. Partagez autour de vous le site Dégooglisons Internet. Utilisez cet outil amusant et pédagogique pour accompagner votre entourage dans la prise de conscience des dangers du web privateur. Montrez-leur la liste des alternatives existantes, et de celles qui peuvent se créer si les geek-friendly viennent grossir nos rangs et nous soutenir par leur argent, leur temps, leur partage de compétences.

Des associations utilisent Framapad pour écrire leurs documents sans avoir à s’inscrire sur GoogleDocs. Des militants et syndicats ont compris que Framadate permet d’avoir un « Doodle » qui ne donne pas les dates de leurs réunions à la NSA ou la DGSE… Des écoles initient en toute sécurité leurs élèves au dessin assisté par informatique grâce à Framavectoriel. Ces projets existent grâce à des volontés bénévoles soutenues par une association qui leur donne les moyens d’éclore, de se développer et de perdurer.

Nous avons besoin d’argent et de volontés pour mettre notre plan en action, et chaque personne que vous convaincrez nous permettra d’avancer dans cette direction.

Framasoft engage son nom

(engagez-vous, qu’ils disaient !).

Nous ne nous engageons pas à réussir, car cela dépend des volontés qui nous rejoindront et des moyens que vous nous donnerez. Mais nous nous engageons à faire de notre mieux dans cette direction, et à le faire en développant des services Libres, Éthiques, Décentralisés et Solidaires. Nous avons élaboré une charte à laquelle nous nous tiendrons, ainsi que toute personne qui souhaite nous apporter son savoir-faire. Nous espérons aussi que d’autres projets nous rejoindront dans cette dynamique de mise à disposition pour le plus grand nombre de tels services (et nous nous évertuerons à en parler).

Maintenant, tout dépend de vous, de ce que vous allez faire après avoir lu cet article. Et vous savez quoi ? — Nous sommes confiants !

Vos outils :

Pour expliquer comment et pourquoi le petit village libriste résiste à l’envahisseur.

Une page pour résumer l’ensemble des projets que nous proposons et voulons proposer, et des moyens qu’il nous faut pour y parvenir.

L’association vit principalement du don, afin d’offrir aux projets l’infrastructure logistique, technique et humaine dont ils ont besoin pour se développer.

Notre engagement pour l’éducation populaire au Libre dans une économie sociale et solidaire.

Tu sais faire des trucs ? Ça tombe bien, on a des trucs à faire !