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/.
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.
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 :
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.
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 :).
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.
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.
les espaces d’échanges sont soumis à la Charte de l’association.
la formation et la promotion commerciale ne sont pas autorisées.
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.
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.
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.
– Développeur Backend Senior – Python / Django REST Localisation : 2 jours / semaine sur site (1 jour Pantin 1 jours à Puteaux) Démarrage : ASAP Durée : 3 mois renouvelable
TJM : 430€
Hello à tous !
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
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.
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
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 :
construire une vidéo des températures sur le territoire américain à partir des fichiers texte de ces mesures,
Construire une vidéo d'une éruption solaire à partir des images capturées par
le Solar Dynamics Observatory
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.
Makina Corpusdé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.
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 formationet un accompagnement par plusieurs chefs de projetsadapté 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 les 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, etpossédezune expérience de minimum 2 ans sur ce type de poste.
Vous possédez unbackground 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 minimumcar 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.