Programme de la PyConFR 23

Posté par  . Édité par Benoît Sibaud, Pierre Jarillon et ted. Modéré par ted. Licence CC By‑SA.
Étiquettes :
15
3
fév.
2023
Python

La PyConFR, l'évènement de la communauté francophone du langage de programmation python, aura lieu du 16 au 19 février à Bordeaux. L'évènement est gratuit mais l'inscription au préalable est obligatoire.

PyConFR du 16 au 19 février à Bordeaux

Le programme vient de paraître, le sommaire des conférences, des ateliers et des sprints vous attend dans la suite de cette dépêche.

Conférence & Atelier PyConFr - du 16 au 19 février 2023 à Bordeaux

Posté par  . Édité par Ysabeau, Xavier Teyssier et palm123. Modéré par Ysabeau. Licence CC By‑SA.
12
24
nov.
2022
Python

Quatre journées consacrées au langage Python, la PyConFr revient après deux ans d’absence pour proposer des Sprints, où l’on se retrouve à l’Université de Bordeaux pour coder ensemble le jeudi et vendredi, et des conférences le week-end afin de découvrir les expériences de chacun avec le langage Python.

L’accès est gratuit, ouvert à toutes et tous, cependant l’inscription préalable est nécessaire.

PyConFr 2023 du 16 au 19 février à Bordeaux

Des nouvelles de WeasyPrint, ou comment développer du libre à (presque) plein temps

Posté par  . Édité par Benoît Sibaud, Xavier Teyssier et Ysabeau. Modéré par Ysabeau. Licence CC By‑SA.
Étiquettes :
92
22
sept.
2022
Python

WeasyPrint est un générateur de documents qui transforme du HTML/CSS en PDF. C’est écrit en Python, c’est libre (bah oui, sinon on n’en parlerait pas ici), et nous en avions déjà discuté ici il y a quelques années dans un petit article.

Avec le temps (plus de 11 ans depuis le premier commit, que le temps passe vite ma p’tite dame…), le logiciel a gagné une sacrée ribambelle d’utilisateurs avec plus de 750 000 téléchargements par mois. Parmi tous ces gens qui utilisent WeasyPrint, on a forcément rencontré plein de gens avec plein d’idées pour générer plein de drôles de trucs ! Nous avons croisé entre autres des rapports de sécurité informatique 🖥️, des livres de jeu de rôle 🎮️, des tickets 🎫️, des documents scientifiques 🧮️, des factures de sites de vente en ligne 📄️, des compte-rendus biologiques ⚛️, des modes d’emploi de fours 🧑‍🍳️, des lettres officielles 💌️, des étiquettes électroniques 🏷️, des affiches promotionnelles en pharmacies ⚕️, des diplômes universitaires 🎓️…

Forts de ce petit succès, Lucie Anglade et moi (Guillaume Ayoub) avons créé depuis deux ans une structure qui s’appelle CourtBouillon (oui, parce que notre autre passion est la bonne nourriture) dédiée au développement de WeasyPrint et de ses dépendances. Nous avons donc pu passer beaucoup de temps à travailler sur le logiciel et apporter plein de nouveautés, tout en nous posant beaucoup de questions pour assurer un modèle économique viable. Voilà ce que l’on aimerait partager avec vous.

PyPI déploie le système 2FA pour les projets critiques écrits en Python

Posté par  . Édité par Benoît Sibaud, Xavier Teyssier et palm123. Modéré par Pierre Jarillon. Licence CC By‑SA.
Étiquettes :
22
16
juil.
2022
Python

PyPI (de l’anglais « Python Package Index ») est le dépôt tiers officiel du langage de programmation Python. Son objectif est de doter la communauté des développeurs Python d’un catalogue complet recensant tous les paquets Python libres.
Google, par l’intermédiaire de l’Open Source Security Foundation (OpenSSF) de la Linux Foundation, s’est attaqué à la menace des paquets malveillants et des attaques de la chaîne d’approvisionnement des logiciels open source. Elle a trouvé plus de 200 paquets JavaScript et Python malveillants en un mois, ce qui pourrait avoir des « conséquences graves » pour les développeurs et les organisations pour lesquelles ils écrivent du code lorsqu’ils les installent.
PyPI déploie le système 2FA (pour double authentification ou authentification à deux facteurs) pour les projets critiques écrits en Python.

Environnement moderne de travail Python

Posté par  . Édité par palm123, Pierre Jarillon, Ysabeau, Nils Ratusznik et ted. Modéré par Ysabeau. Licence CC By‑SA.
Étiquettes :
22
28
mai
2022
Python

Environnement moderne de travail Python

Si vous développez ou utilisez des programmes s’exécutant au-dessus de l’interpréteur Python, il peut arriver que vous vous retrouviez avec un environnement très dégradé sur votre poste de travail..

Je propose ici de découvrir un ensemble d’outils permettant de configurer des environnements Python qui vous éviteront de polluer votre système ou vos futurs environnements de développement. En effet, entre votre système Linux et les multiples projets de développement sur lequel vous travaillez vous avez souvent besoin d’interpréteur Python dans des versions différentes ou de librairies dans des versions particulières.

Dans ce guide, nous allons voir comment installer un environnement Python répondant aux cas d’usage suivants :

  • gestion facile de multiple versions de l’interpréteur Python ;
  • isolation d’applications CLI basées sur Python ;
  • création d’environnements de développement isolés les uns des autres.

Python pour la fin de l’année 2021

Posté par  (site Web personnel, Mastodon) . Édité par Nils Ratusznik et palm123. Modéré par Benoît Sibaud. Licence CC By‑SA.
30
25
déc.
2021
Python

En 2019 Oliver commençait une série de dépêches sur le langage Python, série qu’il nous promettait pour la rentrée 2019. Divers aléas ont fait que cette série n’a pu être terminée qu’en juin 2021.

Et, comme cela forme un tout cohérent et qu’il y avait, dès le départ, l’idée de les réunir, l’aboutissement est un, en fait plutôt deux epub qui compilent les dépêches et leurs commentaires parce que la maison ne se refuse rien. Ils sont sur un dépôt github avec les images de couvertures en version svg et png. Idéalement, ils devraient être sur un dépôt plutôt LinuxFr que celui-là.

Vous n’échapperez, évidemment, pas aux petits secrets d’ateliers en fin de dépêche.

Les pages de couverture

Décès de Fredrik Lundh (Effbot), auteur des bibliothèques PIL et Tkinter

Posté par  . Édité par Yves Bourguignon, Nÿco, Ysabeau, Barnabé et Naone. Modéré par Ysabeau. Licence CC By‑SA.
58
16
déc.
2021
Python

Fredrik Lundh était un contributeur Python ayant créé les bibliothèques de traitement d’image PIL et de GUI Tkinter. Il était connu pour avoir mis en ligne le site de tutoriel effbot.org couvrant ces bibliothèques. Son décès a été annoncé le 10 décembre 2021 sur la liste de diffusion des développeurs principaux du langage Python.

Python 3.10 est disponible

50
4
août
2021
Python

Python 3.10 (rc1) est sorti le 2 août 2021, après quinze mois de développement (dont cinq à cheval sur les bêta et les rc de Python 3.9). Il reste deux mois avec des candidats (RC) avant la sortie définitive, prévue le 4 octobre 2021.

Voyons ce que cette version apporte comme nouveautés…

Logo Python

Python — partie 9 ― formateur de code, analyse statique

37
9
juin
2021
Python

Cette dépêche est la suite d’une série sur Python initiée en septembre 2019. Après un sommeil cryogénique d’un an et demi, on repart en forme avec d’autres contenus Python à vous proposer : actualité, bonnes pratiques, astuces, témoignages… Elle a été rédigée principalement à deux voix, Oliver et Philippe, qui vous font part de leur expérience sur les fonctions.

Cette dixième partie présente les formateurs de code bien pratiques et les analyseurs de code. 🐍 🐍 🐍

Le logo de Python est entouré de petites icônes symbolisant la variété des domaines où s’applique Python, et, à droite, un joyeux barbu se tient derrière un écran d’ordinateur qui affiche « partie = 10, "Formateurs" \n print(partie) »

Pour rappel, les autres dépêches déjà publiées :

Python — partie 6 — Pip et Pipx

Posté par  . Édité par Philippe F, Ysabeau, Oliver, tisaac, Anonyme, Yves Bourguignon, palm123, ted, yal et gusterhack. Modéré par Ysabeau. Licence CC By‑SA.
Étiquettes :
20
17
mai
2021
Python

Cette dépêche est la suite d’une série sur Python initiée en septembre 2019. Après un sommeil cryogénique de un an et demi, on repart en forme avec d’autres contenus Python à vous proposer: actualité, bonnes pratiques, astuces, témoignages…

Cette sixième partie explique les inconvénients de pip et présente l’alternative pipx, le tout avec plein d’astuces et de conseils pour bien s’en sortir. 🚀 🐍

Pour rappel, les dépêches précédentes :

  • Python — partie 1 parlait de la popularité explosive du langage Python
  • Python — partie 2 évoquait la fin du support de Python 2
  • Python — partie 3 parlait des différentes façons d’installer Python et des gestionnaires de paquets Python
  • Python — partie 4 vous présentait py et pyenv pour faciliter la gestion de plusieurs versions de Python en parallèle sur un poste
  • Python — partie 5 vous faisait découvrir un autre moyen de gérer l’installation en parallèle de différentes versions de Python

Le logo de Python est entouré de petites icônes symbolisant la variété des domaines où s’applique Python, et, à droite, un joyeux barbu se tient derrière un écran d’ordinateur qui affiche « partie = 6, "Pip Pipx" \n print(partie) »

Sortie de Flask 2.0.0

Posté par  (site Web personnel) . Édité par Benoît Sibaud. Modéré par Pierre Jarillon. Licence CC By‑SA.
34
14
mai
2021
Python

Flask est un micro‐cadriciel Web pour Python publié sous licence BSD. Il est conçu pour permettre une prise en main rapide et facile, tout en offrant la possibilité d'évoluer vers des applications complexes. Il a commencé comme une simple « enveloppe » autour de Werkzeug et Jinja et est devenu l'un des cadriciel web Python les plus populaires.

Flask suggère mais n'impose aucune dépendance ou plan de projet. C'est au développeur de choisir les outils et les bibliothèques qu'il souhaite utiliser. Il existe de nombreuses extensions fournies par la communauté qui facilitent l'ajout de nouvelles fonctionnalités.

La version 2 est sortie le 11 mai 2021 soit 3 ans après la version 1.

Python — partie 10 — Entretiens

24
12
mai
2021
Python

Pour cette dépêche, nous donnons la parole à celles et ceux qui pratiquent le langage de programmation Python : des développeuses et développeurs de différents domaines, mais aussi d’autres métiers comme les scientifiques des données (data scientists), les scientifiques de l’apprentissage automatique (machine learning), les analystes quantitatifs (quant)… et bien d’autres…

Un barbu se tien derrière un écran d'ordinateur qui affiche « partie = 13, "Entretiens" \n print(partie) » et à droite le logo de Python (deux serpents stylisés) entouré de petites icônes symbolisant la variété des domaines où s'applique Python.

Python — partie 8 — Pipenv

Posté par  . Édité par Philippe F, Oliver, Ysabeau, Benoît Sibaud, tisaac et gusterhack. Modéré par Ysabeau. Licence CC By‑SA.
Étiquettes :
20
11
mai
2021
Python

Cette dépêche est la suite d’une série sur Python initiée en septembre 2019. Après un sommeil cryogénique de un an et demi, on repart en forme avec d’autre contenu Python à vous proposer: actualité, bonnes pratiques, astuces, témoignages…

Cette huitième partie présente pipenv, un outil pour s’abstraire de pip et virtualenv qui est mis en valeur par la PyPA (Python Packaging Autority). Puis nous finirons la dépêche par un cas pratique avec conteneurisation via Docker, le tout avec plein d’astuces et de conseils pour bien s’en sortir. 🚀 🐍

Pour rappel, les dépêches précédentes :

  • Python - partie 1 parlait de la popularité explosive du langage Python ;
  • Python - partie 2 évoquait la fin du support de Python 2 ;
  • Python - partie 3 parlait des différentes façons d’installer Python et des gestionnaires de paquets Python ;
  • Python - partie 4 vous présentaient py et pyenv pour faciliter la gestion de plusieurs versions de Python en parallèle sur un poste ;
  • Python — partie 5 qui dissertait de Nix (et Guix) ;
  • Python — partie 7 évoquait les environnements virtuels Python et ses alternatives comme la conteneurisation, le tout avec plein d’astuces et de conseils pour bien s’en sortir.

Le logo de Python est entouré de petites icônes symbolisant la variété des domaines où s’applique Python, et, à droite, un joyeux barbu se tient derrière un écran d’ordinateur qui affiche « partie = 8, "Pipenv" \n print (partie) »

Python — partie 5 — Nix (et Guix)

Posté par  (site Web personnel) . Édité par Oliver, Ysabeau, palm123, tisaac et gusterhack. Modéré par Benoît Sibaud. Licence CC By‑SA.
16
9
mai
2021
Python

Dans les précédentes dépêches, nous avons discuté de la popularité de Python, la fin de la maintenance de Python 2, les différentes variantes de Python, comment les faire cohabiter avec Py et Pipenv

Dans la continuité de la précédente dépêche, cette dépêche présente une autre approche pour faire cohabiter différentes versions de Python sur un même ordinateur : Nix. 🚀 🐍 💫 Le logo de Python entouré de petites icônes symbolisant la variété des domaines où s’applique Python, et à droite, un joyeux barbu se tient derrière un écran d’ordinateur qui affiche « partie = 5, "Conda Docker" \n print(partie) »

Python — partie 7 — Environnements virtuels

Posté par  (site Web personnel) . Édité par lolop, Ysabeau, Axone, bobble bubble, tisaac, Di3s3L, gusterhack et ted. Modéré par Ysabeau. Licence CC By‑SA.
Étiquettes :
34
6
mai
2021
Python

Cette septième dépêche présente les environnements virtuels Python et ses alternatives comme la conteneurisation, le tout avec plein d’astuces et de conseils pour bien s’en sortir. 🚀 🐍

Le logo de Python est entouré de petites icônes symbolisant la variété des domaines où s’applique Python, et, à droite, un joyeux barbu se tient derrière un écran d’ordinateur qui affiche « partie = 7, "Env. Virtuels" \n print(partie) »

PySimpleGUI : prenez plaisir à faire des interfaces graphiques en Python

Posté par  . Édité par Benoît Sibaud. Modéré par palm123. Licence CC By‑SA.
57
30
jan.
2021
Python

Je cherchais depuis longtemps un moyen simple de créer des interfaces graphiques pas trop compliquées pour mes scripts Python. Les approches objet et/ou à base de langages dédiés (sur base XML par exemple) m'avaient plutôt rebutées jusqu'à présent, et malheureusement celles-ci sont ultra majoritaires. J'avais eu du mal à rentrer dans tkinter ou pyQT par exemple, et à les utiliser de manière efficace.

C'est alors que j'ai découvert, récemment, PySimpleGUI, et que j'ai enfin réussi à être productif en matière d'interface graphique en Python !

PySimpleGUI est sous licence LGPLv3.

Développer une interface web avec le toolkit Atlas (2/2)

Posté par  (site Web personnel) . Édité par orfenor, Pierre Jarillon, Benoît Sibaud et Ysabeau. Modéré par Ysabeau. Licence CC By‑SA.
Étiquettes :
15
27
jan.
2021
Python

Le toolkit Atlas permet de programmer des interfaces d’applications web monopages (SPA) sans qu’il ne soit nécessaire de savoir programmer en JavaScript et sans imposer d’architecture logicielle. De plus, toute application développée avec le toolkit Atlas est, dès son lancement, instantanément et automatiquement accessible d’Internet.
Le toolkit Atlas s’apparente à ces bibliothèques qui, en s’appuyant sur GTK, Qt, wxWidgets…, ont pour but de faciliter le développement d’interfaces graphiques. La différence est que le toolkit Atlas, lui, s’appuie sur les technologies web (HTML/CSS).

Le toolkit Atlas est disponible pour Java, Node.js, Perl, Python et Ruby. Ce document porte sur le développement, avec la version Python du toolkit Atlas, d’une application dont voici un aperçu :

Apparence de l’application faisant l’objet du tutoriel 'Contacts'

Développer une interface web avec le toolkit Atlas (1/2)

Posté par  (site Web personnel) . Édité par Ysabeau. Modéré par Ysabeau. Licence CC By‑SA.
Étiquettes :
23
1
jan.
2021
Python

Le toolkit Atlas permet de programmer des interfaces d’applications web monopages (SPA). Il est léger (quelques dizaines de Ko), sans dépendances, ne nécessite pas de savoir programmer en JavaScript, et n’impose pas d’architecture logicielle de type MVC.

En outre, toute application développée avec le toolkit Atlas est, dès son lancement, instantanément et automatiquement accessible de n’importe quel dispositif (smartphone, tablette…) équipé d’un navigateur web moderne connecté à Internet. Cet accès est facilité par un code QR qui s’affiche dans l’application.

Le toolkit Atlas a déjà fait l’objet de quelques publications ici même. Pour varier un peu les plaisirs durant ces longues soirées d’hiver de couvre-feu, voici la première partie d’un document qui devrait faciliter l’utilisation du toolkit Atlas. Il détaille le développement d’une application (très) basique de gestion de contacts, dont l’apparence est la suivante :

Apparence de l'application faisant l'objet du tutoriel 'Contacts'

Le toolkit Atlas est disponible pour Java, Node.js, Perl, Python et Ruby. C’est la version la plus populaire, à savoir Python, qui est utilisée pour ce document. Cependant, l’API étant la même pour toutes les versions, on peut facilement le transposer aux autres langages disponibles.

Python dépasse Java en popularité selon l’indice TIOBE de novembre

Posté par  (site Web personnel) . Édité par Davy Defaud, ted et Xavier Teyssier. Modéré par Ysabeau. Licence CC By‑SA.
Étiquettes :
27
6
nov.
2020
Python

Selon TechRepublic, qui commente la dernière édition de l’indice TIOBE qui mesure (de façon certes un peu opaque) la popularité des langages de programmation, Python vient de passer devant Java et est devenu deuxième derrière C. Preuve à la fois de la maturité du langage Python dans l’industrie et de la montée en force des usages pour lesquels il excelle (notamment l’apprentissage automatique).

Cela serait sans doute anecdotique si d’autres sources n’avaient pas également classé Python parmi les langages les plus dynamiques ces dernières années, notamment :

Par ailleurs, si vous utilisez Python et que vous souhaitez exprimer votre avis sur son évolution, il vous reste (à la date d’écriture de cette dépêche) deux jours pour participer à l’enquête annuelle de la PSF (Python Software Foundation) et de JetBrains auprès des développeurs Python.

Logiciel de gestion de moulin à huile

Posté par  (site Web personnel) . Édité par Davy Defaud et Ysabeau. Modéré par Pierre Jarillon. Licence CC By‑SA.
Étiquettes :
54
11
juil.
2020
Python

La verticalisation métier d’Odoo pour les moulins à huile sort de l’ombre ! Après la verticalisation métier d’Odoo pour les abbayes, l’abbaye du Barroux annonce la publication sous licence AGPL de la verticalisation métier d’Odoo pour les moulins à huile.

L’abbaye du Barroux, une abbaye bénédictine située près du mont Ventoux, possède et opère un moulin à huile. Il permet de fabriquer de l’huile d’olive à partir des olives récoltées par les moines et par des oléiculteurs situés à proximité. Un moulin à huile, comme toute usine agroalimentaire, se doit d’assurer une traçabilité de bout en bout, depuis le champ d’oliviers jusqu’à la bouteille d’huile. Il existe des logiciels métier spécialisés pour les moulins à huile, mais ils sont généralement propriétaires, anciens et ne fonctionnent que sous Windows. Les moines du Barroux, qui étaient déjà équipés d’Odoo, ont préféré investir dans le développement d’une verticalisation métier d’Odoo pour les moulins à huile et ont confié la réalisation de ce développement à la société Akretion. Cette verticalisation métier tire parti de la gestion de stock et de production d’Odoo qui assure la traçabilité par lots et la gestion des dates de péremption. Elle est complètement intégrée avec le module de facturation d’Odoo.

Cette verticalisation a subi son baptême du feu lors de la campagne 2018, et a été perfectionnée lors de la campagne 2019. Elle continue d’être améliorée en vue de la campagne 2020 qui démarrera fin octobre et dure deux mois.

Analysez vos tests #Python avec pytest‑monitor

Posté par  (site Web personnel, Mastodon) . Édité par Ysabeau, Davy Defaud et palm123. Modéré par Ysabeau. Licence CC By‑SA.
Étiquettes :
22
8
avr.
2020
Python

Pytest‑monitor est une toute nouvelle extension pour Pytest, le cadriciel de test du langage Python, qui vous permet d’analyser l’utilisation des ressources de la machine exécutant les tests.

Logo Pytest-monitor

Pour le moment, trois ressources sont surveillées et historisés par cette extension :

  • le temps d’exécution ;
  • la consommation mémoire ;
  • l’utilisation du processeur.

Chaque résultat étant attaché à un environnement d’exécution, il est facile de comparer l’impact du matériel utilisé pour faire tourner vos tests.

Weboob a dix ans !

Posté par  . Édité par Davy Defaud, ZeroHeure, Julien Jorge, Bruno Michel, Ysabeau et palm123. Modéré par Davy Defaud. Licence CC By‑SA.
Étiquettes :
48
12
fév.
2020
Python

Logo Weboob

Cela fait dix ans jour pour jour que ce qui initialement était un bête script « dlfp2mail » a été renommé « Weboob », pour « Web Outside of Browsers », avec un objectif plus ambitieux : être une bibliothèque d’APIsation du Web.

Celle‑ci propose aujourd’hui quarante capabilities, qui sont une manière de standardiser les modèles de données et les interactions avec des sites proposant une capacité donnée, par exemple la vidéo, les actualités, l’émission de factures, la gestion de contacts, la banque, etc.

La bibliothèque intègre également de base 254 modules qui, chacun, interagit avec un site Web donné. Un module va implémenter une ou plusieurs capability : par exemple, Youtube implémente juste CapVideo, mais BNP implémente CapBank, CapDocument, CapProfile, CapContact et CapMessages.

Enfin, il existe 50 applications builtin qui s’interfacent avec les capabilities pour interagir avec les modules qui les implémentent. Par exemple, Boobank est une application en ligne de commande pour consulter et exporter ses comptes bancaires, QVideoob est une application Qt pour rechercher des vidéos, tandis que Monboob est un démon qui consulte régulièrement les sites d’actualité ou proposant une messagerie, et les envoie par courriel.

Mais la plus grande force de Weboob réside dans le fait qu’il s’agisse d’une bibliothèque. Ainsi, il est possible d’enrichir des logiciels existants avec cette capacité d’interagir avec des sites Web derrière une couche d’abstraction. Ainsi, dès qu’un nouveau module est créé, toutes les applications gérant au moins une des capabilities qu’il implémente vont automatiquement pouvoir en profiter.

À l’occasion de ce dixième anniversaire, la version 2.0 de Weboob est parue.

Organisation des rencontres autour de Python à Strasbourg

Posté par  . Édité par ZeroHeure et Davy Defaud. Modéré par Florent Zara. Licence CC By‑SA.
14
9
jan.
2020
Python

On connaît beaucoup Strasbourg pour son marché de Noël et sa cathédrale, mais malheureusement pas pour sa communauté Python. Vu qu’on retrouve l’usage de Python dans les universités et dans les entreprises locales, nous avons décidé d‘organiser des rencontres autour du langage et de ses outils. Un mélange entre conférences, retours d’expérience et ateliers. Tout démarrera fin janvier 2020, de quoi commencer l’année sur une bonne résolution.

Afin de connaître les usages, les disponibilités et les préférences dans le contenu et l’organisation de ces soirées, nous avons mis en place un petit questionnaire sur Framaforms.

Nous sommes présents sur le canal IRC python-fr-stras sur Freenode pour toute question ou suggestion. Nous diffuserons les dates des rencontres sur l’Agenda du Libre

Le gestionnaire de projet Python Poetry 1.0.0 est disponible !

41
17
déc.
2019
Python

L’outil de gestion de projet Python Poetry est sorti en version 1.0.0 ! Sa date de naissance est officiellement le jeudi 12 décembre 2019.

Poetry est un programme en ligne de commande permettant aux développeurs de gérer les métadonnées d’un projet, les dépendances, l’environnement de développement, la génération de livrables, la publication, l’environnement d’exécution et d’autres choses. Le tout de manière unifiée.

À l’origine du projet se trouve le Français Sébastien Eustace. À partir de cette version 1.0.0, le projet Poetry est géré par une équipe nommé sobrement python-poetry avec son propre site et sa propre organisation GitHub.