Le symptôme principal c’est qu’il y a des soucis d’accessibilité quand on a une page web avec du contenu partiellement traduit (la synthèse vocale de texte en anglais avec un lecteur réglé sur français par ex. c’est la lose).
Idéalement quand on a une page en français, traduite depuis l’anglais, il faudrait que l’élément html porte lang="fr", et que chaque chaîne non traduite soit enrobée dans un élément portant lang="en". Mais comment qu’on peut faire techniquement ?
Je voulais te pointer ce sujet @mdk vu que tu es ma référence pour tout le Python un peu pointu, et notamment pour les traductions.
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.