ToutEnClic 5.02 pour gommer les différences

Posté par  . Édité par Benoît Sibaud et Davy Defaud. Modéré par Nÿco. Licence CC By‑SA.
39
7
mai
2018
Éducation

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

Posté par  (site web personnel) . Édité par Nils Ratusznik, Davy Defaud, Benoît Sibaud et palm123. Modéré par Pierre Jarillon. Licence CC By‑SA.
Étiquettes :
39
28
août
2018
Python

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

Posté par  (site web personnel) . Édité par Nils Ratusznik, Davy Defaud, ZeroHeure et palm123. Modéré par Pierre Jarillon. Licence CC By‑SA.
36
10
nov.
2016
Python

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

Posté par  (site web personnel) . Licence CC By‑SA.
36
27
août
2013

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

Posté par  . Licence CC By‑SA.
35
13
mar.
2018

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 !

Posté par  . Édité par Pierre Jarillon et claudex. Modéré par Pierre Jarillon. Licence CC By‑SA.
Étiquettes :
34
27
déc.
2012
Audiovisuel

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.

Logo raspyplayer

Journal Python 3.11 est disponible

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
33
25
oct.
2022

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
  • PEP 654 - Groupes d'exceptions et except*
  • PEP 680 - tomllib rejoint la librairie standard
  • GH-90908 - Introduction des groupes de tâches dans asyncio
  • GH-34827 - Groupes atomiques ((?>...)) and quantifieur possessifs (*+, ++, ?+, {m,n}+) sont maintenant supportés (…)

pyxshell : piper des flux de texte en pur Python

Posté par  (site web personnel, Mastodon) . Édité par Davy Defaud, Nÿco, claudex, Benoît Sibaud et Xavier Teyssier. Modéré par claudex. Licence CC By‑SA.
Étiquettes :
33
16
jan.
2013
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…

Posté par  . Licence CC By‑SA.
32
4
sept.
2017

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)

Posté par  . Licence CC By‑SA.
Étiquettes :
32
6
nov.
2017

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

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
31
2
jan.
2018

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!

Posté par  . Licence CC By‑SA.
31
28
déc.
2019

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

Posté par  . Licence CC By‑SA.
Étiquettes :
30
9
nov.
2021

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

Posté par  . Édité par Benoît Sibaud et claudex. Modéré par ZeroHeure. Licence CC By‑SA.
29
29
juin
2016
Python

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

Posté par  (site web personnel) . Licence CC By‑SA.
28
14
juil.
2020

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 (…)