VenC 3.1.1 | Un nouveau générateur de site statique

Posté par  (site web personnel) . Édité par Ysabeau 🧶 🧦, orfenor et Benoît Sibaud. Modéré par Ysabeau 🧶 🧦. Licence CC By‑SA.
46
1
fév.
2024
Python

VenC

On va présenter ici un nouveau générateur de site statique, écrit en python. Il n’est pas exactement nouveau au sens où nous en sommes à la version 3, mais jusqu’ici le projet est resté relativement confidentiel. Nous parlerons également des perspectives d’évolution de ce projet.

L'installation et la distribution de paquets Python (2/4)

Posté par  . Édité par Benoît Sibaud, Nils Ratusznik et Ysabeau 🧶 🧦. Modéré par Ysabeau 🧶 🧦. Licence CC By‑SA.
65
21
déc.
2023
Python

Cette dépêche est la deuxième d’une série de quatre sur le packaging en Python :

  1. L’histoire du packaging Python
  2. Tour de l’écosystème actuel
  3. Le casse-tête du code compilé
  4. La structure de la communauté en question

Je vais donc proposer un aperçu plus ou moins complet des différents outils, et de ce qu’ils font ou ne font pas, en essayant de les comparer. Mais je parlerai aussi des fichiers de configuration, des dépôts où les paquets sont publiés, des manières d’installer Python lui-même, et de l’interaction de tout ceci avec les distributions Linux. En revanche, je laisse de côté pour l’instant les paquets écrits en C, C++ ou Rust et la complexité qu’ils apportent.

L’installation et la distribution de paquets Python (1/4)

Posté par  . Édité par Benoît Sibaud, alberic89 🐧, L'intendant zonard, nonas, palm123 et gUI. Modéré par Ysabeau 🧶 🧦. Licence CC By‑SA.
92
6
nov.
2023
Python

Quelques dépêches précédentes ont parlé des outils de packaging Python, comme ici, ou encore . Je vais chercher à faire un tour complet de la question, non seulement du point de vue de l’utilisateur qui cherche à comprendre quelle est « la bonne » solution (← ha ha ha rire moqueur…), mais aussi en expliquant les choix qui ont été faits, les évolutions, la structure de la communauté autour des outils, et les critiques qui leur sont souvent adressées, à tort ou à raison.

Programme de la PyConFR 23

Posté par  . Édité par Benoît Sibaud, Pierre Jarillon et ted. Modéré par ted. Licence CC By‑SA.
19
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 2023 à 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.
59
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 3.9 est disponible

Posté par  (site web personnel, Mastodon) . Édité par Benoît Sibaud, palm123, Davy Defaud, ariasuni, Ysabeau 🧶 🧦, bobble bubble et Snark. Modéré par claudex. Licence CC By‑SA.
Étiquettes :
49
9
déc.
2020
Python

Python 3.9 est sorti le 5 octobre 2020, après dix‑sept mois de développement.

Voyons ce que cette version apporte comme nouveautés…

Logo Python

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.