Les articles de Bernat Vincent

Python et le C

Magazine
Marque
GNU/Linux Magazine
Numéro
132
|
Mois de parution
novembre 2010
|
Résumé

Python est un langage particulièrement riche. Il dispose notamment d'une importante bibliothèque standard couvrant de larges besoins. Toutefois, il n'est pas rare de recourir à un module externe. Par exemple, si votre application nécessite l'accès à une base de données PostgreSQL, vous pouvez recourir au module tierce psycopg2. Qu'ils soient ou non inclus dans la bibliothèque standard, il existe deux grandes familles de modules : les modules natifs, écrits entièrement en Python et les extensions, qui sont des modules écrits dans un autre langage, typiquement le C. Nous allons nous intéresser dans cet article aux différentes façons d'écrire une extension Python.

La séparation de privilèges en C

Magazine
Marque
GNU/Linux Magazine
Numéro
119
|
Mois de parution
septembre 2009
|
Résumé
La séparation de privilèges [PROVOS] est une technique popularisée par OpenSSH et utilisée notamment dans le projet OpenBSD permettant de séparer un programme en deux parties communiquant entre elles. Une partie s'occupe des opérations nécessitant des privilèges particuliers (ouvrir une socket réseau, ouvrir un fichier). L'autre partie va tourner sans aucun privilège particulier dans un chroot et devra effectuer la plupart des opérations nécessaires à la bonne marche du programme.Cette technique doit permettre de minimiser le nombre de lignes de code requérant des privilèges et donc le nombre de lignes à auditer attentivement. Ajouter la séparation de privilèges à un programme n'est pas forcément très compliqué. Nous allons voir comment créer un petit sniffer l'exploitant.

Python et le réseau

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
40
|
Mois de parution
janvier 2009
|
Résumé
Comme de nombreux langages, Python propose tout l'arsenal nécessaire pour construire des applications réseau. La bibliothèque standard propose de quoi écrire aussi bien des serveurs que des clients. Nous allons voir dans cet article les différentes possibilités offertes par Python dans ce domaine.