L'IA devenue outil du quotidien
by Funix from Linuxfr.org
'lut,
Vous me direz, encore un journal sur l'IA ! C'est un sujet globalement plutôt décrié sur ce site qui met en exergue surtout ses méfaits, mais je tenais à faire part de mon expérience car ça peut être également un super outil du quotidien. A tel point que j'ai quasiment laissé tomber les moteurs de recherche, dont le premier d'entre eux et mon premier réflexe est maintenant d'abord de consulter chatgpt. Pourquoi chatgpt ? Simplement parce que je trouve encore les autres bien moins performants.
Je le consulte pour les petites problématiques du quotidien et du bricoleur du dimanche que je suis, quand je regarde mon historique de consultation, ça va aussi bien de la recherche d'une référence d'une pièce auto et la manière de l'installer, rattraper une anchoïade, installer un programmateur dans un tableau électrique, faire un joint d'étanchéité sous l'eau ou trouver le mode d'emploi d'un réfrigérateur ! Et dans le domaine informatique, ça couvre aussi bien des scripts bash pour divers usage et des problèmes variés rencontrés sur divers logiciels.
Tout n'est surtout pas à prendre au pied de la lettre, il y a parfois des erreurs grossières, des informations datées voire obsolètes, il lui arrive également de tourner en rond et de radoter sans avancer, mais le plus souvent il me donne les bonnes pistes et par itération successive, j'arrive très souvent à mes fins pour résoudre mon problème initial.
S'il fallait illustrer mes propos par un exemple concret, dans un précédent journal j'avais évoqué que j'avais déployé chez moi un système de vidéosurveillance basé sur zoneminder. J'avais acheté un ensemble de caméras adhoc dont certains à bas coût d'une vingtaine d'euros dont les caractéristiques semblaient intéressantes pour l'usage que je voulais en faire. A vrai dire je n'ai jamais pu installer ces caméras bas coût car l'adresse du flux vidéo change régulièrement ce qui les rend inutilisables pour les logiciels comme zoneminder ou frigate qui ne gèrent que les adresses fixes, contraignant à utiliser l'application propriétaire Android fournie avec.
J'ai buté des mois sur ce problème en tentant vainement diverses solutions et en mettant au point sans succès très laborieusement un script python. Dernièrement j'ai fait appel à chatgpt et en 2h de temps tout était en place. chatgpt m'a aidé à créer un script qui récupère à intervalle régulier l'adresse du stream vidéo, adresse qu'il enregistre ensuite dans le fichier de configuration de mediamtx, serveur de flux vidéo qui rediffuse le flux avec une adresse fixe accessible de zoneminder ou frigate.
Je ne suis pas sûr que j'y serais arrivé seul, ou alors au bout de je ne sais combien d'heure de vaines programmations. Je me rends compte que chatgpt a évolué également, car je lui avais posé la même question il y a plusieurs mois, il a été incapable d'y répondre et ne m'avait pas donné à l'époque de pistes sérieuses pour avancer. Pour autant je ne pense pas que l'IA va envoyer les développeurs au chômage, je pense plutôt qu'il va les aider à être bien plus efficace.
Il en reste pas moins que ceux qui sont intéressés par ce sujet spécifique peuvent toujours consulter cette page pour retrouver ce fameux script python.
Commentaires : voir le flux Atom ouvrir dans le navigateur
Le planet de l'AFPy a besoin d'aide sur du HTML/CSS
by mdk from AFPy discuss
Bonjoir les gens,
j’essaye de mettre de la pagination sur le planet de l’AFPy. Mais je pense ne pas être à la hauteur, en un commit j’ai tout cassé, l’aside n’est plus aside, les liens précédent/suivant sont placés n’importe où, l’enfer.
Quelqu’un a le temps de tenter de faire ça propre ?
4 messages - 2 participant(e)s
Abuser de yahi -un équivalent d'awstats- pour grapher des CSV
by jul from AFPy discuss
à propos de yahi
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.
1 message - 1 participant(e)
détourner yahi (grapheur de journaux web) pour faire des graphs de CSV
by Jul from Linuxfr.org
Yahi
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),?…
Le code est simple ::
from archery import mdict
from yahi import notch, shoot
from json import dump
import re
context=notch(
off="user_agent,geo_ip",
log_format="custom",
output_format="json",
date_pattern="%s",
log_pattern="""^(?P<datetime>[^,]+),
(?P<nb_fr>[^,]+),
(?P<nb_total>[^,]+),?.*
$""")
date_formater= lambda dt :"%s-%s-%s" % ( dt.year, dt.month, dt.day)
res= shoot(
context,
lambda data: mdict({
"date_fr" :
mdict({ date_formater(data["_datetime"]) :
int(data["nb_fr"]) }),
"hour_fr" :
mdict({ "%02d" % data["_datetime"].hour :
int(data["nb_fr"]) }),
"date_all" :
mdict({ date_formater(data["_datetime"]) :
int(data["nb_total"]) }),
"hour_all" :
mdict({ "%02d" % data["_datetime"].hour :
int(data["nb_total"]) }),
"total" : 1
})
)
dump(res,open("data.js","w"), indent=4)
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 :
Pour voir les résultats dont ci joint sont deux exemples :
yahi_all_in_one_maker && firefox aio.html


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)
Là encore, le code est assez simple :
from csv import DictReader
from json import dump
from archery import mdict
res=mdict()
with open("/home/jul/Téléchargements/GEMESCAPEG.csv") as f:
for l in DictReader(f):
res+=mdict(
by_ref = mdict({l["Referent"]: 1}),
by_prenom=mdict({l["Prenom"]:1}))
dump(res, open("data.js", "w"), indent=4)
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 …
Et l'on à les graphs suivants :
yahi_all_in_one_maker && firefox aio.html
(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.
Commentaires : voir le flux Atom ouvrir dans le navigateur
Comment optimiser vos images de conteneurs Docker
by bearstech from Bearstech
PyConFR 2025, planning et inscriptions
by grewn0uille,Ysabeau 🧶 from Linuxfr.org
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
- lien nᵒ 1 : PyConFR 2025
- lien nᵒ 2 : Programme de la PyConFR 2025
- lien nᵒ 3 : Inscriptions
- lien nᵒ 4 : Code de conduite
- lien nᵒ 5 : Soutenir l’évènement
- lien nᵒ 6 : Association Francophone Python
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.
Commentaires : voir le flux Atom ouvrir dans le navigateur
AFPy
by AFPy - Mastodon from AFPy - Mastodon
🔴 En direct à 15h30 : L'émission Libre à vous parlera de Python.
Sur Lyon − Jeudi Programmation de l’ALDIL le 25 septembre
by grewn0uille from AFPy discuss
Hello tout le monde,
L’ALDIL reprend ses ateliers d’initiations à la programmation ce jeudi, et pour cette première session, il y a du Python au programme.
Ça commence à 19h et ça se passe à la Maison pour tous / Salle des Rancy.
Plus d’informations sur leur site.
1 message - 1 participant(e)
Summer 2025 FOSS contributions from by the Yaal Coop team
by Éloi Rivard <eloi@yaal.coop> from Yaal
Sponsoring
- Marco 'Lubber' Wienkoop for his work on Fomantic-UI, a nice CSS framework we use in canaille. Fomantic-UI is used on other tools we rely on, like Forgejo.
- Hsiaoming Yang for his work on authlib, a python authentication library we use in canaille.
- Bronze tier sponsoring for the PyConFR convention.
Magic-Wormhole
Get files from one computer to another, safely
- Remove warnings about invalid escape sequence in strings
- Replace formatted strings to f-strings for the mailbox server and the relay server
- Git ignores files generated when the tests run
- Update syntax to 3.9+ Python versions, done with pyupgrade-directories, for the client, the mailbox server and the relay server
- Replace deprecated
pkg_resources.resource_string()call byimportlib.resources.file()for the mailbox server and the relay server - Set environment variable to fix a test by having the same stdout output
authlib
The ultimate Python library in building OAuth, OpenID Connect clients and servers. JWS,JWE,JWK,JWA,JWT included.
- Temporarily restore OAuth2Request body parameter
- Fix id_token generation with EdDSA alg
- Sign OIDC id_token according to id_token_signed_response_alg client metadata
- Add diff-cover check in GHA
- Move from pre-commit to prek
- Run GHA unit tests with uv
- Fix
InsecureTransportErrorraising - Add conventional-commits pre-commit hook
- Fix response_mode=form_post with Starlette client
- Migrate tests to pytest paradigm
- Use explicit *.test urls in unit tests
- Add a
requestparam to RFC7591generate_client_infoandgenerate_client_secretmethods
pytest-iam
A lightweight and fully functional OAuth2 / OpenID Connect (OIDC) / SCIM server to be used in test suites.
scim2-client
Pythonically build SCIM requests and parse SCIM responses
scim2-models
SCIM resources serialization and validation with Pydantic
- Ensure
PatchOp.pathis set forremoveoperations - Implement proper path validation for SearchRequest attributes
- Implement PatchOp validation checks
- Implement PatchOp.patch
- Ignore invalid attributes and excluded_attributes on serialization
- Don't normalize fields typed with
Any - Allow non canonical values for Enums
- Only allow one primary complex attribute value to be true
- Explicit ComplexAttribute sub-attributes
scim2-server
Lightweight SCIM2 server prototype
- Fix an error happening when PUT-ing an extension field to an instance
- Fix behavior when patch removes null uneditable fields
- Fix extension root patching
scim2-tester
SCIM RFCs server compliance checker