MakeMake The Dwarf Planet is a feed agregator.

Association Francophone Python

by AFPy - Mastodon from AFPy - Mastodon

Texte "Pour que les événements tech continuent d'exister, nous avons signé la lettre ouverte aux acteurs de l'écosystème comme 33 assos et communautés."

Lien vers site "lettreouverte.afup.org"

Slogans "Sponsorisez. Inscrivez vos équipes. Adhérez."

Une initiative proposée par l'AFUP

Lire la suite…

mypy et django-pgtrigger

by mdk from AFPy discuss

J’ai un cas bizarre aujourd’hui avec mypy :

pip install mypy==2.3.1 django-pgtrigger==4.17.0
import pgtrigger

pgtrigger.Q(foo_bar=42)

lancer mypy sur le fichier me donne :

foo.py:4: error: Unexpected keyword argument "foo_bar" for "Q"  [call-arg]
foo.py:4: note: "Q" defined in "pgtrigger.core"
Found 1 error in 1 file (checked 1 source file)

Mais je ne vois pas du tout pourquoi… et je n’arrive pas à reproduire l’erreur en dehors de Django (copier-coller la class Q de Django en entier dans un autre fichier corrige le bug, ça n’a pas de sens à mes yeux).

Je n’ai aucun stub d’installé et j’ai triplement vérifié (find, strace, …), mypy n’a pas l’air de se faire piéger par un sub. D’ailleurs installer django-stubs corrige l’erreur (mais pourquoi !?).

Le seul truc qui me fait tiquer c’est que le __init__ de class Condition ne coopère pas (pas de super().__init__(**kwargs)), et que l’ajouter cache l’erreur (mais je ne comprends pas pourquoi, un effet de bord dans mypy ?)

Quelqu’un y voit plus clair ? Je fatigue ou quelque chose ?

9 messages - 4 participant(e)s

Lire le sujet en entier

Lire la suite…

Apprenons ensembles

by Cyber-Tchak from AFPy discuss

:rocket: Tu apprends la programmation, Python, Linux/Termux ou la cybersécurité éthique ?
:snake: CYBER-NET est une petite communauté où on peut apprendre ensemble, partager ses projets, poser des questions et participer à des challenges.
:laptop: Python • :robot: Bots • :globe_with_meridians: Web • :penguin: Linux/Termux • :shield: Cyber • :test_tube: Challenges
Pas besoin d’être expert : les débutants sont les bienvenus.
:link: Rejoins-nous : CyBeR-NET
:fire: Apprendre. Créer. Progresser.

1 message - 1 participant(e)

Lire le sujet en entier

Lire la suite…

Apprendre python l

by Cyber-Tchak from AFPy discuss

:waving_hand: Bonjour tout le monde !

Je suis en train d’apprendre Python et je pratique principalement en construisant de petits projets.

Je m’intéresse aussi à Linux/Termux, aux bots, au développement Web et à la cybersécurité éthique.

J’aime particulièrement apprendre en faisant : quand j’apprends une nouvelle notion, j’essaie rapidement de construire quelque chose avec.

En ce moment, je travaille sur plusieurs petits projets personnels en Python et j’aimerais échanger avec d’autres personnes qui apprennent ou utilisent Python.

Au plaisir de vous rencontrer ! :snake:

2 messages - 2 participant(e)s

Lire le sujet en entier

Lire la suite…

Visio-Display : retour d’expérience sur une plateforme libre d’affichage dynamique

by woofix from Linuxfr.org

Sommaire

Bonjour,

Je développe depuis quelque temps Visio-Display, une plateforme libre d’affichage dynamique distribuée sous licence GPL-3.0. Le projet est né d’un besoin simple : administrer plusieurs écrans depuis une interface centralisée, tout en conservant la maîtrise de l’hébergement, des données et des clients d’affichage.

Au fil du développement, le projet a dépassé la simple diffusion d’images et de vidéos. Il couvre maintenant une partie importante du cycle de vie d’une infrastructure d’affichage : création et planification des contenus, déploiement des clients, supervision, maintenance, sauvegardes et mises à jour.

Le dépôt est disponible sur GitHub :

https://github.com/woofix/visio_display

Architecture

Le serveur repose principalement sur :

  • Python, Flask et Gunicorn pour l’application web ;
  • PostgreSQL pour les données persistantes ;
  • Redis et RQ pour le cache et les tâches en arrière-plan ;
  • Docker Compose pour le déploiement et l’exploitation des services.

L’ensemble est auto-hébergé. Je l’exploite et le valide sur ma propre infrastructure, avec de véritables clients Linux raccordés au serveur.

Gestion des écrans et des contenus

Depuis l’interface web, il est possible de créer plusieurs écrans nommés et de gérer leur contenu indépendamment.

La bibliothèque de médias accepte notamment les images, les vidéos et les documents PDF. Les contenus peuvent être organisés dans des listes de lecture avec un ordre et une durée d’affichage propres à chaque élément.

La planification permet de définir des périodes de diffusion selon les dates et les horaires. Le projet dispose également de groupes de médias et de campagnes prioritaires temporaires permettant de remplacer momentanément la programmation normale avant de revenir automatiquement à la liste de lecture habituelle.

Un éditeur d’annonces au format 16:9 est intégré. Il permet de préparer rapidement un visuel depuis l’interface puis de l’exporter directement vers la bibliothèque de médias.

Un générateur de QR codes permet aussi de créer des contenus pour différents usages : réseau Wi-Fi, URL, contact, emplacement cartographique, messagerie ou texte libre.

Déploiement et fonctionnement des clients

Visio-Display peut préparer et déployer à distance des clients Linux configurés en mode kiosque, notamment via SSH.

Chaque client conserve localement sa configuration et son jeton de heartbeat. Un service systemd assure ensuite la communication avec le serveur. Le premier heartbeat est envoyé environ quinze secondes après le démarrage, puis toutes les trente secondes.

Si un client perd son alimentation ou sa connexion réseau, le serveur le considère simplement comme hors ligne après cinq minutes sans heartbeat. Aucun nouvel appairage manuel n’est nécessaire : lorsque la machine redémarre ou retrouve le réseau, le service reprend ses communications et le serveur reconnaît le même client.

L’interface permet de consulter l’état des clients, leurs informations système et leurs captures d’écran. Des opérations de maintenance à distance sont également présentes : redémarrage, arrêt, réinstallation et mise à jour.

Administration et exploitation

La plateforme intègre notamment :

  • la gestion des utilisateurs, rôles et permissions ;
  • des journaux d’activité ;
  • des jetons distincts selon les usages ;
  • des sauvegardes manuelles ou planifiées ;
  • une restauration depuis l’interface web ;
  • des copies SMB optionnelles ;
  • un mécanisme contrôlé de mise à jour du serveur ;
  • une API utilisée pour les communications et certaines opérations d’administration.

L’objectif n’est pas seulement d’afficher un média, mais de disposer d’un ensemble exploitable au quotidien : savoir quels écrans sont disponibles, intervenir à distance et restaurer le service sans devoir se connecter manuellement à chaque machine.

Installation en une commande

Pour simplifier les essais et les nouveaux déploiements, un installateur guidé est disponible. Sur un serveur Linux disposant de Docker, Docker Compose et Git, l’installation peut être lancée avec :

bash <(curl -fsSL https://raw.githubusercontent.com/woofix/visio_display/main/server-install.sh)
L’installateur est proposé en français et en anglais. Il vérifie les prérequis, clone le dépôt, génère les secrets, prépare l’environnement, crée le compte administrateur, construit les conteneurs et démarre les services.

Une installation manuelle avec Docker Compose reste documentée pour celles et ceux qui préfèrent contrôler chaque étape.

Pourquoi publier ce retour ici ?

Visio-Display est pour moi un projet concret à la croisée du développement web, de Linux, de Docker, du réseau, de l’automatisation et de l’exploitation système.

J’ai utilisé ChatGPT/Codex comme assistant pour certaines suggestions de code, revues, tests et tâches de documentation. Je reste le mainteneur du projet : je définis l’architecture, réalise les déploiements et valide les fonctionnalités sur l’instance en fonctionnement. Ce journal a également été préparé avec cette assistance, puis vérifié par rapport au code et à l’application déployée.

Je serais intéressé par les retours de personnes exploitant déjà des écrans d’information ou des bornes interactives : quels matériels et environnements vous sembleraient les plus pertinents à tester ? Les rapports de bogues, essais et contributions sont naturellement bienvenus.

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

Lire la suite…

Sur Lyon − Meetup le 26 août

by grewn0uille from AFPy discuss

Hello tout le monde,

Le prochain meetup a lieu le mercredi 26 août, à partir de 18h, au Elephant & Castle !

C’est toujours l’été, donc pas de présentation au programme, mais des rencontres informelles :sun:

Sur Lyon − Meetup le 26 août
Expiré · Créé par  grewn0uille
August 26, 2026 6:00 PM (Europe/Paris) → August 26, 2026 9:00 PM (Europe/Paris)
www.meetup.com/fr-fr/python-afpy-lyon/events/316151119/
0 utilisateur participera

1 message - 1 participant(e)

Lire le sujet en entier

Lire la suite…