Alors qu’awstats annonce sa dernière version, yahi (le lien inclus un lien vers la démo de la sortie) est un équivalent installable par pip d’analyse de journaux web normalement destiné à sortir des stats d’aggrégation, maintenu.
Son usage est suffisamment versatile pour s’adresser à tout type de d’agrégation de serveur parsable par regexp.
détourner yahi pour grapher des CSV
Comme ce module est assez simple il peut être facilement détourné pour grapher des CSV.
Yahi est un analogue de awstats qui a pour particularité de générer un fichier HTML tout en un (qui nécessite javascript) pour fournir les différentes pages de statistiques (essentiellement une carte geoip, des histogrammes et séries temporelles).
Mais, comme je suis un pervers pépère, je me suis amusé à voir si il n'était pas possible de l'utiliser aussi pour analyser des fichiers CSV.
Exemple 1: DONT: utilisation de regexp pour parser un CSV
Dans le cadre de mon bot bluesky je génère un CSV de stat qui a une structure sur laquelle on peut exceptionnellement appliquer une regexp :
timestamp (float), nombre de post français (int), nombre de posts totaux (int),?…
Ce code génère le fichier data.js dans les conventions qui suivent les attendus du fichier de données yahi
date_ … correspond à un histogramme de temps
hour_ … correspond à un histogramme par heure
Il suffit de faire :
yahi_all_in_one_maker && firefox aio.html Pour voir les résultats dont ci joint sont deux exemples :
Exemple 2: utilisation brutale avec CSV DictReader
Pour ce cas, j'ai pris le fichier CSV que m'a imprudemment envoyé france travail avec le listing des 10 000 chômeurs de mon coin ayant la structure suivante :
id opaque, civilité, prénom, nom, email du conseiller
pour bâtir les histogrammes de
combien chaque conseiller suit de chômeur,
quelle est la fréquence des prénoms (et ce que cela révèle)
Et là la magie de la convention de nommage indique que l'on veut des histogramme triés en forme de top 40
Il ne reste plus qu'à générer la page web …
yahi_all_in_one_maker && firefox aio.html Et l'on à les graphs suivants :
(le premier est tronqué pour respecter le RGPD)
le nombre de chômeurs par conseiller
Ce qui nous apprend qu'un conseiller suit en moyenne 250 chômeurs, et que certains à plus de 500 risquent le burnout
la fréquence des prénoms
Ce qui nous apprend quand on met en regard de quand les prénoms les plus courants avaient du succès que vaut mieux pas être vieux et au chômage (tarte à la crème) si on veut retrouver du boulot.
Voir la fréquence des prénoms suivants (source INSEE)
Est-ce une bonne idée quand on est chômeur de faire du logiciel libre
J'en ai discuté avec ma conseillère qui m'a dit : pour ne pas être contrôler il est bien dans la partie mouchard projet de votre interface de france travail de rajouter des projets, le plus évitant les contrôles, et vous pouvez tout à fait rajouter vos contributions à du logiciel libre comme étant de l'auto-formation.
La PyConFR 2025 a lieu du jeudi 30 octobre au dimanche 2 novembre au Campus René Cassin à Lyon. Le planning est en ligne et les inscriptions sont ouvertes !
Comme toujours, l’évènement est gratuit et l’inscription est obligatoire.
Les deux premiers jours de la conférence seront occupés par les sprints. Et les deux jours suivants seront dédiés aux conférences (longues et courtes) et ateliers.
Trois keynotes sont au programme :
Embracing Weird Code, d’Ivana Kellyer
Le rêve de tout enfant - devenir DBA ?, de Karen Jex
Être un·e allié·e du numérique pour tou·te·s en environnement hostile, de Morgane Rozenn Hauguel
Un atelier de programmation pour les enfants (à partir d’environ 7 ans) a lieu le samedi après-midi.
Un espace enfants (de 3 ans à 12 ans) est aussi mis à disposition le samedi et dimanche gratuitement et sur inscription.
Un déjeuner PyLadies a également lieu durant la conférence. Un des objectifs est de tisser des liens entre la communauté PyLadies et le reste de la communauté Python francophone.
En plus du traditionnel repas du samedi soir, des visites guidées de Lyon sont aussi possibles les jeudi et vendredi soir, toujours sur inscription.
Enfin, le dimanche matin, l’AFPy tient son assemblée générale. Si vous souhaitez y voter, assurez-vous d’être à jour de cotisation.
Marco 'Lubber' Wienkoop pour son travail sur Fomantic-UI, un chouette framework CSS que nous utilisons dans canaille. Fomantic-UI est aussi utilisé par d'autres outils sur lesquels nous comptons, comme Forgejo.
Hsiaoming Yang pour son travail sur authlib, une bibliothèque python d'authentification que nous utilisons dans canaille.
Le Comité Directeur est l’organe qui administre l’association au quotidien et organise la PyConFR.
Si vous avez envie de participer à animer la communauté Python et à organiser l’édition 2026 de la PyConFR, pourquoi pas rejoindre le Comité Directeur ?
Comment ça se passe à l’assemblée générale ?
Pour vous présenter, vous devez être membre de l’association (n’oubliez pas votre adhésion).
Les personnes intéressées pour rejoindre le comité se présentent, puis un vote a lieu.
Les personnes élues rejoignent alors le comité, qui propose alors un·e Président·e. Cette proposition est aussi soumise au vote de l’assemblée (n’oubliez pas votre adhésion).
Les différents autres postes du bureau sont attribués lors de la réunion du comité après l’assemblée.
Comment ça se passe au Comité Directeur ?
Le comité se réunit une fois par mois en visio pour traiter les différents sujets.
Certains postes ont des tâches spécifiques :
Le·la président·e dirige l’association au niveau global et suit l’ensemble des sujets.
Le·la trésorier·e gère l’argent de l’association, répond aux demandes de bourses concernant la PyConFR et édite les factures.
Le·la secrétaire s’occupe de la prise de notes lors des réunions, de la publication des compte-rendus / dépôt des documents auprès de la préfecture et de l’envoi des lettres d’invitation pour les demandes de visa pour la PyConFR.
Chacun de ses postes est complété par un·e adjoint·e qui le supplée en cas d’absence.
Ça m’intéresse grave de rejoindre
Si vous êtes intéressé·es pour rejoindre le comité, vous pouvez participer à une des prochaines réunions pour voir comment ça se passe. Elles sont le 9 et 21 octobre.