PyConFR 2024
Site officiel (nouvel onglet) ↗Programme (nouvel onglet) ↗Synthèse de octobre 2024 →
Conférence gratuite de l'AFPy : sprints les 31 octobre et 1er novembre, conférences et ateliers les 2 et 3 novembre. Environ 300 personnes (rapport de transparence) ; 364 inscrits et 280 badges pointés selon l'AG de l'AFPy. Trois plénières, toutes données par des femmes (choix délibéré). Édition prévue à Strasbourg depuis 2020, reportée par la crise sanitaire.
Une PyConFR de communauté, gratuite et militante : la qualité du code Python au quotidien (tests, ORM, migrations, packaging) et l'inclusion ont dominé un programme où l'IA générative est surtout abordée sous l'angle de la sobriété et des petits modèles spécialisés.
25 sessions résumées · 24 vidéos · mise à jour le jeudi 8 octobre 2026 · synthèse à compléter
Sources lues et limites de cette synthèse
Corpus : Programme officiel complet, 24 transcripts de vidéos Indymotion lus (3 plénières, 21 conférences) plus l'ouverture, la clôture et l'assemblée générale de l'AFPy, sur 50 vidéos publiées entre janvier et février 2025. S'y ajoutent le rapport de transparence du code de conduite (13 novembre 2024, avec un sondage de 100 répondants), une trentaine de pouets Mastodon publiés du 31 octobre au 5 novembre 2024, deux fils du forum discuss.afpy.org et les slides de deux speakers.
Limites : Retours participants très minces : aucun post LinkedIn ni article de blog post-événement trouvé, et les pouets Mastodon (mrjmad, jmny, Ash_Crow, mdk, petitlepton, Sarah Abderemane) se limitent souvent à annoncer la session suivie. La plupart des résumés reposent donc sur les transcripts automatiques, qui déforment des noms propres. Les ateliers, les sprints et les lightning talks ne sont pas documentés, et la conférence sur la covariance n'a pas été publiée (problème de son).
Synthèse globale
1. Une édition attendue depuis 2020, gratuite et portée par des bénévoles
Strasbourg devait accueillir la PyConFR dès 2020 ; l'édition a enfin eu lieu, accueillie gratuitement par l'UFR de mathématique et d'informatique (ouverture, AG de l'AFPy). Le format reste celui de la communauté : deux jours de sprints, deux jours de conférences et d'ateliers, entrée gratuite financée par les sponsors (PSF, EuroPython Society, Kraken, Alma, Entr'ouvert, Makina Corpus…). L'assemblée générale donne la mesure de l'effort : environ 364 inscrits pour 280 badges pointés, des sponsors plus rares (« pas de budget, on ne recrute pas »), une inflation d'environ 20 % sur la nourriture, 25 demandes de bourses pour 3 400 € accordés, et un résultat qui se jouera « sur un mouchoir de poche ». Côté participants, l'ambiance ressort surtout en creux sur Mastodon : « super ambiance » (SlowKat69), la file au food truck et la zone calme détournée pour des appels en haut-parleur (Ash_Crow).
2. Le cœur du programme : la qualité du code au quotidien
Le fil le plus dense de l'édition est très concret. Deux talks se répondent sur le problème N+1 des ORM (Roxane Bellot côté Django, Carmen Alvarez en comparant Django et SQLAlchemy), avec la même conclusion : rendre visibles les requêtes et les verrouiller par des tests. Le pass Culture montre comment migrer un schéma PostgreSQL en pleine journée grâce à deux branches Alembic et au linter Squawk. Philippe Gregoire plaide pour pytest et une couverture vue comme un plancher, Julien Lenormand rappelle par l'exemple d'une mission Python 2 que, sans tests, on ne peut rien porter. Le seul « TIL » relayé sur Mastodon vient d'ailleurs de ce registre (connection.queries, mdk).
3. Comprendre la machine : packaging, venv, imports, CPython
Plusieurs sessions démontent les mécanismes que l'on utilise sans y penser : ce que contient un virtualenv et ce qu'est une wheel (Denis Viviès), les finders et loaders du système d'import (Antoine Rozo), la nouvelle API sys.monitoring de Python 3.12 vue par un développeur JVM (Johannes Bechberger). La plénière de Françoise Conil élargit le sujet au packaging dans la recherche publique, chiffres à l'appui (110 000 pyproject.toml analysés), avec une réserve sur la dépendance à des outils portés par une seule personne ou financés par une levée de fonds (uv). Victor Stinner présente Python 3.13, dont mrjmad retient « le début de la fin du GIL ». Rust apparaît comme le moteur caché d'une partie de l'outillage (Ruff, uv, Polars, pydantic-core), présenté par Guillaume Fassot.
4. L'IA générative, abordée par la sobriété
Contrairement à beaucoup de conférences de 2024, l'IA reste ici périphérique et critique. Ines Montani défend en plénière l'idée de distiller les LLM en petits composants spécialisés, rapides et hébergés en interne, plutôt que de tout confier à un modèle de bout en bout ; petitlepton salue des slides « top notch ». Reynald Rivière et Camille Hascoët proposent une étiquette énergétique des approches, de « pas d'IA » à « LLM », et des techniques chiffrées de réduction (quantisation, pruning, distillation). Les deux talks convergent : mesurer d'abord, et choisir le plus petit outil qui fait le travail.
5. L'inclusion, sujet assumé par les organisateurs
Les trois plénières ont été confiées à des femmes, « choix délibéré » selon le rapport de transparence. Houleymatou Baldé ouvre la conférence en récusant l'injonction « il faut oser », Isra Chahrazed Goumiri décrit le « seau qui fuit » des carrières féminines, et Léa Coston relie sécurité psychologique et performance des équipes, un talk auquel Agnès Haasser renvoie dans le sien. L'organisation suit : garderie gratuite (peu utilisée selon l'AG), déjeuner PyLadies, aide aux propositions de talks pour les minorités. Les chiffres progressent lentement : 23 % d'oratrices en conférence (contre 10 % en 2018), environ 17 % de participantes estimées.
6. L'erreur et l'apprentissage comme sujets techniques
Une veine plus personnelle traverse le programme : la « tempête de boulettes » d'Agnès Haasser, talk le plus commenté de l'édition (« le contenu, le ton, l'humour et les excellents conseils », petitlepton ; « on fait tous des boulettes », Sarah Abderemane), la reconversion et la remise en question de Yann Bouvet (« jamais trop tard pour redevenir junior »), et le guide de Stefanie Molin pour faire sa première contribution open source. Le message commun : rendre les erreurs collectives et racontables plutôt que honteuses.
7. Tensions et critiques
- Comportements en salle : le rapport de transparence relève deux incidents qualifiés de mineurs, dont une oratrice interrompue à plusieurs reprises par un homme du public ; plusieurs répondants au sondage décrivent des coupures de parole lors de talks donnés par des femmes. Ash_Crow déplore aussi, le dimanche après-midi, une remarque du public laissée passer au micro (« l'animation de salle ne devrait pas reposer sur les speakers »). L'AFPy en tire une règle pour la suite : rappeler en ouverture qu'une question est une question.
- Sponsoring et climat : un participant a lancé en plein amphi un propos méprisant envers Gandi, sponsor principal, ce qui a entraîné un rappel de la charte (rapport de transparence).
- Vidéos tardives et incomplètes : publication à partir de janvier 2025, indexation PyVideo fin mai 2025 seulement, et une conférence (covariance) perdue pour un problème de son (discuss.afpy.org).
- Économie fragile : moins de sponsors, plus de demandes de bourses, peu de bénévoles en amont (AG).
8. Biais du corpus
Les retours de participants sont rares : une trentaine de pouets Mastodon, souvent limités à « je suis dans telle salle », aucun post LinkedIn ni billet de blog post-événement trouvé. La synthèse s'appuie donc surtout sur les transcripts automatiques des vidéos et sur des documents de l'organisation (rapport de transparence, AG), qui reflètent le point de vue des organisateurs. Les ateliers, les sprints et les lightning talks échappent entièrement au corpus.
Actions concrètes citées
- Compter ses requêtes ORM :
select_related/prefetch_relatedcôté Django,joinedload/selectinloadcôté SQLAlchemy, et verrouiller le résultat par un testassertNumQueries(Roxane Bellot, Carmen Alvarez). - Supprimer une colonne en un seul déploiement grâce à deux branches Alembic « pre » et « post »,
lock_timeoutcourt avec retries, indexCONCURRENTLYet linter Squawk en CI (pass Culture). - Distinguer visuellement les environnements (violet en local, orange en pré-prod, rouge en prod) et ne jamais rester seul face à un incident : une personne agit, une relit, une communique (Agnès Haasser).
- Packager même un petit projet de recherche : structure
src/,pyproject.tomlminimal,pip install -e, tags git annotés, TestPyPI avant PyPI (Françoise Conil). - Mesurer avant d'optimiser une IA (CodeCarbon) et envisager quantisation, pruning, distillation ou un petit modèle fine-tuné avant un LLM ; « la meilleure façon de ne pas faire consommer nos IA, c'est de ne pas en utiliser » (Rivière, Hascoët).
- Utiliser le LLM pour prototyper et annoter, puis le distiller en composants petits, rapides et hébergés en interne (Ines Montani).
- Sans tests ni CI, impossible de migrer : « si tu n'as pas de tests tu ne peux pas porter ton application » (Julien Lenormand, encore en Python 2 en 2024).
- Pour contribuer à l'open source : partir des projets qu'on utilise, des sprints, de la doc et des vieilles issues ; « aucune contribution n'est trop petite » (Stefanie Molin).
- Installer la sécurité psychologique dans l'équipe (oser dire « hier, je n'ai rien fait » en daily) plutôt que de faire semblant de savoir (Léa Coston).
- En conférence, une question est une question, pas une remarque : le rapport de transparence demande de le rappeler dès l'ouverture, après des interruptions d'oratrices.
Session par session
Samedi 2 novembre
Keynote▶ vidéo + transcript
De villageoise à l'itWoman… Quelles actions pour faire de mon rêve TECH une réalité ?
Houleymatou Baldé
Retours : mrjmad (Mastodon), jmny (Mastodon)
- Récit de parcours : orpheline dans un village du nord de la Guinée, scolarisée grâce à une cotisation du village, théâtre militant (excision, mariage précoce), puis diplômée à Lyon en 2016 ; aujourd'hui lead technique dans un éditeur lyonnais (transcript).
- Chiffres cités sur scène : 16 % de femmes dans le développement, 50 % des femmes quittent l'informatique avant 35 ans, moins de 10 % des DSI sont des femmes.
- Contre l'injonction « il faut oser », qui fait porter l'inégalité aux femmes : six leviers proposés (éduquer, responsabiliser, promouvoir, expérimenter, communiquer, inclure), dont réagir aux propos sexistes et nommer des femmes à des postes techniques de haut niveau plutôt que les pousser vers la gestion de projet.
- Formule de fin : « Notre différence, c'est notre force. »
- Réception : une keynote « à voir et écouter absolument » (mrjmad).
Conférence▶ vidéo + transcript
Nouveautés de Python 3.13
Victor Stinner — Red Hat
Retours : mrjmad (Mastodon), mdk (Mastodon), jmny (Mastodon)
- Free-threading (PEP 703), encore expérimental : démo Fibonacci sur 12 threads ramenée de 33,6 s à 14 s, mais mode plus lent en monothread. Retenu par mrjmad comme « le début de la fin du GIL ».
- JIT expérimental « copy-and-patch » (PEP 744), désactivé par défaut : environ 1,5 fois plus rapide sur un crible d'Ératosthène.
- Confort : messages d'erreur qui suggèrent de renommer un script masquant un module (
random.py), nouveau REPL coloré avec historique multiligne,python -m random(mdk en a retenu le pierre-feuille-ciseaux). - Plateformes : WebAssembly passe au niveau de support 2, Android et iOS entrent au niveau 3.
- Dette technique : suppression des « dead batteries » de la PEP 594 (cgi, crypt, nntplib…) et de 263 fonctions privées de l'API C.
Conférence▶ vidéo + transcript
Comment et pourquoi (bien) tester en Python
Philippe Gregoire
- Pourquoi tester : prouver la conformité (y compris en recette contractuelle), détecter les régressions, sécuriser les refactorings ; pyramide des tests et coût croissant vers le haut.
- Couverture : 100 % sur l'unitaire, ou au minimum ne jamais faire baisser le taux sur du legacy. « Le 100% de coverage, c'est juste un minimum. »
- pytest plutôt qu'unittest pour un nouveau projet :
assertintrospectif, fixtures avec scope (tmp_path,capsys), tests paramétrés, centaines de plugins. - Mocking : monkey patching contre injection de dépendances ; bouchonner les appels aux LLM, qui ne répondent « jamais deux fois la même chose ».
- Au-delà des tests : typage, linting, scanners de secrets. Démo VS Code écourtée faute de temps.
- Aucun retour participant trouvé : résumé tiré du seul transcript.
Conférence▶ vidéo + transcript
IA, potion ou poison ?
Reynald Rivière, Camille Hascoët
- L'IA comme pharmakon : distinguer l'« AI for green » (optimiser une logistique) de la « green AI » (éco-concevoir le modèle). Environ 90 % de la consommation d'une IA a lieu en production.
- Constats : les papiers de recherche publient la performance, jamais la consommation ; en compétition, on double le CO2 pour quelques centièmes.
- Étiquette énergétique des approches, de A+ (pas d'IA) à X (LLM), à mettre en regard de la criticité du cas d'usage. « La meilleure façon de ne pas faire consommer nos IA, c'est de ne pas en utiliser. »
- Quatre techniques chiffrées : quantisation 32 → 8 bits (consommation divisée par 3), petit modèle fine-tuné (Phi-3 à 85 % contre 72 % pour Mistral en détection de toxicité), pruning, distillation (jusqu'à 96 % de taille en moins pour environ 3 points de précision).
- Obsession de la mesure avec CodeCarbon. Résumé tiré du seul transcript, sans retour participant.
Conférence
Covariance de type, contravariance et aspirine
Samuel de Framond
Retours : mdk (Mastodon), petitlepton (Mastodon), jmny (Mastodon)
- Conférence longue sur la variance des types génériques en Python typé.
- Le titre a tenu sa promesse : « #need aspirine » (mdk), qui relaie l'exemple piège du talk : est-il sûr d'ajouter un
Fruità unelist[Banana]? - petitlepton dit ajouter cette définition de la covariance « à celles de la statistique et de la physique ».
- Pas de vidéo : l'enregistrement a souffert d'un problème de son et n'a pas été publié (Lucie Anglade, discuss.afpy.org, septembre 2025).
Conférence▶ vidéo + transcript
Je fais encore du Python 2 en 2024…
Julien Lenormand — Kaizen Solutions
- Une mission « Python » acceptée en 2022 s'est révélée être du Python 2. Sondage en salle : environ 80 % en ont déjà fait, une dizaine de pourcents depuis moins d'un an.
- Rappel historique : 2.7 en 2010, PEP 404 (pas de 2.8), fin de vie repoussée à 2020 ; adoption de Python 3 sous les 80 % encore en 2018 (JetBrains).
- Poches de résistance : Ubuntu 18 supporté jusqu'en 2028, PyPy, ActiveState, le fork Tauthon ; 6 % des développeurs Python feraient encore du Python 2 (sondage JetBrains 2023).
- Diagnostic : « si tu n'as pas de tests tu ne peux pas porter ton application ». Sans CI ni environnement maîtrisé, on reste prisonnier de son code.
- Résumé tiré du seul transcript.
Conférence▶ vidéo + transcript
Tempête de boulettes géantes – le retour
Agnès Haasser — Hashbang
Retours : petitlepton (Mastodon), Sarah Abderemane (Mastodon), Ash_Crow (Mastodon), mrjmad (Mastodon)
- Point de départ : sa suppression accidentelle d'un index Elasticsearch d'un million d'enregistrements en 2018 (une ligne vide dans un fichier d'IDs), sans sauvegarde.
- Sondage de 195 réponses : environ trois quarts des boulettes causent indisponibilité ou perte de données ; plus d'un tiers viennent d'interventions directes en prod.
- Prévention : ne pas rester seul (revue, pair, « canard » humain), automatiser, couleur par environnement (rouge en prod), et une « barrière de potentiel de flemme » qui rend la prod pénible d'accès sans la rendre impossible.
- Réponse à incident : « protéger, alerter, secourir », au moins trois rôles (agir, relire, communiquer), post-mortem factuel ; une boulette est rarement individuelle. « Ne restez pas toute seule avec votre boulette. »
- Réception très chaleureuse : « le contenu, le ton, l'humour et les excellents conseils » (petitlepton) ; « on fait tous des boulettes, moi compris » (Sarah Abderemane) ; Ash_Crow relaie « les pires journées font les meilleures histoires ».
Conférence▶ vidéo + transcript
Tout ce que vous ne vouliez pas savoir sur le DNS... en Python
Arthur Vuillard — Hashbang
Retours : jmny (Mastodon, simple mention)
- Contexte : Le Bureau, bureau d'enregistrement coopératif lancé après le rachat de Gandi, avec un sprint pendant PyConFR (speaker).
- Bases du DNS avec dnspython (A/AAAA, MX, CNAME, TTL, reverse DNS), puis une résolution itérative codée à la main de la racine au serveur faisant autorité, et un serveur DNS en nserver qui renvoie le titre du talk en cours.
- Économie du nommage : un .fr coûte un peu moins de 6 € au registre, l'accréditation ICANN demande plus de 70 000 $ de trésorerie.
- Vie privée et censure : blocage de sites par les résolveurs des FAI, recommandation d'un résolveur neutre en DoH ou DoT. « Demander une information sur un nom de domaine, ça en dit beaucoup sur la personne qui demande. »
Conférence▶ vidéo + transcript
À la découverte de la communauté libre autour de l'outil de gestion Odoo
Virginie Dewulf — OCA, Pierre Verkest
Retours : Virginie Dewulf (speaker, Mastodon)
- Fil rouge : l'informatisation d'un supermarché coopératif bruxellois (environ 4 000 membres) avec Odoo Community et les modules de l'OCA, par choix de coût, de maîtrise des données et de logiciel libre.
- Open core : depuis la v9 (2015), Odoo réserve des fonctions à l'édition Enterprise ; l'OCA (Odoo Community Association) publie en LGPL ou AGPL.
- Chiffres OCA : environ 1 400 contributeurs GitHub, 8 000 PR fusionnées en 2023, 238 dépôts, plus de 500 membres individuels en 2024 ; deux relectures obligatoires par PR, runbot, publication des modules sur PyPI.
- Démo d'un module Odoo 18 ; les migrations entre versions restent « très compliquées », d'où le projet OpenUpgrade financé par l'OCA.
- Virginie Dewulf avait annoncé venir de Bruxelles pour présenter la communauté (speaker).
Conférence▶ vidéo + transcript
Optimizing SQL Queries in Django and SQLAlchemy: Tackling the N+1 Problem with ORMs
Carmen Alvarez — Genymobile
- Démo sur 100 films : le chargement paresseux produit 101 requêtes, jusqu'à 301 sous Django et 227 sous SQLAlchemy pour la page complète.
- SQLAlchemy en fait moins sur certaines relations grâce à l'identity map de la session.
- Correctifs :
select_related/joinedloadpour le one-to-one et le many-to-one,prefetch_related/selectinloadpour le many-to-many ; on retombe à 1 ou 2 requêtes, au prix de données dupliquées. - Tests anti-régression :
django_assert_num_queries(pytest-django) etget_recorded_queries(Flask-SQLAlchemy). - « Les ORM sont un peu magiques […] mais cette magie peut aussi poser problème » (trad.). Résumé tiré du seul transcript.
Conférence▶ vidéo + transcript
Python 3.12's New Monitoring and Debugging API
Johannes Bechberger — SAP
- Un développeur OpenJDK écrit un débogueur Python de zéro : d'abord
sys._getframe(), puissys.settrace, appelé à chaque ligne et coûteux. - Cœur du talk : PEP 669 (
sys.monitoring), avec identifiants d'outils, événements activables globalement ou par fonction, retourDISABLE(utile pour la couverture) et instrumentation du bytecode. - Benchmark :
settracemultiplie le temps d'exécution par 3,5 en moyenne (jusqu'à 12), contre environ 20 % de surcoût avecsys.monitoringsans handler de ligne. - PyCharm et VS Code l'utilisent déjà, pas encore pdb. Résumé tiré du seul transcript.
Conférence▶ vidéo + transcript
Rust pour les développeurs Python : Avantages et intégration
Guillaume Fassot
- Thèse : Rust en back-end, Python en front-end, deux langages aux forces complémentaires (ownership et borrow checker, sans ramasse-miettes).
- L'écosystème Python s'écrit déjà en Rust : Ruff, uv, Polars, pydantic-core. Benchmark maison : pas d'écart net entre Polars et pandas sous 1 Go, Polars nettement devant au-delà ; préférer Parquet au CSV.
- Intégration recommandée via PyO3 et maturin ; démo d'un Fibonacci 25 fois plus rapide qu'en Python pur.
- Freins assumés : courbe d'apprentissage et sévérité du compilateur. « Si vous voulez écrire un POC avec Rust, bon courage quand même. » Résumé tiré du seul transcript.
Conférence▶ vidéo + transcript
Il n'est jamais trop tard pour redevenir junior
Yann Bouvet — Shodo
- Avec 5 ans d'expérience, il rate un entretien où on le juge « trop junior » faute de pratiquer le TDD : « un parpaing de lucidité ».
- Méthode d'apprentissage : demander du feedback, trier les ressources selon fiabilité et accessibilité, trouver « ses experts » un peu en avance (meetups Python et Software Crafters à Lyon), pratiquer pair et mob programming.
- Objectifs à trois horizons (1 à 2 ans, 6 mois, une demi-journée), relecture active à 24-48 h : il y reconnaît après coup la roue de Deming (PDCA).
- Aujourd'hui « relais craft » en mission (event storming, TDD en mob). Résumé tiré du seul transcript.
Conférence▶ vidéo + transcript
Mettre à jour le schéma d'une vaste base de données sans downtime et sans stress
Corentin Normant — pass Culture, Damien Ramelet — pass Culture
- Contexte pass Culture : une quarantaine de développeurs, une mise en production par semaine, environ 10 millions de requêtes HTTP par jour, stack Flask, SQLAlchemy, Alembic et PostgreSQL.
- Deux branches Alembic : « pre » (compatible avec le code en production) avant le déploiement, « post » après ; une colonne se supprime en un seul déploiement, pratiqué depuis un an et demi.
- Verrous :
lock_timeoutcourt avec 30 retries,CREATE INDEX CONCURRENTLY, contraintesNOT VALIDvalidées après déploiement, mises à jour massives par lots d'environ 1 000 lignes. - Linter Squawk en pre-commit et en CI, job qui teste upgrade puis downgrade.
- « On passe chaque semaine des migrations en production, en pleine journée, sans downtime et sans stress. Presque. » Résumé tiré du seul transcript.
Conférence▶ vidéo + transcript
Zero Python
Dorian Turba, Karine Bauch
- Outil né en école d'ingénieurs pour enseigner l'algorithmique en Python sans enseigner Python :
len,range,sorted, les méthodes, les imports,foroutrysont interdits. - Il s'appuie sur l'AST pour détecter et retirer les éléments interdits, exécuter le reste et produire des rapports ; il a servi à corriger 600 programmes de 150 étudiants.
- Effet de bord assumé : quasi aucun code public n'existe sous ces contraintes, donc ChatGPT échoue (il réutilise
lenou contourne par__len__, aussi bloqué). - Puzzle joué avec la salle : ajouter 4 à
[1, 2, 3]sansappend. Résumé tiré du seul transcript.
Conférence▶ vidéo + transcript
La mécanique des imports
Antoine Rozo
- Démo en notebook, partie de l'envie d'« importer un PNG » pour un interpréteur du langage Piet.
- Bases :
importlib.import_module, cachesys.modules,sys.pathqui accepte des zips. « Souvent quand on en vient à manipuler le sys.path c'est qu'on fait une connerie. » - Finders et loaders :
find_spec,ModuleSpec,exec_module,path_hooks,meta_path. - Détournements ludiques : import depuis un
.tar.gz, un « Python++ » avecx++, des modules en ROT13, un finder qui faitpip installà la volée. Résumé tiré du seul transcript.
Keynote▶ vidéo + transcript
Recherche des bonnes pratiques de packaging
Françoise Conil — CNRS (LIRIS)
Retours : Françoise Conil (speaker, Mastodon et slides)
- Point de vue de la recherche publique, où la moitié des logiciels ont 2 à 5 contributeurs : packager sert la distribution et la reproductibilité ; éviter
sys.path.insert. - Processus minimal : structure
src/,pyproject.tomlminimal,pip install -e. - Pièges : nom installé contre nom importé, normalisation des versions, tags git annotés (l'interface GitHub crée des tags légers qui ont cassé un plugin setuptools), TestPyPI avant PyPI, suppression de version irréversible.
- Étude de 110 000
pyproject.tomlfin 2023 : setuptools domine (environ la moitié), puis Poetry ; Flit, Hatch et PDM reposent surtout sur une personne. Réserve sur uv (financé par une levée de fonds) et rappel du passage d'Anaconda au payant. - Slides publiées par la speaker le 22 novembre 2024.
Dimanche 3 novembre
Keynote▶ vidéo + transcript
Reality Is Not an End-to-End Prediction Problem: Applied NLP in the Age of Generative AI
Ines Montani — Explosion
Retours : petitlepton (Mastodon), jmny (Mastodon, simple mention)
- Thèse : utiliser le LLM pour prototyper et aider à annoter, puis le distiller en composants petits et spécialisés (modulaires, rapides, hébergés en interne), avec un humain dans la boucle (spaCy, Prodigy, spacy-llm).
- Cas S&P Global : 8 pipelines en production, précision jusqu'à 99 %, modèles de 6 Mo, environ 16 000 mots par seconde.
- « Refactorer » les données comme le code : séparer la logique métier de ce qui relève de la langue ; le RAG est flexible mais monolithique.
- Image du knocker-upper : on l'a remplacé par le réveil, pas par une machine à frapper aux fenêtres. « You don't want to build a window knocking machine, you want to build an alarm clock. »
- Réception : « de belles slides », une présentation « top notch » (petitlepton, trad.).
Conférence▶ vidéo + transcript
Getting Started with Open Source Contributions
Stefanie Molin — Bloomberg
- Mainteneuse de numpydoc : pas besoin d'être expert, les débutants voient les pièges que les experts ne voient plus.
- Trouver quoi faire : lister les projets qu'on utilise, filtrer par licence, activité, taille, stack et accès au dépôt.
- Cinq stratégies graduées : sprints, exemples de documentation, issues étiquetées (et vieilles issues, les labels « easy »/« hard » sont subjectifs), correction de bug, nouvelle fonctionnalité (son hook pre-commit lui a valu d'être invitée comme core developer).
- Commenter l'issue avant de commencer, rester patient avec des mainteneurs bénévoles. « Aucune contribution n'est trop petite » (trad.). Résumé tiré du seul transcript.
Conférence▶ vidéo + transcript
Les gens ne savent pas ce qu'ils font, la plupart du temps !
Léa Coston
Retours : mrjmad (Mastodon, simple mention), Agnès Haasser (renvoi depuis son talk)
- Développeuse reconvertie, elle constate que chaque équipe croit connaître « la bonne manière », jamais la même : « la plupart des gens, la plupart du temps, ne savent pas ce qu'ils font, et font juste comme si ».
- Les dailies où l'on gonfle son activité ne relèvent pas de la paresse mais de peurs interpersonnelles ; oser dire « hier, je n'ai rien fait » a révélé une surcharge cognitive et des tickets trop gros.
- Appui sur la sécurité psychologique (Amy Edmondson, The Fearless Organization) : ni gentillesse ni complaisance, mais « trouver des solutions et pas des boucs émissaires ».
- Déconstruction du mythe du développeur génial et solitaire ; les soft skills sont des compétences à évaluer autant que la technique.
- Agnès Haasser y renvoie explicitement dans son propre talk sur les incidents.
Conférence▶ vidéo + transcript
Petit manuel de déminage de l'ORM Django
Roxane Bellot
Retours : mdk (Mastodon)
- L'ORM cache la base, donc les problèmes de performance sont invisibles : observer avec
connection.queries(enDEBUG=True), un helper dans sonPYTHONSTARTUP, la Django Debug Toolbar. mdk en a fait son « TIL ». - Laziness et cache des QuerySets : savoir ce qui déclenche une requête (
first(),get(),list()) et quand le_result_cacheest vidé. len()contre.count(),if qscontre.exists(): aucun n'est meilleur dans l'absolu, cela dépend de l'usage des données ensuite.- N+1 :
select_relatedpour une relation simple,prefetch_relatedpour les relations multiples,annotatepour un simple compte. - Tests avec
CaptureQueriesContextetassertNumQueries. « Le nombre de requêtes c'est qu'un indicateur » : dans le doute, on mesure.
Conférence▶ vidéo + transcript
Faire du gRPC simplement avec Django
Léni Gauffier, Adrien Montagu
- Contexte : découper un monolithe en services avec de gros payloads (rapports PDF de 90 à 110 pages). Comparaison REST, WebSocket, event-driven et gRPC (HTTP/2, Protobuf, contrat obligatoire).
- Présentation de la bibliothèque django-socio-grpc : ProtoSerializers et services à la manière de DRF, génération des
.proto(à vérifier en CI avec--check). - Gains annoncés : requête front de 2 s à 1,4 s ; HTTP classique et gRPC peuvent cohabiter pour migrer progressivement.
- Côté web, proxy Envoy requis et streaming serveur seulement. Un seul orateur audible dans la vidéo ; résumé tiré du seul transcript.
Conférence▶ vidéo + transcript
Qu'est-ce qu'il y a dans un virtualenv?
Denis Viviès — Foodles
activatene fait que placervenv/binen tête duPATH; en cas de doute, appeler directementvenv/bin/python.- Anatomie d'un venv (
pyvenv.cfgqui changesys.prefix,site-packages), puis recréation d'un venv en bash en suivantEnvBuilderetensurepip. - Une wheel est un zip standardisé : décodage de son nom (le
tdu free-threading 3.13),dist-info, front-end et back-end de build. - Tour des outils (pyenv, pipx, pip-tools, Poetry, pex, uv, utilisé en production chez Foodles depuis peu). « Finalement installer des packages ça ressemble juste à faire un unzip et à faire un move. » Résumé tiré du seul transcript.
Conférence▶ vidéo + transcript
The Leaking Bucket: Women in Tech
Isra Chahrazed Goumiri
Retours : mrjmad (Mastodon, simple mention)
- La métaphore du seau qui fuit : environ 20 % de femmes dans les STEM en France, puis des départs à chaque étape (études, première année, mi-carrière), jusqu'à 3 % aux postes de direction (chiffres cités sur scène).
- Causes avancées : jouets genrés, stéréotypes, manque de modèles et de mentors, conciliation des temps de vie.
- Leviers : s'entraider et s'auto-promouvoir, politiques d'entreprise (congés, horaires flexibles), communautés comme PyLadies, ateliers gratuits pour enfants et éducateurs.
- Questions-réponses nourries sur le harcèlement et les questions illégales en recrutement. Résumé tiré du transcript ; talk court, de l'aveu même de l'oratrice.
Conférence▶ vidéo + transcript
What Streamlit Can and Can't (or Shouldn't) Do
Yuichiro Tachibana
Retours : mrjmad (Mastodon, simple mention)
- Principe clé : le script est réexécuté de haut en bas à chaque interaction, sans callbacks ; mise en page et thème imposés, une contrainte qui simplifie.
- Bons cas : UI dynamique ou conditionnelle, visualisation de données (un uploader CSV avec tableau et graphique en une quinzaine de lignes), tableaux de bord rafraîchis.
- Limites : grosses pages, flux par polling, sources événementielles, interfaces riches type glisser-déposer ; pour une UI posée sur une seule fonction, Gradio est jugé plus adapté.
- « Streamlit vous donne facilement une UI/UX quatre étoiles, mais vous prive d'une UI/UX cinq étoiles sur mesure » (trad.). Résumé tiré du transcript.
Sessions sans retour trouvé (33)
- Teaching Children Python – What Works? (Mykalin Jones, vidéo)
- Wagtail : un CMS puissant pour les sites web modernes (Thevenel Joazard)
- Easy Service to Service Communication Using Pydantic Models (Michal Korbela, vidéo)
- Garantir la robustesse du CI/CD des BDD relationnelles avec SQLAlchemy et Alembic (Léo Ecrepont, vidéo)
- Anatomy of a Python OpenTelemetry instrumentation (Riccardo Magliocchetti, vidéo)
- Pythonade – Humour en Python (Melcore, vidéo)
- Programming and Philosophy: Beyond the Code (Lorenzo Mele, vidéo)
- Pathlib, mangez-en ! (HS-157, vidéo)
- Quelques challenges techniques rencontrés sur l'auto instrumentation (Christophe Papazian)
- Sparse Dataframes, a Memory Must (Michel Klüger, vidéo)
- Introduction à l'apprentissage automatique avec scikit-learn (Pénélope Gittos, vidéo)
- Duckdb for Data Scientists (Sara Iris Garcia, vidéo)
- Python et Kedro au service de l'agriculture de précision (Flavien Lambert, Paul Arnaud, vidéo)
- Intégrer un CMS aux applications Django avec Wagtail (Darko Stankovski, vidéo ; simples mentions Mastodon de mrjmad et Ash_Crow)
- Une application versionnée automatiquement (David Rigaudie, vidéo)
- Dédé ! Des dés aux données (Antoine Rigoureau, vidéo)
- Impostor Syndrome in Tech (Paweł Zajączkowski, vidéo)
- Confidentialité des bases de données médicales avec synthcity (Clément Benoist, vidéo)
- Retour d'expérience : on a créé notre SaaS avec le CMS Wagtail (SebCorbin, Tristan Benier ; simple mention Mastodon d'Ash_Crow)
- SLM – School Library Management (Georges Khaznadar, vidéo)
- Une stack ML complète avec Kedro et MLflow (Anis Smail, vidéo)
- Visual Data Storytelling with Blender and Python (Neeraj Pandey, vidéo)
- Vos variables de configurations, le menu Rougail - Tiramisu (Emmanuel Garette)
- Django FTL: Resolving Bottlenecks on the Path to High Performance (Maxim Danilov, vidéo)
- Python et éducation : bien, mais peut mieux faire… (Claude Simon)
- Créez une app mobile hybride avec Turbo Native et Strada (Thierry Chappuis)
- Python WebServer : du WSGI à ASGI (Guillaume Fassot, vidéo)
- Django-Oscar, retour d'expérience sur un site marchand en Python (Julie Rymer, vidéo)
- DBnomics : un agrégateur de données économiques en Python (Christophe Benz, vidéo)
- Lightning talks « C'est vous qui choisissez ! »
- Ateliers (OpenTelemetry, pandas, animation de communauté, Wagtail, web app data science, Make Open Data, jeux vidéo, microservices Flask, HARP Proxy)
- Sprints des 31 octobre et 1er novembre (dont traduction de la documentation Python et Le Bureau)
- Déjeuner PyLadies
Sources
- Site officiel PyConFR 2024 (nouvel onglet) ↗
- Planning complet (nouvel onglet) ↗
- Actualités PyConFR 2024 (keynotes, rapport de transparence) (nouvel onglet) ↗
- Vidéos : chaîne Indymotion (PeerTube) PyConFR 2024, 50 vidéos (nouvel onglet) ↗
- Vidéos indexées sur PyVideo (nouvel onglet) ↗
- Rapport de transparence du code de conduite (AFPy, 13 nov. 2024) (nouvel onglet) ↗
- Discourse AFPy : rapport de transparence de la PyConFR 2024 (nouvel onglet) ↗
- Discourse AFPy : vidéos PyConFR 2024 (dont la vidéo non publiée) (nouvel onglet) ↗
- LinuxFr : PyConFR 2024, planning et inscriptions (nouvel onglet) ↗
- Slides Nouveautés de Python 3.13 (Victor Stinner) (nouvel onglet) ↗
- Slides Recherche des bonnes pratiques de packaging (Françoise Conil) (nouvel onglet) ↗
- Vidéo de l'assemblée générale de l'AFPy 2024 (nouvel onglet) ↗
- Pouets Mastodon #pyconfr / #pyconfr2024 lus (31 oct. au 5 nov. 2024) : mrjmad, jmny, Ash_Crow, mdk, petitlepton, Sarah Abderemane, pawamoy, vdew (Virginie Dewulf), SlowKat69, Raphipons, fcodvpt (Françoise Conil)