NLNet soutient Yama Analytics !

NLnet soutient le développement de Yama Analytics à travers le NGI0 Commons Fund !

On a entendu parler de NLnet à la première édition de Alp’OSS en 2024, lors d’un lightning talk de Pierre-Yves Gibello. Vous pouvez retrouver sa présentation en rediffusion ici, et ses slides ici. Au passage, un grand bravo à l’équipe AlpOSS.

Sa présentation explique bien tout, mais pour résumer : NGI0 est un fond financé par Horizon de la commission européenne pour financer des « communs numériques » : des projets réutilisable et open-source, axés sur internet, la vie privée, la confiance, la robustesse…

L’idée est de faire émerger un maximum de projets sur tout le spectre technologique — du hardware aux applications utilisateurs, en passant par les protocoles — en encourageant l’action publique via des financements collectifs. Leur approche est bottom-up : le projet est financé au fil de son avancement, avec un processus d’application simple et un suivi accessible.

La vision de NLnet correspond parfaitement à nos valeurs. Pouvoir candidater au même fonds que celui ayant financé OpenFoodFacts, LibreOffice ou PeerTube est un vrai privilège… et une grande motivation ! Bien que le financement ait été validé depuis un moment (on peut même voir 2024 sur la page du projet Analytics sur NLnet), c’est maintenant officiel : le développement de Yama Analytics est lancé.

Yama Analytics

Yama Analytics est une idée simple mais puissante : héberger des sites statiques sur un serveur génère des logs d’accès. Ces logs peuvent servir à produire des statistiques simples et quasi gratuites !

Après de nombreuses recherches, nous avons constaté qu’aucune plateforme existante ne répondait exactement à nos besoins :

  • Ingestion de logs en temps réel, sans dépendre de cronjobs ou de cookies.
  • Accès via API, sans imposer de dashboard intégré.
  • Mise en place adaptée à la containerisation, ce que la plupart des solutions classiques ne proposent pas.

Le projet a été mis de côté pendant un temps, car d’autres priorités prenaient le dessus, mais le besoin est resté présent. En 2025, il était clair qu’il fallait passer à l’action, et le financement via NLnet tombait à pic !

La roadmap du projet est très simple :

  • Alpha : un projet fonctionnel avec les fonctionnalités minimales et les outils d’observabilité nécessaires pour suivre le comportement du microservice, sans optimisations prématurées. Il sera possible de le faire tourner en production, afin de prioriser les tâches futures.
  • Phase de peaufinage : ajout de fonctionnalités avancées, optimisation des points identifiés grâce à l’observabilité, et documentation des mises en production dans différents contextes.
  • Release 1.0 : un projet complet, facile à mettre en place et parfaitement autonome, capable de répondre aux besoins initiaux.

Memorandum of Understanding

Voici le MoU original programmé avec la fondation permettant de définir les objectifs, les étapes et les responsabilités de chacune des parties dans le cadre de ce projet, afin d’assurer un développement structuré et aligné sur nos valeurs communes.

Alpha release

The alpha release will be a fully-working application with limited functionality to set a solid foundation and get the ball rolling. We will deploy this first release on our own infrastructure to see what works and what needs improving under real-life usage.

  • Set up the repository, re-format and publish design documents
  • Handle ingesting Caddy HTTP logs, processing/filtering logs, and producing basic analytics through an 
  • Simple bot traffic detection
  • Set up an observability pipeline to monitor performance and inform future optimisations
  • Write simple HTML Web Component widgets to display the data (graphs, diagrams)
  • Write the deployment documentation, package Docker images

Beta release

The beta release will improve on the alpha release by producing more complex analytics based on what is planned and what feels lacking, handle long-term data aggregation, and optimize what needs optimizing based on real usage monitoring and synthetic stress tests. We will also document more complex deployments setup to cover the most common use-cases (from a single server hosting one website to an entire fleet of servers).

  • Test and document more complex deployments setups
  • Set up stress-test/load testing
  • Understand, document and potentially remediate failure modes from load testing
  • Produce more complex analytics
  • Automatic aggregation of historical data
  • Performance optimizations on log ingestion
  • Performance optimizations on analytics production
  • Expanding support from Caddy to (an)other common web server’s log formats (e.g. NGINX, apache) and log pipeline tools (e.g. fluentd, vector.dev…)
  • Beta release, request security audit

1.0 release

Process bug reports from beta release, as well as the results of the security audit. If available, we might request NLnet’s support services on community building and management here.

  • Improve bot traffic detection based on real data and feedback
  • Process issues from external security and/or accessibility review

Continuer la navigation

Vous avez lu cet article, vous pourriez aimer les suivants