Vue lecture

SHM : des métriques d’usage pour applications self-hosted… sans espionner les utilisateurs

Quand on développe et distribue des applications open-source auto-hébergées, il y a une question très simple à laquelle il est presque impossible de répondre :

Combien d’instances actives de mon application sont réellement utilisées ?

SHM

C’est exactement le problème que j’ai rencontré avec Ackify, une application open-source de preuve de lecture de documents (politiques internes, procédures, formations, etc.), déployée en self-hosted par ses utilisateurs - sans que j'ai le moindre contrôle dessus.

Pas de SaaS, pas de compte centralisé, pas de tracking utilisateur.
Résultat : zéro visibilité.

👉 Combien d’instances Ackify tournent vraiment ?
👉 Quelles versions sont encore actives ?
👉 Quelles fonctionnalités sont utilisées (ou pas) ?

C’est pour répondre à ce besoin très concret que j’ai créé SHM – Self-Hosted Metrics.

SHM, c’est quoi ?

SHM est un serveur de télémétrie privacy-first, conçu spécifiquement pour les applications self-hosted open-source.

L’idée est simple :

  • chaque instance auto-hébergée envoie périodiquement un snapshot de métriques agrégées
  • aucune donnée utilisateur
  • aucun événement individuel
  • aucun tracking comportemental

Juste ce qu’il faut pour comprendre l’usage réel d’un logiciel déployé “dans la nature”.


Un point important : SHM est agnostique

Contrairement à beaucoup d’outils existants, SHM n’impose aucun schéma.

Tu envoies :

{
  "documents_created": 123,
  "active_users": 42,
  "webhooks_sent": 9
}

➡️ le dashboard s’adapte automatiquement :

  • nouvelles cartes KPI
  • nouvelles colonnes
  • graphiques générés dynamiquement

Aucun frontend à recompiler, aucune migration à écrire.

Dashboard Graph
Dashboard Détail


Un petit mot sur Ackify

Ackify est l’application qui a déclenché tout ça :

  • open-source
  • self-hosted
  • preuve de lecture avec signature cryptographique
  • alternative légère à DocuSign pour des usages internes

SHM est désormais utilisé pour répondre à des questions très simples :

  • combien d’instances actives ?
  • combien de documents créés ?
  • combien de signatures générées ?

Projet open-source

Le projet est encore très jeune (MVP), mais fonctionnel et déjà utilisé en conditions réelles.

Les retours, critiques et idées sont évidemment bienvenus 🙂


Stack technique (sobre et assumée)

  • Backend : Go (binaire unique, léger)
  • Stockage : PostgreSQL (JSONB)
  • Déploiement : Docker
  • Licence : AGPLv3 (SDK en MIT)
  • Auth des instances : Ed25519 (clé générée localement, signature des snapshots)

Chaque instance :

  • génère une identité cryptographique locale
  • s’enregistre une seule fois
  • signe chaque envoi de métriques ➡️ impossible de spoof une instance existante.

Et côté vie privée ?

C’était non négociable.

SHM :

  • ne collecte aucune donnée personnelle
  • ne collecte pas les IP (hors reverse-proxy)
  • ne collecte ni hostname, ni username
  • fonctionne sur des compteurs agrégés uniquement

C’est au mainteneur du logiciel de décider quelles métriques exposer, et à l’utilisateur final de pouvoir désactiver la télémétrie.

Commentaires : voir le flux Atom ouvrir dans le navigateur

  •  

Amazfit T-Rex 3 Pro : voilà une belle réduction pour cette rivale de la Fenix 8 de Garmin

Avec sa T-Rex 3 Pro, Amazfit propose une montre outdoor capable de rivaliser avec celles de Garmin. Notée 9/10 par nos soins, c'est un modèle que l'on recommande chaudement d'autant plus maintenant qu'elle passe de 399 euros à 379 euros.
 [Lire la suite]

Les bons plans n’attendent pas : abonnez-vous à notre canal WhatsApp Frandroid Bons Plans ! (zéro spam, promis).

  •  

Avec 525 € en moins, ce laptop gaming sous RTX 5060 est le super deal de fin d’année pour jouer sans se ruiner

Envie d’une machine performante, fluide et réactive pour lancer vos jeux AAA, le tout sans vous ruiner ? Voici le Lenovo LOQ 15IRX10, un laptop avec RTX 5060 qui ne coûte plus que 874,99 euros, au lieu de 1 399,99 euros de base.
 [Lire la suite]

Pour ne rater aucun bon plan, rejoignez notre nouveau channel WhatsApp Frandroid Bons Plans, garanti sans spam !

  •  

L’aspirateur le plus fin du monde par Dyson profite d’une première réduction valable uniquement aujourd’hui

Il est à peine sur le marché que déjà son prix baisse sur Rakuten pendant quelques heures : il s'agit du Dyson PencilVac Fluffycones, l'aspirateur balai le plus fin du monde, qui passe de 499 euros à 484 euros.
 [Lire la suite]

Si vous voulez recevoir les meilleures actus Frandroid sur WhatsApp, rejoignez cette discussion.

  •  

AlternC : La 3.5.x continue à être stable

AlternC est un projet collaboratif dont l’élément de base constitue un logiciel libre de gestion d’hébergements mutualisés pour Debian.

Ce projet (sous GPLv2+) se veut facile à installer et à utiliser, s’appuyant uniquement sur des logiciels libres.
Il contient un système d’installation et de configuration automatique, ainsi qu’un panneau de contrôle accessible par le web, pour la gestion des utilisateurs et des services orientés web.
Le projet s’adresse à un public faisant de l’administration système et souhaitant déléguer les actions de base d’un hébergement web.

On peut le comparer à des solutions telles que ISPconfig, cPanel, Plesk, Froxlor…

Après de nombreuses années la version 3.5 est arrivée début 2025 et se prépare à la suite, on se propose de rattraper ce temps perdu.

Sommaire

Qui est derrière AlternC ?

Le projet est porté par différentes structures tant associatives que professionnelles. Nous n’établissons aucune statistique, toutefois, portée à notre connaissance, on peut citer dans un désordre alphabétique :

  • domainpublic avec environ 500 comptes également ;
  • globenet ;
  • infini  ;
  • koumbit qui représente environ 500 comptes pour 2000 domaines et est contributeur historique ;
  • lautre.net compte un peu moins de 1000 adhérents et plus ou moins autant de comptes AlternC ;
  • marsnet avec un peu moins de 200 comptes pour 500 domaines et plus de 200 listes de diffusion ;
  • neuronexion ;
  • octopuce avec environ 80 instances déployées, contributrice historique, héberge une partie de l’infrastructure du projet ;
  • ouvaton avec environ 6000 (sous-)domaines actifs ;
  • webelys contributeur et animateur de la communauté.

Enfin une version 3.5

Un peu de contexte historique

Entre 2018 et fin 2024, la communauté a eu du mal à s’organiser pour fusionner et proposer une cohérence de développement. Durant cette période, il était alors recommandé d’utiliser une version maintenue avec grande détermination par koumbit.

De nombreux correctifs ont été proposés dans leur bifurcation amicale. C’était de fait la version la plus avancée et active de ces dernières années. On peut noter également que d’autres membres de la communauté disposaient de branches locales. Par exemple, Octopuce maintenait une version 3.3 avec un portage partiel pour fonctionner sur les anciennes versions de Debian.

Sans être exhaustif dans tous les développements épars, on peut dire qu’on s’était tous un peu dispersé. Il était difficile de répondre à des besoins opérationnels immédiats et de prendre le recul nécessaire pour une intégration communautaire saine.

On était arrivé à une situation de déperdition de temps, d’énergie, d’envie conséquente.

L’objectif de cette version

Au fil des années, l’objectif principal de la 3.5 a fortement évolué. De l’apport initial d’innovations diverses nous nous sommes recentrés sur l’essentiel. C’est-à-dire :

  • fournir une version unifiée et rationnelle de toutes les variantes connues ;
  • gérer les versions stables (du moins plus récentes) de Debian.

L’histoire récente de la 3.5

La communauté AlternC, pour diverses raisons, a fortement tardé pour absorber tout ce retard. Au cours de ces douze derniers mois, on notera les évolutions suivantes :

  • Une 3.5~RC2 absorbant le retard avec les apports de koumbit ;
  • Une 3.5~RC3 absorbant le retard avec Debian et fournissant la compatibilité avec Bookworm ;
  • Une 3.5.0 proposant une version stabilisée compatible de buster à bookworm ;
  • Une 3.5.1 proposant un correctif lors de la mise à jour et une compatibilité avec des changements avec roundcube ;
  • Une 3.5.2 proposant d’autres correctifs mineurs, plus une gestion de SFTP, réparation de la compatibilité du module awstats, maintenir les configurations DKIM/SPF ;
  • Une 3.5.3 proposant des correctifs mineurs, une meilleure gestion des bases de données, la réparation des configurations DNS manuelles, une meilleure prise en charge des versions PHP.

Il est prévu d’autres versions mineures pour prendre en compte les erreurs restantes.

Toutes ces versions ont été diffusées sur le dépôt officiel AlternC ou bien directement sur le dépôt github

Les changements depuis la 3.3

Des nouveautés diverses et variées

Sans faire une liste à la Prévert, notons les points suivants :

  • La gestion de Debian Buster à Bookworm ;
  • La gestion de PHP de 5.6 à 8.x ;
  • L’amélioration de la gestion des mails avec une meilleure prise en charge de DKIM, SPF et DMARC ;
  • La gestion de l'autodiscover et autoconfig pour les logiciels de messagerie ;
  • La gestion de SFTP en plus de FTP(S) ;
  • La capacité de gérer des domaines DNSSEC ;
  • Un nouveau thème plus moderne et personnalisable ;
  • La définition de politique de validation de mot de passe.

De nombreux correctifs

Les nouveautés ne sont pas le cœur de cette version, on a principalement travaillé sur la stabilisation et la mise en place de correctifs divers et variés commme :

  • le report des correctifs pour roundcube pour buster et sa gestion jusqu’à bookworm ;
  • l’intégration de phpmyadmin jusqu’à bookorm ;
  • des protections CSRF dans les nombreux formulaires ;
  • des ajustements dans les scripts de type cron et alternc.install ;
  • la prise en charge des fonctionnalités d’apache 2.4 ;
  • la prise en charge conditionnel du mode SSL pour apache (permettant des frontaux comme nginx, haproxy…) ;
  • des empreintes de mot de passe plus solide — pour entre autres — dovecot ;
  • des correctifs pour s’aligner sur les évolutiosn de mariadb (longueur des tables, nommages…) ;
  • simplification du javascript pour le panel ;
  • support progresif de systemd ;
  • la bascule progressive du système de traduction vers weblate.

Un écosystème

AlternC ne se résume pas à un projet avec une structure monolithique. Il s’agit d’un écosystème avec nombre de plugins.

 Des plugins

La version 3.5 apporte de nouveaux plugins, pour faciliter leur évolution. Certaines fonctionnalités ont été extraites ou adaptées en ce sens :

  • ACME qui extrait la génération des certificats SSL avec Let's encrypt et le protocole ACME
  • nginx-ssl une seconde approche pour gérer les certificats SSL et offrant un frontal nginx pour gérer https
  • mailman un gros travail de fond a été réalisé pour permettre le passage de maiman2 à mailman3 tout en assurant une retro compatibilité correcte.

 Un générateur de paquet Debian

AlternC est maintenant fourni avec un générateur automatique de paquets Debian.

Ainsi on facilite l’arrivée de nouvelle proposition sous forme de plugin. Il est n’est pas nécessaire d’intervenir sur l’intégralité du projet AlternC et on peut se concentrer sur une fonctionnalité donnée.

Dès l’intégration du depot dans l’organisation AlternC, le plugin sera automatiquement pris en compte et ses paquets Debian prêts à l’emploi via :

  • les releases github
  • le dépôt officiel du projet
  • la mise à disposition des paquets expérimentaux ou dits nightly

Tout un ensemble de plugins

Au-delà d’AlternC en soi et des plugins listés avant, on peut trouver à différents niveaux de maturité :

On peut trouver l’ensemble des plugins AlternC depuis son dépôt : https://github.com/AlternC/

D’autres outils sont mis à disposition également sur la forge communautaire du projet

Comment installer ou mettre à jour ?

Si vous avez déjà un AlternC 3.3.x et que vous voulez migrer vers la 3.5.x, faites une sauvegarde complète et suivez la documentation fournie sur notre aide en ligne

Il est important de prendre en compte les informations suivantes :

  • La version 3.3 n’est plus officiellement supportée et cesse de fonctionner au-delà de Buster ;
  • La version 3.5.x supporte Buster et Bookworm ;
  • Le support de Bullseye (Debian 11) n’est pas fourni, cela peut fonctionner uniquement le temps de la mise à jour système.

Participer

Ensuite ?

Le cycle de la 3.6 n’est pas encore planifié. Parmi les idées en reflexion nous avons :

  • réduire le support à deux versions stables de Debian (bookworm/trixie)
  • l’amélioration de la qualité du code de base (bash et php) à l’aide de diverses CI/CD
  • la finalisation du système de traduction pour le core et les plugins via weblate

Le code

L’ensemble du code du projet est actuellement hébergé chez github.
Toute personne est la bienvenue. Vous pouvez proposer un nouveau projet de code, remonter des bogues, suggérer des améliorations, traduire, communiquer…

Nous profitons également de cette nouvelle version pour utiliser le nommage “main” pour la branche principale. C’est plus en adéquation avec notre code de conduite informel et donne également une cohérence sur l’ensemble des projets.

Les traductions

Toutes personne souhaitant traduire dans sa langue est la bienvenue. Vous pouvez participer via le service weblate. Nous gérons actuellement principalement trois langues : le français, l’anglais et l’allemand. Nous avons d’autres langues disponibles pour lesquelles un peu d’amour est nécessaire.

Des services à disposition de la communauté

En complément, le projet AlternC met à disposition divers services à la communauté. Le principal est le service de DNS secondaires disponible sur le site dédié https://www.alternc.net/
Ce service permet de synchroniser ses zones sur deux DNS secondaires depuis ses instances AlternC.

Un autre service est disponible en mettant à disposition des serveurs virtuels jetables pour tester des développements sur différentes distributions Debian (de Jessie à Trixie).

Commentaires : voir le flux Atom ouvrir dans le navigateur

  •  
❌