Journal Chaînes de formatage et sécurité en python (solution au "Petit Défi Python")

Posté par . Licence CC by-sa.
14
22
jan.
2020

La semaine dernière, je vous proposais un défi de cybersécurité en python. Si vous ne l'avez pas encore vu, allez tenter votre chance sur Github avant de lire la suite de ce journal, ce sera plus intéressant.

La vulnérabilité

La première étape du défi était de trouver où était la faille de sécurité. L'application étant toute simple, ce n'était pas très difficile. Le script python contient les deux lignes suivantes:

to_format = f"Printing a {self.width}-character wide box: [Age:
(...)

Journal term2web : un terminal sur le Web (Python)

Posté par (page perso) . Licence CC by-sa.
10
14
jan.
2020

Par défaut, print(…) et input(…) s’affichent dans le terminal à partir duquel est lancé le programme Python, et le développeur ne maîtrise pas l’apparence du texte affiché. Des bibliothèques comme termcolor permettent de modifier quelques caractéristiques du texte affiché, mais cela reste limité, et les caractéristiques que l’on peut modifier dépendent du terminal utilisé.

term2web est une bibliothèque Python qui redéfinit print(…) et input(…) pour qu’ils s’affichent dans une page Web. À terme, le but est d’avoir une bibliothèque qui (...)

Journal Petit défi Python

Posté par . Licence CC by-sa.
27
14
jan.
2020

Aujourd’hui, je propose à ceux qui s’ennuient un petit défi de cybersécurité en Python.
Voici un script Python qui semble trivial, et qui contient une faille de sécurité :

#!/usr/bin/env python3
import random

SECRET = ''.join(random.choice("0123456789") for i in range(64))

class Sandbox:

    def ask_age(self):
        self.age = input("How old are you ? ")
        self.width = input("How
(...)

Journal Convertir des dates avec month_nb

Posté par (page perso) . Licence CC by-sa.
11
14
jan.
2020

month_nb est un petit utilitaire permettant de traduire le nom d'un mois en son nombre, quelle que soit sa langue (fonctionne pour 69 langues actuellement).

>> month_nb('août');
8

J'ai raconté la génèse du projet sur le blog de Meta-Press.es.

La principale motivation vient du fait que rien n'est prévu pour parser des dates internationales en JavaScript (une fois sorti du format ISO et des formats anglais on est livré à soi-même).

En m'inspirant de la traduction (...)

Journal Exit Pyth(on|ran)2

Posté par (page perso) . Licence CC by-sa.
38
10
jan.
2020

Demat'iNal,

parmi les vœux de 2020, il y en a un qui ne devrait pas passer inaperçu tellement il est attendu depuis longtemps. Je veux bien évidement parler de l'abandon officiel du support de Python2 au profit de Python3.

Les plus abasourdis pourront lire le python 3 statement. Et tout particulièrement cette phrase :

We will then be able to simplify our code and take advantage of the many new
features in the current version of the Python language (...)

Organisation des rencontres autour de Python à Strasbourg

Posté par . Édité par ZeroHeure et Davy Defaud. Modéré par Florent Zara. Licence CC by-sa.
14
9
jan.
2020
Python

On connaît beaucoup Strasbourg pour son marché de Noël et sa cathédrale, mais malheureusement pas pour sa communauté Python. Vu qu’on retrouve l’usage de Python dans les universités et dans les entreprises locales, nous avons décidé d‘organiser des rencontres autour du langage et de ses outils. Un mélange entre conférences, retours d’expérience et ateliers. Tout démarrera fin janvier 2020, de quoi commencer l’année sur une bonne résolution.

Afin de connaître les usages, les disponibilités et les préférences dans le contenu et l’organisation de ces soirées, nous avons mis en place un petit questionnaire sur Framaforms.

Nous sommes présents sur le canal IRC python-fr-stras sur Freenode pour toute question ou suggestion. Nous diffuserons les dates des rencontres sur l’Agenda du Libre

Le gestionnaire de projet Python Poetry 1.0.0 est disponible !

40
17
déc.
2019
Python

L’outil de gestion de projet Python Poetry est sorti en version 1.0.0 ! Sa date de naissance est officiellement le jeudi 12 décembre 2019.

Poetry est un programme en ligne de commande permettant aux développeurs de gérer les métadonnées d’un projet, les dépendances, l’environnement de développement, la génération de livrables, la publication, l’environnement d’exécution et d’autres choses. Le tout de manière unifiée.

À l’origine du projet se trouve le Français Sébastien Eustace. À partir de cette version 1.0.0, le projet Poetry est géré par une équipe nommé sobrement python-poetry avec son propre site et sa propre organisation GitHub.

Plus d’excuse pour ne plus collaborer (avec Tracim 2.5) !

38
5
déc.
2019
Bureautique

Tracim, est une plate‐forme collaborative de partage de fichiers et savoir‐faire pour vos équipes ou communautés. Il permet à ses utilisateurs de collaborer au quotidien et de capitaliser sur les connaissances et sur l’historique de l’information (discussions autour des documents, versionnage et agenda).

Logo de Tracim

Pour en savoir plus sur les fonctionnalités historiques, vous pouvez lire la dépêche de février 2019, et en particulier la partie expliquant ce qu’est la collaboration et ce à quoi Tracim répond. La dépêche de janvier 2018 présentait également les multiples outils que Tracim propose de remplacer dans une interface unifiée et totalement programmable, grâce à son API Rest totale et à l’utilisation de protocoles standards (CalDAV, WebDAV et courriel).

Mais rentrons plutôt dans le vif du sujet…

Journal Présentation des librairies pydiderotlibs dédiées à l'enseignement de python

Posté par . Licence CC by-sa.
17
1
déc.
2019

Présentation

Bonjour à tous,

Mon premier journal pour présenter un projet créé par des profs de math de Marseille: Pydiderotlibs

L'objectif est de créer des librairies dédiées à l'enseignement de python au lycée.

La démarche générale est de cacher les difficultés techniques en présentant des fonctions simples.

Le travail, sous licence MIT, a lieu sur ce dépôt github, on héberge la documentation sur readthedocs et le projet est sur pypi pour être installé facilement via pip.

Exemple 1: Un

(...)

Apprentissage de la programmation dans les lycées (SNT/NSI) — la création d’exercices

19
23
nov.
2019
Éducation

Depuis cette rentrée 2019, les élèves en classe de seconde ont un cours obligatoire intitulé Sciences numériques et technologie (SNT), alors que les élèves en classe de première, puis lors de leur passage en classe de terminale, peuvent opter pour un enseignement intitulé Numérique et sciences informatiques (NSI).

Dans le cadre de ces cours, les élèves auront naturellement des exercices à faire qui consisteront, entre autres, à écrire des programmes en Python (version 3 ou supérieure), le langage retenu par l’éducation nationale. Néanmoins, notamment à cause de leur interface, ces programmes renvoient une image désuète de l’informatique, en décalage avec celle véhiculée par les smartphones, très populaires auprès des jeunes.

Cette dépêche présente un outil dédié à la création d’exercices modernes de programmation, c’est‑à‑dire des exercices reflétant les nouveaux usages de l’informatique, apparus avec la popularisation des smartphones. Cet outil confère à ces exercices une forme nouvelle propre à stimuler l’intérêt des élèves pour ces cours de SNT/NSI, en faisant le lien entre l’informatique telle qu’abordée dans ces cours, et celle à laquelle ils sont habitués de par l’utilisation de leur smartphone.

Journal L/D·es différents paradigmes de programmation en Python

Posté par . Licence CC by-sa.
Tags :
35
7
nov.
2019

Utilisateur de Python tendance Data Sciences pas doué ni réellement formé en programmation, j’ai toujours eu une sorte de complexe par rapport au fait que ce que j’écris en Python sont juste des scripts basiques qui n’utilisent pratiquement pas le caractère orienté objet de Python. Caractère qui me semblait être une des composantes fondamentales de l’identité de Python. Il semblerait qu’il n’est en fait pas non pythonic d’écrire selon d’autre paradigme de programmation que celui orienté objet. C’est même une (...)

Journal Quelques surprises techniques dans Pythran

Posté par (page perso) . Licence CC by-sa.
Tags :
31
7
nov.
2019

Demat' iNal,

Il y a peu sortait la version 0.9.4 du compilateur Pythran, délicatement appelée Hollsent. Pour rappel, Pythran est un compilateur pour du code scientifique écrit en Python, canal optimisation de performances.

À cette occasion, en plus de l'habituelle annonce sur la mliste de diffusion, un petit pot-pourri des améliorations techniques a été rédigé par votre serviteur. Et comme c'est quand même plus marrant d'écrire en français, en voici une traduction libre.

C'est surprenant, mais il (...)

La version 0.6 de Libreosteo est sortie

19
31
oct.
2019
Médecine

Libreosteo est une application Web, libre, multi‐plate‐forme, pour les ostéopathes. Cet outil a pour vocation d’accompagner l’ostéopathe dans la gestion de son cabinet : le suivi des patients, la facturation et la comptabilité.

Il est installé principalement en local (en général sous Windows ou macOS), permettant ainsi de l’utiliser sans connexion Internet. D’autres ostéopathes l’installent sur des serveurs sous GNU/Linux ou via une image Docker, permettant ainsi d’y accéder depuis n’importe quel point d’accès à ces serveurs.

La version 0.6 est sortie le 23 octobre 2019. La dernière version stable (0.5.7) était sortie le 7 juin 2017.

Capture d’écran de Libreosteo