Cal11y - calendrier accessible

Pense-bête

Requêtes HTTP

Avec curl, on peut télécharger des données brutes derrière une URL, en l’occurence d’un flux d’agenda tout simplement (surtout si l’agenda est public).

Exemple avec le flux Mobilizon d'ARN

`
$ curl https://mobilizon.sans-nuage.fr/@arnfai/feed/ics

BEGIN:VCALENDAR
CALSCALE:GREGORIAN
VERSION:2.0
PRODID:-//Elixir ICalendar//Mobilizon 3.1.1//EN
BEGIN:VEVENT
CATEGORIES:arn-fai,arn,alsace réseau neutre,organisation
DESCRIPTION:L’Assemblée, c’est le moment où les bénévoles actifs se retrouvent afin de décider de la direction que va prendre Alsace Réseau Neutre, préparer la suite de la vie de l’association et prendre les décisions.Cet instant est ouvert à toute personne intéressée d’en apprendre plus sur le fonctionnement de l’association et voulant s’investir avec nous dans sa vie quotidienne.La réunion a lieu en ligne :globe_with_meridians:, à cette adresse : https://visio.colibris-lemouvement.org/b/als-jtq-efh-cdt
DTEND;TZID=Europe/Paris:20240328T220000
DTSTAMP:20240326T005205Z
DTSTART;TZID=Europe/Paris:20240328T200000
ORGANIZER:Alsace Réseau Neutre
SUMMARY:L’Assemblée #12 2023/2024, la réunion d’avancement d’Alsace Réseau Neutre
UID:394551d2-22b6-4d8b-991c-dd3becb29b98
URL:https://mobilizon.sans-nuage.fr/events/394551d2-22b6-4d8b-991c-dd3becb29b98
END:VEVENT
BEGIN:VEVENT
CATEGORIES:Strasbourg,Informatique,éducation populaire
DESCRIPTION:Les cafés HOP! sont des rendez-vous mensuels conviviaux organisés par Alsace Réseau Neutre pour vous permettre de découvrir des alternatives numériques qui vous correspondent et rencontrer nos bénévoles !Cette édition du Café HOP! est en collaboration avec la médiathèque du Neudorf. Pour s’inscrire, il faudra donc soit vous rendre sur place, soit les appeler au 03 68 98 51 81. Pensez à leur préciser la/les thématiques ci-dessous qui vous intéresses. Nous vous attendons nombreuses et nombreux !Libérer son Navigateur Internet :globe_with_meridians:Installation et paramétrage d’un navigateur plus respectueux de votre vie privée que Google Chrome ou Microsoft Edge.Réflexes et bonnes pratiques de navigation sur InternetLibérer son Smartphone :iphone:Installation d’applications libres et respectueuses de la vie privéeInstallation d’un système d’exploitation alternatif basé sur Android, sans les applications Google pistant et utilisant vos données personnelles.Libérer son Ordinateur :computer:Découverte et installation de LinuxInstallation de logiciels libres sur Windows, Mac et LinuxMise à jour et montage de matériel dans votre ordinateur pour prolonger sa durée de vieLes outils de l’internet utopique :wrench:Découverte de services en ligne alternatifs, libres et respectueux de la vie privée (messageries, courriels, visioconférence, etc)Modifications de paramètres systèmes pour l’accès à internet (serveurs DNS, VPN, etc)Nos bénévoles sont particulièrement familier⸱ère⸱s de l’accessibilité numérique pour les personnes à déficiences visuelles, nous pouvons donc apporter un soutien adapté aux personnes concernées.
DTEND;TZID=Europe/Paris:20240413T170000
DTSTAMP:20240326T005205Z
DTSTART;TZID=Europe/Paris:20240413T140000
GEO:48.5662684;7.7591839
LOCATION:Médiatèque du Neudorf 1 Place du Marché-Neudorf 67100 Strasbourg Grand Est France
ORGANIZER:Alsace Réseau Neutre
SUMMARY:Cafés HOP! #7 2023/2024 Halte à l’Obsolescence et au Pistage, les ateliers d’Alsace Réseau Neutre
UID:8bdae3dc-f9a3-41fb-bcd4-71d9271f5c88
URL:https://mobilizon.sans-nuage.fr/events/8bdae3dc-f9a3-41fb-bcd4-71d9271f5c88
END:VEVENT
BEGIN:VEVENT
CATEGORIES:Strasbourg,Informatique,éducation populaire
DESCRIPTION:Les cafés HOP! sont des rendez-vous mensuels conviviaux organisés par Alsace Réseau Neutre pour vous permettre de découvrir des alternatives numériques qui vous correspondent et rencontrer nos bénévoles !Cette édition du Café HOP! est en collaboration avec la médiathèque du Neudorf. Pour s’inscrire, il faudra donc soit vous rendre sur place, soit les appeler au 03 68 98 51 81. Pensez à leur préciser la/les thématiques ci-dessous qui vous intéresses. Nous vous attendons nombreuses et nombreux !Libérer son Navigateur Internet :globe_with_meridians:Installation et paramétrage d’un navigateur plus respectueux de votre vie privée que Google Chrome ou Microsoft Edge.Réflexes et bonnes pratiques de navigation sur InternetLibérer son Smartphone :iphone:Installation d’applications libres et respectueuses de la vie privéeInstallation d’un système d’exploitation alternatif basé sur Android, sans les applications Google pistant et utilisant vos données personnelles.Libérer son Ordinateur :computer:Découverte et installation de LinuxInstallation de logiciels libres sur Windows, Mac et LinuxMise à jour et montage de matériel dans votre ordinateur pour prolonger sa durée de vieLes outils de l’internet utopique :wrench:Découverte de services en ligne alternatifs, libres et respectueux de la vie privée (messageries, courriels, visioconférence, etc)Modifications de paramètres systèmes pour l’accès à internet (serveurs DNS, VPN, etc)Nos bénévoles sont particulièrement familier⸱ère⸱s de l’accessibilité numérique pour les personnes à déficiences visuelles, nous pouvons donc apporter un soutien adapté aux personnes concernées.
DTEND;TZID=Europe/Paris:20240511T170000
DTSTAMP:20240326T005205Z
DTSTART;TZID=Europe/Paris:20240511T140000
GEO:48.5662684;7.7591839
LOCATION:Médiatèque du Neudorf 1 Place du Marché-Neudorf 67100 Strasbourg Grand Est France
ORGANIZER:Alsace Réseau Neutre
SUMMARY:Cafés HOP! #8 2023/2024 Halte à l’Obsolescence et au Pistage, les ateliers d’Alsace Réseau Neutre
UID:7b940c9c-f0a7-4231-8d8f-4aad89872d5b
URL:https://mobilizon.sans-nuage.fr/events/7b940c9c-f0a7-4231-8d8f-4aad89872d5b
END:VEVENT
`

Bibliothèques

python

  • python-caldav est une bibliothèque CalDAV standard (respecte complètement la norme RFC).

javascript

  • tsdav permet de traiter des flux CalDAV en JSON.

php

  • simple-caldav est une bibliothèque CalDAV (non-maintenue) toute simple pour traiter des flux CalDAV.

Dépôts de code

Les dépôts du projet se trouvent sur le GitLab d’Hackstub.

À faire

Prototype

En javascript, le framework Kitten d’Aral Balkan/Small Web Foundation facilite le taf de prototypage et rend le projet très facilement auto-hébergeable.

  • trouver les bons liens pour les flux d’agendas :
  • initialiser un dépôt git
  • parser le CalDAV en JSON
  • parser le CalDAV en HTML
  • interface de :
    • gestion des doublons ;
    • connexion à des agendas privés.

Plugin grav

  • créer un plugin grav vierge (cf. doc grav)
  • initialiser le dépôt git
  • créer un template twig où intégrer le JSON
  • intégrer le parser

Mobilizon

  • branche git pour une fonctionnalité de synchronisation de flux.

Hey !

Je commence à bosser sur un parser CalDAV avec pour idées de :

  • proposer un calendrier web accessible tout simple (pour @irina notamment) ;
  • faire le pont et unifier plusieurs sources d’agendas sous la forme d’une interface permettant de choisir ses sources ;
  • utiliser CalDAV (et donc n’importe quel client) comme source pour publier des événements sur les agendas collaboratifs.

C’est un vieux serpent de mer et j’en ai marre qu’on n’aie toujours pas de solution au problème du meilleur outil d’agenda collaboratif alors qu’il existe des standards bien pratiques donc j’ai plutôt envie de proposer la même chose que pour les tchats ^^ En plus le nom est tout trouvé : Cal11y ça se lit « callons-y » héhé !

@gabjy tu pourrais m’ajouter au groupe de travail dont tu m’as parlé ?

2 « J'aime »

Super initiative. Ça va un peu dans le sens du frontend mobilizon thématique :slight_smile: Il y a un plugin wordpress qui marchouille pour ça, mais WP…

Du coup, l’affichage serait en liste (et pas en format tableau/agenda) je suppose ? Je préfère le format liste avec en haut ce qui arrive bientôt (ou ce qu’il se passe dans la journée) et je pense que c’est plus accessible.

Toutafé, c’est l’idée.
Par ailleurs, comme dit, l’idée ce serait aussi d’en profiter pour générer des flux aggrégés pour permettre de s’abonner à plusieurs agendas d’un coup et les intégrer à des sites web via n’importe quel plugin.

Concernant Grav, je pars sur l’idée de développer un nouveau plugin car il n’en existe tout simplement pas pour l’instant !

1 « J'aime »

Sans rapport direct, je réfléchis à installer https://framagit.org/framasoft/joinmobilizon/event-importer/

Il est essayable sur https://import.mobilizon.fr/

Avec ça on peut remplir des ICS sur nextcloud et que ça soit importé dans mobilizon.

1 « J'aime »

Importé ou synchronisé ? Je crois qu’on peut directement synchroniser depuis NextCloud vers Mȯbilizȯn…

En fait, non… Je fais une confusion entre « fediverse » et fédération de partages !

Oh wow mais c’est super cet outil ! Surtout que d’après @irina Mobilizon est super accessible pour le coup. En vrai ça répond un peu à tous mes objectifs (et c’est tant mieux) :slight_smile:

PS: Je garde quand même le projet de faire un plugin grav pour intégrer le flux mobilizon au site, même s’il vaudrait peut-être mieux directement rediriger les gens sur mobilizon… idk ! @marjorii t’en penses quoi ?

Hop voilà, j’ai mis en place la synchro vers notre compte Mobilizon (dsl on est pas encore sur l’instance ARN :x) !!
La procédure était juste pas très claire sur l’interface web donc j’ai mis un petit moment à comprendre pourquoi les événements s’étaient pas tout de suite synchronisés.
Je vais faire un tuto sur le wiki d’ARN !

Perso je pense que c’est mieux de pouvoir intégrer au site, et idéalement plusieurs sources quand même car dans mobilizon il y a pas de possibilité de créer une vue regroupant des tags, des groupes et des évènements précis…

1 « J'aime »

Hop je viens de créer la doc pour publier les événements et synchroniser un agenda existant dans Mobilizon.

Je pense qu’on peut aussi s’en servir pour tester de faire un mirroir de Strasbourg Furieuse. À mon avis cette fonctionnalité va vraiment beaucoup les intéresser, ça donne tout de suite un sacré avantage supplémentaire à Mobilizon. Je leur en parle !

Quelqu’un ayant accès au Mobilizon d’ARN pourrait essayer d’importer ce flux ?

1 « J'aime »

Tu connais https://www.agendamilitant.org/ ?

Les cartes et recherche de lieux sont assurés grace à OpenStreetMap et Nominatim, et les données sont © OpenStreetMap contributors, ODbL 1.0.. Nous les remercions !

Le design du site a été gracieusement réalisé par Geoffrey Dorne. Nous le remercions !

Le développement du site est assuré par le collectif AMI sur une plateforme Gitea, et utilise le logiciel CMS Spip. Merci à ses auteurs ! Si vous souhaitez mettre en place une plateforme similaire, nous partageons bien volontiers le code source sous licence libre. Contactez-nous

cf. mon post de veille : https://forum.arn-fai.net/t/mobilizon/3489/49

2 « J'aime »

Oups pardon j’avais pas vu que j’étais taguée. Ça vous dit d’en parler lors d’une réu ARN ? Plutôt sur un Slash a priori, sinon la prochaine Assemblée comme on doit aussi se rencarder pour causer educpop ?

1 « J'aime »

et puis encore https://www.agendadulibre.org/ qui semble encore vaguement maintenu (2023)