ToutEnClic est un logiciel pour travailler à l’écran sur un document numérisé, de la même façon que sur un cahier, pour palier le handicap moteur des enfants incapables d’utiliser les outils usuels, tels que règles, crayons, compas. Alain Delgrange le développe depuis 2009 dans un environnement Ubuntu, publie une version 5.02 entièrement réécrite en Python 3 et PyQt 5 pour apporter plus de fluidité, de stabilité et améliorer ses nombreuses fonctionnalités qui répondent quasiment à toutes les tâches demandées par un enseignant à ses élèves.
Crowl, un crawler SEO open-source
Crowl est un projet de développement d’un crawler SEO collaboratif sous licence GPL v3. Développé en Python et basé sur le cadriciel Scrapy, Crowl a pour but de fournir aux professionnels du référencement un outil simple, robuste et innovant pour répondre à des besoins non couverts par les outils actuels.
Trigger Happy : une passerelle entre vos services Internet
Trigger Happy se veut être une alternative libre du célébrissime site/service IFTTT. Le principe ? Récupérer des informations situées à l’autre bout de la toile pour les publier ou les enregistrer ailleurs. Trigger Happy est disponible en version 1.1.0 depuis le 25 octobre dernier.
Exemples de scénarii :
- à chaque nouvelle dépêche sur LinuxFr.org, sans lever le petit doigt, je sauvegarde l’article sur mon compte wallabag ;
- chaque tweet disposant des mots « job développeur Python » est enregistré dans mon compte Evernote ;
- chaque ticket ouvert sur GitHub crée une carte sur mon compte Trello (et/ou inversement) ;
- quand j’enregistre une note sur Evernote, cela publie un billet sur mon blog à l’aide de Pelican.
Journal Kit de démarrage Python
Avec le temps, je me suis rendu compte que faire un projet Python bien propre n'était pas si facile que ça, il faut écrire les tests unitaires, utiliser gettext pour les traductions, avoir un fichier setup.py (équivalent de Makefile) pour l'installation ou la génération de paquets (setup.exe, .deb, .rpm, …), préparer la doc pour la générer facilement, utiliser pkg_resources au lieu d'accéder directement aux fichiers (pour les icônes, par exemple), etc.
Au final, ce boulot doit être refait à chaque (…)
Journal upt: l'outil parfait pour empaqueter TapTempo
Bonjour tout le monde,
Je vais faire (éhontément) un peu de pub pour mon dernier projet, upt : the Universal Packaging Tool, ou encore "l'outil d'empaquetage universel", comme on dit en France, de Bretagne en Provence.
Obtenir TapTempo depuis une archive de paquets spécifique à un langage
La communauté récemment formée autour de TapTempo a la possibilité d'utiliser diverses implémentations du logiciel, écrites dans de nombreux langages différents. Toutes ces versions de TapTempo seront sans doute bientôt disponibles sur des (…)
RasPyPlayer V1.0 est sorti !
RasPyPlayer est un lecteur de vidéos simple et léger pour le mini ordinateur Raspberry Pi.
Après plusieurs mois de gestation, j'ai le plaisir de vous annoncer la sortie de RasPyPlayer dans sa première version stable ! Le paquet pour Raspbian est disponible sur le site officiel.
Journal Python 3.11 est disponible
Ce journal est une traduction de https://discuss.python.org/t/python-3-11-0-final-is-now-available/20291
Nouveautés
Changements généraux
- PEP 657 - Introduction de meilleures sources d'erreurs
Exemple :
Traceback (most recent call last):
File "test.py", line 2, in <module>
x['a']['b']['c']['d'] = 1
~~~~~~~~~~~^^^^^
TypeError: 'NoneType' object is not subscriptable
pyxshell : piper des flux de texte en pur Python
pyxshell (à prononcer comme vous pouvez) est un module Python qui permet d’enchaîner des fonctions de traitement de flux avec un opérateur « tube » — pipe, en anglais — (|
) , de la même manière qu’avec un shell.
Si — comme moi — vous devez régulièrement analyser à la main des données textuelles diversement structurées sous différents environnements. Si vous affectionnez la ligne de commande sans raffoler de la syntaxe de Bash, vous apprécierez d’avoir tout sous la main à côté de vos outils Python favoris.
Par exemple :
>>> out=[]
>>> (random.randint(0,2) for i in range(10)) | map(lambda x: ["Oui ","nous sommes ","tous différents "][x]) | sort | uniq | tee(sys.stdout) > out
Oui tous différents nous sommes
>>> print(out)
['Oui ', 'tous différents ', 'nous sommes ']
Journal De l'exploitation des logs de fail2ban…
Comme beaucoup d'entre vous, pour sécuriser l'accès SSH de mon serveur j'utilise fail2ban (en plus des règles habituelles de sécurité). Fail2ban permet d'envoyer un mail à chaque fois qu'il bannit une IP mais finalement personne ne prend le temps d'examiner ces mails car le format n'est pas exploitable.
J'ai donc décidé d'exploiter les logs de fail2ban afin de générer un rapport quotidien.
Pour cela, j'ai utilisé python et les excellentes bibliothèques pandas et matplotlib.
Principe de fonctionnement
1) fail2ban-getlog
Une (…)
Journal BEd : un éditeur graphique pour Beamer (présentations LaTeX)
Bonjour à toutes et à tous,
Je développe depuis quelque temps, épisodiquement et principalement pour mon utilisation personnelle, le logiciel BEd (Beamer Editor). Je profite de sortir la version 1.3 pour faire un peu de pub ici. Le logiciel est publié sous licence libre (GPL 3). Les sources (python, LaTeX) sont disponibles sur framagit, avec un script d'installation. Il existe aussi des paquets pour Arch Linux (bed-latex et bed-latex-git) et un paquet deb.
Motivation :
Comme (…)
Journal Errol: Envoyer automatiquement des fichiers avec XMPP
Note: ce journal est la traduction d'un article posté sur mon blog.
Errol est un programme servant à envoyer des fichiers de machine à machine. Il est basé sur inotify et le protocole XMPP. Errol peut être utilisé pour surveiller un répertoire et transférer automatiquement les nouveaux fichiers (ou les modifiés) vers une autre machine.
À l'origine
Errol a été écrit pour répondre à un besoin. J'ai l'occasion de donner un coup de main à une association locale (…)
Journal SeqTools 1.0.0: la programmation concurrente, c'est dur!
J'ai profité des vacances pour améliorer ma librairie en python SeqTools, déjà présentée sur linuxfr.
Pour rappel, cette librairie permet le traitement "paresseux" de séquences, c'est-à-dire de tout conteneur qui permet l'accès à ses éléments par indexation, en gros des listes, des tableaux ou un objet qui implémente __getitem__
.
La librairie se destine plutôt à des transformations éléments par éléments ou à la réorganisation/combinaison d'une ou de plusieurs séquences entre elles. Pour les pythonistes: c'est un peu (…)
Journal CFS : Système de fichiers sur stockage objet
J'ai forké S3QL !
Contexte : J'ai des serveurs chez des hébergeurs français, et je voulais avoir du stockage partagé entre plusieurs serveurs, sauf qu'il n'y a pas d'équivalent à Amazon EFS, et pour les petits besoins, un NAS, c'est relativement cher. C'est aussi moins souple si ces besoins varient.
S3QL est une solution sympa (pour ceux qui ne connaissent pas, c'est un système de fichiers qui repose sur un stockage objet) mais on ne peut le monter que depuis (…)
GraphDash, ou comment construire une interface web simple pour vos graphes
GraphDash
est un outil développé en Python (avec Flask) et publié sous licence Apache v2.
Il permet de construire une interface web à partir de graphes dont vous disposez. Il vous suffit simplement d'ajouter un fichier contenant des métadonnées. Par exemple:
$ ls default_graph_dir
graph.svg
graph.txt
graph.svg
est votre graphe, et graph.txt
contient quelques métadonnées au format YAML:
$ cat default_graph_dir/graph.txt
name: graph.svg
family: Category 1
title: '*Real serious* graph'
Vous pouvez bien évidemment placer autant de graphes que vous le souhaitez dans le répertoire, et ensuite lancez GraphDash
. Vous obtiendrez une interface web permettant de naviguer, chercher et d'afficher vos graphes.
$ GraphDash -r default_graph_dir
* Running on http://0.0.0.0:5555/ (Press CTRL+C to quit)
Journal Deuxième édition du livre d'intro à la programmation avec Python 3
Salut,
Après plusieurs mois de remise sur le métier XeLaTeX, la deuxième édition de notre livre d'apprentissage de la programmation avec Python 3 est sortie. Le sous-titre a évolué en « Apprendre à Programmer dans l'écosystème Python », pour refléter les évolutions dans le contenu.
Cela reste un ouvrage pour débuter, avec des parties de présentation de méthodologies, d'introduction aux technologies rencontrées. Il peut intéresser les enseignants du collège à l'université, et élèves du lycée au premier cycle universitaire.
Outre (…)