MakeMake The Dwarf Planet is a feed agregator.

Sur Bordeaux - Meetup le lundi 29 juin

by yoan from AFPy discuss

Meetup Python Bordeaux le 29 juin dès 18:30 au Yack à Bègles​:wine_glass:

  • Hypothesis : laissez la machine trouver vos edge cases, par Charles Pellegrini
  • Histoire secrète des bonnes pratiques, après 70 ans de développement logiciel, par Vincent Poulailleau

Événement ouvert à tous les débutant.e.s ou confirmé.e.s sur inscription via Discuss ou Meetup :
:link: Bordeaux Python Meetup 2026.2, Mon, Jun 29, 2026, 6:30 PM | Meetup

:fork_and_knife: Auberge espagnole : apportez à boire et à manger que vous voudrez bien partager avec les autres participant.e.s.

:warning: Localisation : l’entrée du Yack est discrète : avant de venir, prenez soin de consulter la carte ainsi que la photo de l’entrée ci-dessous. Le bâtiment 19 aura un fléchage avec des feuilles A4.

Sur Bordeaux - Meetup le lundi 29 juin
June 29, 2026 6:30 PM (Europe/Paris) → June 29, 2026 9:00 PM (Europe/Paris)
16 Rue des Terres Neuves, 33130 Bègles, France

1 message - 1 participant(e)

Lire le sujet en entier

Lire la suite…

Sur Clermont-Ferrand - Meetup le 30 juin

by drigaudie from AFPy discuss

Hello,

La 15ème édition de PyClermont, aura lieu mardi 30 juin 2026 à 18h30 au sein du bar Fermenté.e - 16 Rue Maréchal de Lattre · Clermont-Ferrand

Notre speaker Jean-Marie Favreau abordera le sujet suivant

Un agenda culturel local construit en Django

Inscription obligatoire sur meetup

Trognoncal est un moteur d’agenda culturel participatif dont le développement a débuté en 2023, et dont la première instance a été lancée en septembre 2024 pour le Puy-de-Dôme à l’adresse https://pommesdelune.fr/.

Développé en python/django, il s’appuie sur une pile logicielle intégrant celery et selenium, afin de récupérer chaque nuit les événements publiés sur les sites internet des organisateurs d’événements.

1 message - 1 participant(e)

Lire le sujet en entier

Lire la suite…

Comment gérer les imports ?

by arm from AFPy discuss

Bonjour,

J’ai une question simple pour vous.

Je travail actuellement sur un projet avec plusieurs fichiers.

J’ai besoin d’une librairie dans plusieurs fichiers. Est-ce qu’il y a une façon plus propre que de l’importer à chaque fichier ?

Merci à vous :smiley:

8 messages - 5 participant(e)s

Lire le sujet en entier

Lire la suite…

Just, make, task : trois outils pour faire (des trucs)

by ascendances from ascendances

Sous Unix, un fichier Makefile est le moyen classique d’exécuter diverses tâches (en premier lieu des compilations de binaires). Récemment, deux outils (just et task) ont gagné en popularité. Ils ont le même objectif, tout en cherchant à être plus adaptés aux usages de développement actuels.

L’installation des différents outils est simple :

  • Le binaire make est dans le paquet make (incroyable !) et est probablement déjà installé.
  • Le binaire just est dans le paquet just (bis).
  • Debian ne contient pas de paquet task. Un binaire task est bien disponible dans le paquet taskwarrior mais c’est un outil pour décompter le temps passé. Les développeurs de Taskfile fournissent un paquet Debian, déclaré comme incompatible avec taskwarrior à cause du nom identique de l’exécutable. Compiler le binaire soi-même est facile une fois que les outils pour compiler du Go sont déjà présents sur la machine.

A. Formats de fichier

Voici des exemples minimaux pour les trois outils :

1. Makefile

cible:
commande


Les fichiers Makefile utilisent des tabulations. Aujourd’hui, on s’attend plutôt à des espaces. Un éditeur correct sait déjà le gérer donc ça ne devrait pas être vraiment un problème mais peut surprendre un nouvel arrivant.

2. Justfile

cible:
commande

Il n’y a pas de différence visible avec le Makefile précédent car les fichiers Justfile en sont proches. Le format est simple et utilise des espaces plutôt que des tabulations.

C’est un format spécifique que les autres outils ne prennent pas toujours bien en charge (ou pas par défaut). Par exemple, bat (dans le paquet Debian nommé batcat) ou pygments ne savent pas faire de la coloration syntaxique sur ce format. Par contre, il existe des greffons pour Codium ou pour emacs (par exemple, just-mode, son code source et le dépôt Melpa), etc. De même, WordPress ne le prend pas en compte donc tous les codes source de Justfile ne bénéficieront pas de coloration syntaxique dans cet article.

Exemple de fichier Justfile dans Codium
Exemple de fichier Justfile dans Codium

3. Taskfile

version: '3'
tasks:
cible:
cmd: commande

Taskfile réutilise le format YAML. Cela permet d’avoir une syntaxe connue et un outillage déjà prêt (coloration syntaxique et vérification de la syntaxe). Cependant, cela donne aussi des contenus plus verbeux que les Justfiles.

À noter que la ligne version est indispensable aux Taskfile car des versions antérieures du format de fichier sont incompatibles.

B. Exemples équivalents

Voici trois fichiers d’exemple montrant les mêmes commandes basiques pour les Makefile, Justfile et Taskfile :

1. Makefile

BINNAME = hellomake
.PHONY: build clean test
build: ## Compile le binaire
gcc -o $(BINNAME) main.c
./gen_assets.sh
clean: ## Supprime les fichiers générés
rm -f $(BINNAME)
test: ## Exécute les tests
./tests.sh

Historiquement, les Makefile étaient (et sont encore) utilisés pour produire des fichiers. Les cibles peuvent être des fichiers et donc on se retrouve régulièrement à utiliser .PHONY. C’est pratique mais ça ne me semble pas très élégant.

2. Justfile

BINNAME := "hellojust"
# Compile le binaire
build:
gcc -o {{BINNAME}} main.c
./gen_assets.sh
# Supprime les fichiers générés
clean:
rm -f {{BINNAME}}
# Exécute les tests
test:
./tests.sh

La syntaxe reste très proche d’un Makefile. En terme de possibilité, il n’y a pas de dépendances sur les fichiers pour exécuter (ou non) une commande.

3. Taskfile.yml

version: '3'
vars:
BINNAME: hellotask
tasks:
build:
desc: Compile le binaire
cmds:
- gcc -o {{.BINNAME}} main.c
- ./gen_assets.sh
clean:
desc: Supprime les fichiers générés
cmd: rm -f {{.BINNAME}}
test:
desc: Exécute les tests
cmd: ./tests.sh

Le format YAML permet de faire des listes ou de laisser sur une seule ligne s’il n’y a qu’une seule instruction (cf. cmd). L’ensemble des attributs rend le contenu assez explicite. Il n’y a pas de dépendances sur les fichiers (comme just).

C. Paramètres à passer à la commande

1. Makefile

Il est possible de fournir une valeur par défaut, modifiable sur la ligne de commande :

PORT ?= 8000
staticserver:
python3 -m http.server $(PORT)

Le résultat dans un terminal :

$ make staticserver
python3 -m http.server 8000
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
[...]
$ make staticserver PORT=8888
python3 -m http.server 8888
Serving HTTP on 0.0.0.0 port 8888 (http://0.0.0.0:8888/) ...

2. Justfile

Justfile a des paramètres avec des valeurs par défaut :

staticserver port="8000":
python3 -m http.server {{port}}

Le résultat dans un terminal :

$ just staticserver
python3 -m http.server 8000
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) …
[...]
$ just staticserver 8888
python3 -m http.server 8888
Serving HTTP on 0.0.0.0 port 8888 (http://0.0.0.0:8888/) …

À noter que just staticserver PORT=8888 provoque une erreur (invalid int value: 'PORT=8888').

3. Taskfile

version: '3'
tasks:
staticserver:
vars:
PORT: '{{default "8000" .PORT}}'
cmds:
- python3 -m http.server {{.PORT}}

Le résultat dans un terminal :

$ task staticserver
task: [staticserver] python3 -m http.server 8000
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
[...]
$ task staticserver PORT=8888
task: [staticserver] python3 -m http.server 8888
Serving HTTP on 0.0.0.0 port 8888 (http://0.0.0.0:8888/) ...

D. Prise en compte de fichier .env

La prise en charge est plus ou moins directe mais rien d’insurmontable.

1. Makefile

Contrairement à just et task, make ne prend pas nativement les fichiers .env en charge. Il suffit d’ajouter ces lignes en début de fichier pour que le fichier .env soit chargé :

# Chargement du fichier .env
ifneq (,$(wildcard ./.env))
include .env
export
endif

C’est simplement du code valide pour make : ici, la fonction wildcard permet de détecter l’existence du fichier .env. La directive include charge le fichier donc les données du fichier .env deviennent disponibles comme variables dans le Makefile. La directive export passe l’ensemble des variables en tant que variables d’environnement aux commandes exécutées par le Makefile.

C’est plus simple pour just et task car le chargement de fichiers d’environnement est déjà intégré aux outils.

2. Justfile

Il suffit d’activer l’usage de fichier .env puis de récupérer la variable d’environnement souhaitée :

set dotenv-load
port := env("PORT", "8000")

La variable port dans just vaudra ce que contient la variable d’environnement PORT si elle est disponible, sinon elle vaudra 8000.

3. Taskfile 

Il est possible de définir plusieurs fichiers qui écrasent leurs valeurs selon l’ordre de leur définition :

dotenv:
- .env.local # config locale (priorité la plus haute)
- [...]
- .env # fichier par défaut (priorité la plus faible)

La variable d’environnement PORT définie (ou redéfinie) par le fichier d’environnement de plus grande priorité sera disponible via $PORT.

E. Lister les commandes disponibles

Cette possibilité est disponible nativement pour just et task :

  • just --list utilise le commentaire situé au-dessus de la commande.
  • task --list utilise la valeur de desc si elle est disponible pour documenter la commande.

L’usage est visible dans les exemples de la section « B. Exemples équivalents ».

Pour make, cela devrait être possible avec --print-targets dans le futur lorsqu’une nouvelle version sera publiée.

En attendant, il faut écrire une cible dédiée. Par exemple :

help: ## Montre les commandes disponibles
@echo "Commandes disponibles :"
@grep -E '^[a-zA-Z_-]+:.*?##' $(MAKEFILE_LIST) | \
sort | \
awk 'BEGIN{FS=":.*?## "}{printf " %-10s %s\n", $$1, $$2}'

Cela suppose que l’on a un commentaire qui suit la convention attendue par la cible help :

cible: ## viser le centre
guillaume --tell --vise=pomme

F. Ne pas afficher la commande exécutée

Dans ce cas, seules les sorties standard et d’erreur sont affichées.

make et just utilisent la même astuce : préfixer la commande par @.

task utilise l’attribut silent qui peut être inséré à plusieurs endroits. Une variable d’environnement est aussi disponible.

tasks:
echo:
cmds:
- cmd: echo "Print something"
silent: true

Conclusion

Les trois outils ont des capacités non abordées dans cet article. J’ai l’impression que les cas d’usage entre just et task se recoupent complètement.

make est le choix classique avec la barrière à l’entrée la plus faible pour entrer sur une base de code. Cependant, si just ou task est déjà installé pour développer des services web par exemple, autant le mettre partout.

Entre les deux, j’ai une préférence pour just qui est moins verbeux. La popularité des deux projets est grandissante mais just a l’air de prendre l’avantage :

Comparaison des étoiles Github au 7 juin 2026
Comparaison des étoiles Github au 7 juin 2026

Actuellement :

Les restes

Versions utilisées pour l’article :

  • make 4.4.1
  • just 1.50.0
  • task 3.41.0

Un serveur HTTP de fichiers statiques est vraiment fourni avec Python : la commande python3 -m http.server est fonctionnelle. C’est pratique pour du réseau local mais une mauvaise idée en production.

Le graphique montrant l’évolution des étoiles Github a été téléchargé depuis https://www.star-history.com/?repos=go-task%2Ftask%2Ccasey%2Fjust&type=timeline&legend=top-left. Le service permet aussi de télécharger un fichier .csv si besoin.

Lire la suite…

AFPy

by AFPy - Mastodon from AFPy - Mastodon

Promotional image for PyConFR 2026 in Biarritz at the ESTIA campus, and announcement of the Call for Proposals, open through July 31, 2026

Lire la suite…

AFPy

by AFPy - Mastodon from AFPy - Mastodon

Image d'annonce de la PyConFR 2026 à Biarrtiz au campus ESTIA et annonce de l''ouverture du Call for Proposals jusqu'au 31 juillet 2026 inclus

Lire la suite…

PyConFR 2026, à Biarritz du 29 octobre au 1 novembre

by ReiNula,Benoît Sibaud from Linuxfr.org

L’Association Francophone Python (AFPy) organise la PyConFR 2026 du jeudi 29 octobre au dimanche 1 novembre. Pour cette 17e édition, nous sommes accueillis par l'école ESTIA de Biarritz !

Logo de la PyConFR 2026

La PyConFR, c’est un évènement gratuit sur 4 jours autour du langage de programmation Python. Elle est composée deux jours de développements participatifs (sprints), puis de deux jours de conférences et ateliers.

L’appel à propositions est ouvert jusqu’au 31 juillet 2026. Peu importe votre niveau en Python, vous pouvez proposer un sujet de sprint, de conférence ou d’atelier ! Venez parler de développement logiciel, de diversité, de communauté, faire un retour d’expérience sur un outil, présenter votre projet, un domaine d’activité…

Comme tous les ans, nous proposons aux personnes habituellement peu représentées en conférence de l’aide pour trouver un sujet, rédiger la proposition de conférence, rédiger le support de conférence et pour répéter. Vous pouvez nous contacter à l’adresse diversite@afpy.org si vous pensez en avoir besoin.

Enfin, la PyConFR est entièrement financée par les sponsors. Si vous connaissez des sponsors potentiels, n’hésitez pas à leur parler de l’évènement !

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

Lire la suite…

Entr'ouvert recrute un·e développeur·euse Python/Django [Paris, Lyon, télétravail]

by thomasnoel from AFPy discuss

Entr’ouvert est un éditeur de logiciels libres dont l’activité s’est développée autour de la gestion de la relation usager. Notre mission, c’est de simplifier les démarches des citoyens puis de les proposer en ligne… en ce moment cela a un certain succès.

Entr’ouvert est une SCOP fonctionnant depuis 2002 de manière démocratique, détenue intégralement et à parts égales par ses salarié·es et où chacun, en tant qu’associé·e, participe aux prises de décision. Et parce que nous ne faisons pas les choses à moitié, nous avons institué la stricte égalité salariale.

Nous sommes actuellement 29 : 13 développeuses·eurs, 13 fonctionnel·le·s, 2 administrateurs·rices systèmes, une responsable administratif et pratiquement aucun raton laveur.

Nous n’utilisons et ne produisons que des logiciels libres. Nous avons développé une relation de confiance avec nos clients, basée sur la qualité, l’importance accordée aux détails, le travail bien fait. Et cela ne nous empêche pas de rigoler, c’est même recommandé, l’esprit de sérieux étant un mauvais esprit. Au-delà des compétences professionnelles, nous recherchons des personnes qui sauront intégrer notre équipe et s’impliquer dans notre structure coopérative.

Nous cherchons un·e développeur·euse

  • Vous connaissez bien Django, vous possédez des connaissances basiques en HTML, CSS et Javascript.

  • Vous savez faire un git commit et un git push (sans -f).

  • Vous êtes à l’aise avec l’écriture de tests, unitaires ou fonctionnels.

  • On suit les recommandations PEP8, on aime le code propre et maintenable et on espère que vous aussi.

  • Vous savez exprimer une situation ou une solution à vos collègues et aux clients.

  • Vous appréciez la relation directe avec les client·e·s afin de bien cerner leurs demandes.

  • Vous savez gérer les priorités et aimez tenir vos échéances.

  • La programmation non assistée par un LLM ne vous fait pas peur : les contributions générées par intelligence artificielle sont interdites dans nos logiciels.

  • A priori pour savoir faire tout cela, vous avez déjà quelques années d’expérience.

  • … et au minimum une certaine sensibilité aux logiciels libres.

Votre mission

  • Après un temps de formation avec l’équipe, vous travaillerez à l’amélioration et sur les évolutions de Publik suivant les tickets et la roadmap.

  • Vous relirez des patches proposés par les collègues, chercherez à les améliorer, bref, vous ferez du code review.

  • Selon les projets vous serez développeur·euse ou chef·fe de projet technique (c’est-à-dire en charge de la coordination des développements et de la relation technique avec le client).

Quelques exemples de notre quotidien

Les conditions de travail

  • CDI de 52 000 € brut annuel, soit environ 3300 € net par mois — même salaire pour tout le monde.

  • 99% des bénéfices répartis à parts égales entre les travailleuses·eurs, sous forme de participation, intéressement, primes (voir pappers.fr pour vous donner une idée).

  • Organisation du temps de travail sur 4 jours de la semaine.

  • Travail à Paris XIVème ou à Lyon, télétravail possible depuis partout en France.

  • Horaires souples.

  • Mutuelle familiale.

  • 8½ semaines de congés payés.

  • 50% de la carte Navigo, café, thé et chocolat inclus dans les bureaux parisiens et lyonnais.

  • Un bon ThinkPad, accompagné d’un grand écran, avec un beau clavier et une souris optique qui brille dans le noir (sans oublier un budget annuel pour tout type de matériel utile pour le télétravail).

  • Coopératrice·teur, associé·e de la SCOP, à part égale de tous les autres.

C’est trop beau

Si vous avez lu notre annonce jusqu’ici et que vous vous dites, « c’est trop beau un job pareil, où est le piège ? », quelques éléments sur les difficultés à travailler dans une société comme Entr’ouvert :

  • Nous sommes tous partiellement patrons de notre entreprise, ce qui est souvent synonyme d’un engagement plus conséquent que si nous n’étions que salarié·es.

  • Ne pas avoir de patrons dans une entreprise à n coopérateurs·rices, cela veut dire avoir n-1 « quasi-patrons » avec qui échanger : de bonnes capacités de communication, voire de diplomatie, sont nécessaires.

  • Pour les personnes en télétravail, la frontière est parfois ténue entre autonomie et isolement.

Vous avez l’impression de ne pas correspondre entièrement au profil, cette annonce vous fait très envie mais vous doutez de vos capacités ? Écoutez votre cœur et postulez ! Les offres d’emploi décrivent toujours une personne qui n’existe pas : vous avez toutes vos chances.

Le processus de recrutement

Les candidatures doivent être envoyées avant le dimanche 7 juin 2026 à 23h59. Le déroulé est ensuite l’organisation d’un entretien de présentation mutuelle, suivi de l’envoi d’un court test technique puis un second entretien de débrief et discussion avec des membres de l’équipe technique. Les deux entretiens auront lieu par visio-conférence. Le processus complet prend du temps, la décision finale de l’embauche devrait être prise autour du lundi 13 juillet.

Pour postuler, rendez-vous sur ce formulaire.


Post-scriptum : merci aux cabinets de recrutement de ne pas nous contacter ; nous recherchons des coopératrices·eurs voulant s’impliquer dans notre structure et non des salarié·es proposés sur catalogue.

1 message - 1 participant(e)

Lire le sujet en entier

Lire la suite…