MakeMake The Dwarf Planet is a feed agregator.

Un agenda culturel participatif

by jm trivial from Linuxfr.org

Il y a 2 ans maintenant, avec une amie on faisait le constat qu'il n'existait pas d'agenda culturel pour Clermont-Ferrand et ses environs.

Après un petit tour d’horizon des outils disponibles (en particulier un import quotidien de sources hétérogènes), et n’ayant rien identifié qui corresponde à notre cahier des charges, j’ai commencé en septembre 2023 à coder un logiciel en m’appuyant sur django, et plein d’autres briques libres. Au fil des mois, c’est devenu relativement fonctionnel, et en septembre 2024, on a commencé à annoncer autour de nous https://pommesdelune.fr/.

Capture d'écran de pommes de lune

Au fil des premiers mois, plusieurs personnes sont venues nous rejoindre, pour participer au développement, à la modération, à la diffusion ou encore à la prospection/curation, afin que l’agenda soit de plus en plus complet.

Fonctionnement de l'agenda culturel

La particularité fonctionnelle de l’outil, c’est qu’il permet l’import automatique d’un grand nombre de sources, facilitant le travail quotidien des personnes qui font vivre l’agenda. On s’est focalisés sur le Puy-de-Dôme, et on essaye de couvrir toutes les activités culturelles, bien au delà des simples concerts de musique actuelle. C’est aujourd’hui plus de 170 sources qui sont intégrées chaque nuit.

L’outil permet également aux internautes de soumettre un événement ponctuel, qui sera bien sûr intégré après modération. On s’appuie sur un ensemble d’étiquettes et de catégories pour classer les événements, qui sont aussi géolocalisés. L’interface permet de filtrer et de rechercher de manière fine, afin de trouver son bonheur. Elle permet aussi de générer un flux ical correspondant au filtrage choisi, afin d’alimenter son propre agenda.

La pile logicielle s’appuie sur django, redis, celery, selenium, feather icons, ou encore Pico CSS. Le tout est distribué sous licence AGPL.

Depuis la publication, je continue régulièrement à améliorer l’outil, pour qu’il corresponde de plus en plus aux idées que l’équipe qui anime pommes de lune. À vrai dire, j’ai du mal à m’arrêter :

calendier d'activité sur la forge chapril

Les défis sont nombreux :

  • récupérer les informations depuis des sites internet qui parfois font tout pour interdire les robots d’explorer leur contenu (facebook, helloasso, etc),
  • intégrer des sources très variées, car chaque organisme du territoire a ses propres modes de diffusion,
  • réussir à extraire et structurer une donnée à partir d’informations prévues la plupart du temps pour être lues par des humains, et pas par des machines,
  • gérer les mises à jour des événements depuis les sources, l’édition locale, la détection de doublons, la géolocalisation des événements,
  • fournir une interface de consultation ergonomique, agréable, rapide et fonctionnelle,
  • fournir une interface de modération efficace, pour économiser un maximum de temps aux modérateurices.

En plus du projet principal d’agenda culturel, j’ai aussi récemment développé une petite bibliothèque indépendante pour extraire les dates et heures présentes dans un texte sous forme libre : chronostring. Cette bibliothèque fonctionne par détection de motifs élémentaires, puis par la consolidation des informations présentes, jusqu’à arriver à une description complètement structurée des dates et heures.

 Voir aussi

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

Lire la suite…

Gestion simple de tournois sportif PyTournois

by Sébastien Bonnegent,Benoît Sibaud,Xavier Teyssier,palm123 from Linuxfr.org

Sportifs du dimanche, on a souvent besoin de gérer des tournois très simples du type « tout le monde rencontre tout le monde » avec quelques contraintes:

  • nombre de terrains limité ;
  • temps d’attente minimal entre deux matchs ;
  • règles variées sur la gestion des scores.

Depuis une vingtaine d’années, je développe différents sites en Python/Django. Du coup j’ai fabriqué un début de site :).

Code

Libriste depuis toujours, le code du projet est sous licence GPL. Actuellement très simple, le site permet de gérer uniquement le mode « toutes les équipes se rencontrent ». Plus tard, suivant les retours, les utilisations et mon temps libre, j’ajouterai d’autres modes (par exemple pour gérer des groupes de placements).

Pour éviter les calculs inutiles, l’affectation des rencontres utilise des grilles de placement. Ces grilles sont calculées une fois pour toutes et contenues dans le projet. L’avantage est d’être efficace et rapide sur la génération de toutes les rencontres. L’inconvénient est que seules quelques combinaisons sont actuellement disponibles :)

Fonctionnement

Le fonctionnement est très simple, le principe de base est que toutes les informations sont visibles sans connexion. Il y a quatre grands rôles utilisateurs:

  • administrateur: sert surtout pour créer des comptes utilisateurs ;
  • organisateur: peut créer des équipes et réinitialiser un tournoi ;
  • arbitre: peut enregistrer/modifier les résultats des matchs ;
  • anonyme: accès à la liste des matchs et au classement.

Les règles de classement sont affichées. On peut également définir un message d’accueil. Si on veut sauvegarder les résultats d’un tournoi, il y a un export au format CSV.

Démonstration

Il y a évidemment un site de démonstration du projet. Le lien se trouve ci-dessous. Les ressources nécessaires pour faire tourner le site sont extrêmement limitées. Si les fonctionnalités du site vous conviennent et que vous voulez l’utiliser pour un club/tournois, n’hésitez pas à me contacter. Je pourrais mettre en ligne une version dédiée gratuitement.

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

Lire la suite…

Règles d’utilisation des espaces d’échanges de l’AFPy

by grewn0uille from AFPy discuss

Bonjour,

Les règles et buts d’utilisation des espaces d’échanges de l’AFPy ne sont pas forcément clairs pour tout le monde.
Nous (le Comité Directeur) souhaitons les expliciter afin que toutes les personnes utilisant ou rejoignant ces espaces soient informées.

Les espaces d’échanges permettent à l’association de soutenir son but, à savoir « la vulgarisation auprès d’un public francophone du langage de programmation python et de ses applications ».
Ces espaces ont pour but de discuter, d’aider et de demander de l’aide sur des sujets autour de Python.

  1. les espaces d’échanges sont soumis à la Charte de l’association.
  2. la formation et la promotion commerciale ne sont pas autorisées.
  3. le flood n’est pas autorisé. Pour les plateformes le permettant, nous vous invitons à créer des fils de discussion.

Si vous souhaitez définir des règles allant à l’encontre du but des espaces d’échanges et de l’AFPy, ou des règles définies ici, nous vous invitons à utiliser des espaces indépendants de l’AFPy.

En cas de non-respect des règles, les membres du Comité Directeur pourront prendre les mesures qu’iels jugent appropriées, allant de l’avertissement à l’exclusion temporaire ou définitive des espaces.

En cas d’incident, que vous soyez victime ou témoin, vous pouvez contacter le Comité Directeur ou un·e de ses membres.
La liste des membres du Comité Directeur est disponible sur le site de l’association.

2 messages - 1 participant(e)

Lire le sujet en entier

Lire la suite…

14 fonctionnalités Python avancées

by Camille Roux from Human coders

Après 12 ans d’expérience en Python, un·e développeur·se partage des astuces avancées et méconnues, allant bien au-delà des fonctionnalités habituellement présentées comme les générateurs ou les tuples. Un article qui promet d’explorer les aspects les plus sophistiqués et parfois ‘non-pythoniques’ de ce langage populaire, permettant aux développeur·se·s de pousser Python dans ses retranchements.


Commentaires
L'article 14 fonctionnalités Python avancées a été posté dans la catégorie Python de Human Coders News

Lire la suite…

Comment déployer une app Python en production ?

by Camille Roux from Human coders

Découvrez les outils essentiels et les bonnes pratiques pour déployer efficacement vos applications Python en production, avec un focus particulier sur l’analyse de données et le machine learning. Un guide pratique pour les développeur·se·s souhaitant maîtriser le déploiement d’applications Python robustes et performantes en environnement de production.


Commentaires
L'article Comment déployer une app Python en production ? a été posté dans la catégorie Python de Human Coders News

Lire la suite…

Mission Freelance : Python / Django Rest Framework Paris

by Malik from AFPy discuss

– Développeur Backend Senior – Python / Django REST
:round_pushpin: Localisation : 2 jours / semaine sur site (1 jour Pantin 1 jours à Puteaux)
:date: Démarrage : ASAP
:hourglass_not_done: Durée : 3 mois renouvelable
TJM : 430€

Hello à tous ! :waving_hand:

Je suis à la recherche d’un(e) Développeur·se Backend expérimenté·e pour rejoindre un projet technique très stimulant autour de la diffusion de données encodées par satellite :satellite:

:bullseye: Le contexte :

Développement d’une API métier au cœur d’un système de communication innovant. L’objectif : générer des messages encodés destinés à des décodeurs, dans un environnement en constante évolution.

:man_technologist: Ce que tu feras :

  • Conception & développement d’API performantes
  • Revue de code, TDD, bonnes pratiques
  • Contribution aux choix d’architecture logicielle
  • Collaboration étroite avec des ingénieurs backend & cloud

:hammer_and_wrench: Stack technique :

Python – Django REST – PostgreSQL – AWS (S3, Lambda) – Docker

:light_bulb: Ce qu’on recherche :

  • Solide expérience en Django/DRF
  • À l’aise avec les environnements cloud & conteneurisés
  • Rigueur, autonomie, bon esprit d’équipe

Envie de rejoindre un projet à impact, dans un environnement collaboratif

1 message - 1 participant(e)

Lire le sujet en entier

Lire la suite…

Sur Paris - Meetup Django le 22 avril

by sabderemane from AFPy discuss

Bonjour à toutes et à tous,

Meetup Django le 22 avril 2025 dans les locaux d’ Octopus Energy/Kraken Tech 87 Rue de Richelieu, 75002, Paris.

L’occasion de se retrouver et d’en apprendre plus sur:

1337 h4ck3r - hacker topics :pirate_flag::
- crudlfap, YourLabs - James Pic (Français)
- djwebdapp, PyratzLabs - Thomas Binetruy (Français)

Tres bonne journée à toute/s !

Django Paris Meetup - Avril

2025-04-22 19:00 (Europe/Paris) → 2025-04-22 22:00 (Europe/Paris)

2 messages - 2 participant(e)s

Lire le sujet en entier

Lire la suite…

Les outils du logiciel libre pour l'ingénieur

by toremilaC from Linuxfr.org

Bonjour,

A la rentrée, je relance un cours sur les outils du logiciel libre pour l'ingénieur. L'idée est de familiariser les étudiants au monde du logiciel libre, qu'ils ne connaissent que trop rarement.

Le "cours" est en fait essentiellement construit autour de deux gros TPs dans lesquels les étudiants vont apprendre à combiner plusieurs commandes pour :

  1. construire une vidéo des températures sur le territoire américain à partir des fichiers texte de ces mesures,
  2. Construire une vidéo d'une éruption solaire à partir des images capturées par le Solar Dynamics Observatory

Image du soleil, en fausse couleur, à partir des données du SDO

Températures sur le territoire américain, à partir des données du NOAA

Les données pour les températures sur le territoire américan étaient mises à disposition par le National Oceanic and Atmospheric Agency (NOAA) que l'administration Trump est entrain de saccager. Heureusement que de courageux volontaires, comme le Climate Mirror, tentent de préserver ces données !

Pour en revenir aux sujets de TP, quelques commandes que les étudiants sont amenés à utiliser :

  • lynx: pour interroger un site et récupérer la liste des images depuis le site du SDO,
  • zenity: pour proposer une petite interface utilisateur,
  • convert: pour redimensionner les images, les colorer, y incruster du texte,
  • awk, sed, grep, join : pour filtrer les URLs, remanier les noms de fichiers, extraire les dates de prise de vue des noms de fichier,
  • python, basemap : pour le tracé des données avec un fond de carte,
  • ffmpeg: pour construire une vidéo.

C'est un cours que je donnai il y a quelques années, avec un support PDF que j'ai préféré convertir en un site web mkdocs.

Le support en ligne est disponible à l'adresse https://jeremyfix.github.io/OutilsLibres/ avec les sujets de TP et également un petit annuaire d'outils par thèmes :

  • interaction avec une machine distante : ssh, scp, rsync, multiplexeurs de terminaux,
  • automatisation de tâches : makefile,
  • filtrage de documents : awk, sed,
  • manipulation d'images : imagemagick, gimp,

Je ne suis absolument pas dans l'idée d'être exhaustif ni de remplacer d'autres ressources comme wikibooks, la documentation GNU, etc.

N'hésites pas à me dire ce que tu en penses.

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

Lire la suite…

yahi un parseur de logs pour remplacer awstats

by jul from AFPy discuss

Yahi est un module python deux en un.

Il contient un agrégateur de statistique basé sur les regexps. Pour l’instant seules sont fournies les regexps de format Common log format pour les serveurs web courants (nginx, apache) et lighthttpd et varnish, mais il est aisé de par exemple l’utiliser pour analyser les journaux auth.log.

Il contient ensuite un générateur de visualisation « tout en une page html » dont la démonstration est ici qui à l’avantage d’embarquer en une page : les données, la CSS, les visualisations, et d’être « bookmarkable » grâce à quelques ruses de javascript, ce qui rend son hébergement aisé pour les sysadmins.

Son API permet en outre de faire des agrégations plus compliquées.

1 message - 1 participant(e)

Lire le sujet en entier

Lire la suite…

Chef-Cheffe technique et fonctionnel d'applications métier web - Toulouse - CDI

by makina from AFPy discuss

Makina Corpus développe des projets web ou mobiles d’envergure combinant notamment la cartographie, l’intelligence artificielle, le traitement et l’analyse de données, la dataviz. Nos applications phares sont au service de domaines tels que la randonnée et la gestion d’espaces naturels (Geotrek), l’aménagement et le développement économique de territoires (Actif), la prévention des risques naturels, la gestion de l’eau

Notre organisation et nos prestations se construisent sur trois piliers : les logiciels libres, le respect de l’humain et l’engagement en faveur de l’environnement; trois valeurs fondamentales que nous développons et renforçons grâce à notre charte RSE.

Découvrez quelques uns de nos projets : Références | Makina Corpus, et retrouvez-nous sur Welcome To The Jungle (Makina Corpus : photos, vidéos, recrutement).

La mission

Vous intégrerez un pôle interdisciplinaire (chefs de projets, ergonomes, graphistes, développeurs Back/Front/Mobile, SIG, DBA…) réparti entre Toulouse, Nantes et Paris, au sein duquel vous aurez pour mission de piloter les projets de nos clients et de participer de façon active au développement commercial.

Vos missions consisteront à :

  • Identifier et mettre en œuvre au sein du projet les besoins technico-fonctionnels des clients
  • Formaliser, organiser, planifier et contrôler les phases de réalisation
  • Piloter et coordonner l’équipe projet
  • Assurer le suivi du planning et le contrôle de la qualitéNotre organisation et nos prestations se construisent sur trois piliers : les logiciels libres, le respect de l’humain et l’engagement en faveur de l’environnement; trois valeurs fondamentales que nous développons et renforçons grâce à notre charte RSE.
  • Gérer les engagements vis-à-vis du client et s’assurer de sa satisfaction
  • Fidéliser, entretenir et développer le portefeuille client existant
  • Participer aux phases d’avant-vente en relation avec le client et avec nos équipes, rédiger une proposition commerciale

Nous mettrons en place un plan de formation et un accompagnement par plusieurs chefs de projets adapté pour vous permettre d’acquérir rapidement une très bonne connaissance de l’entreprise, son activité et son environnement, et de vous approprier et maîtriser le s techniques de gestion de projet web exigeants.

Ce poste est ouvert au télétravail partiel (jusqu’à 3 jours/semaine).

Profil

Vous maîtrisez les méthodes et outils de gestion de projets web complexes et techniques, et possédez une expérience de minimum 2 ans sur ce type de poste.

Vous possédez un background technique dans le développement web.

Vous avez une appétence commerciale et idéalement une expérience dans la réponse à appels d’offres.

  • Vous aimez comprendre les besoins du client, s’approprier son métier et lui proposer des solutions adaptées ;
  • Votre goût du travail en équipe, votre curiosité, vos excellentes qualités relationnelles seront des atouts indispensables. Apprendre toujours plus vous stimule !

Nous ne précisons pas de diplôme ou de niveau d’études minimum car nous attachons avant tout de l’importance aux compétences et à la passion du métier.

Informations complémentaires

Dans la ruche collaborative Makina Corpus, on dit ce qu’on fait : les makiniens évoluent dans une ambiance motivante et stimulante (projets et contrib opensource, participations encouragées à des évènements/meetup, émulation entre experts passionnés, technos innovantes à tester, veille…) et contribuent aux valeurs humaines ancrées dans l’ADN de l’entreprise (environnement, équilibre vie pro/vie privée, collaboratif, télétravail…).

Mais surtout chez Makina on fait ce qu’on dit : vous avez besoin de le voir pour le croire ? Venez nous rencontrer, un.e makinien.ne pourra vous en parler ! Nos équipes sont mixtes, femmes et hommes du numérique nous vous attendons.

Écrivez-nous et racontez qui vous êtes et ce qui vous anime. Expliquez-nous en quoi vos motivations et vos compétences sont en adéquation avec nos valeurs et nos activités.

En savoir plus sur notre processus de recrutement :

Nous répondons à chacune des candidatures de manière personnalisée et dans un délai que nous essayons de rendre le plus raisonnable possible. Si votre candidature est sélectionnée, voici comment cela va se passer pour vous :

  • un 1° échange en visio vous sera proposé par Lise notre RRH afin de faire plus ample connaissance et de déterminer si vous, comme nous, souhaitons aller plus loin ;
  • il y aura ensuite un 2° entretien avec 2 chefs de projet toulousains : ce sera l’occasion de parler du poste, des missions et des projets ;
  • enfin, vous serez reçu.e par le responsable de l’agence.

La décision finale sera prise collectivement par vos différents interlocuteurs. Tout au long du parcours, vous serez en lien direct avec Lise.

1 message - 1 participant(e)

Lire le sujet en entier

Lire la suite…