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 -_-)

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 (« 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.

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 :

se rend donc sur Framagenda.org ;

clique sur « S’enregistrer » ;

saisit son adresse email pour recevoir un lien de vérification ;

crée son compte dans la fenêtre ouverte par le lien de vérification.

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…

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.

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 !).

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.

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.

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.

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.

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 !

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 !

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é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

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 !

Si 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 !