Articles Tagués 'python'

Virtual environments with Python 3.3

Follow me on Identi.ca  or Twitter 

One of the major features of Python 3.3 is the new venv module, allowing the creation of Python virtual environments on your system.

1. What is a virtual environment?

A virtual environment is a directory dedicated to the execution of your Python applications. Activating your virtual environment will force Python to execute in this directory as the top level of this directory was the root of your file system.

The virtual environments are interesting because of the independence they have toward the host they run on, especially when you want to install several versions of Python or if you want to install lots of dependencies without being the system administrator of the host.

python-logo-master-v3-TM

If you are a Python developer, you must know virtualenv. This really nice application offers a nice way to create Python virtual environment. Moreover it comes with pip already installed in your virtual environment, in order to install other dependencies you need in a really convenience way.

Starting from Python 3.3, the module venv of the Python standard library offers the users to create virtual environments. This new feature will encourage all users to create virtual environments to develop their own Python applications, which is a good practice. Thanks to the experiences of several applications being used in the Python community, the module venv was written to be really efficient and widely available.

The Python Enhancement Proposal 405 (PEP405) offers a really interesting reading if you wish to find more information about this topic.

2. Creating a virtual environment with Python 3.3

With Python 3.3 comes pyvenv-3.3, allowing to create Python virtual environment:

$ pyvenv-3.3 myvirtualenv
$ cd myvirtualenv/
$ tree .
.
├── bin
│   ├── activate
│   ├── pydoc
│   ├── python -> python3.3
│   ├── python3 -> python3.3
│   └── python3.3 -> /usr/bin/python3.3
├── include
├── lib
│   └── python3.3
│       └── site-packages
└── pyvenv.cfg

As we can see, three directories were created.

  • bin/ offers the activate script and different links to the executable python3.3
  • lib/ offers a tree of directories where the libraries and packages you install in your virtual environment will be stored
  • include/ is by default empty
  • pyvenv.cfg offers different configuration options
$ cat pyvenv.cfg 
home = /usr/bin
include-system-site-packages = false
version = 3.3.2

Just before moving on, if you want to use the existing modules in your global site-packages directory on your system, the option –system-site-packages is available.

3. Activate the virtual environment

Lets activate our virtual environment. We need to use the bin/activate file in this environment:

$ source bin/activate 
(myvirtualenv) $

A change in our prompt indicated the good activation of the virtual environment.

4. Installing applications in the virtual environment

But playing around with only the default Python interpreter is not really funny. Lets download pip, the Python installer, but before that we need a dependency setuptools:

(myvirtualenv) $ curl https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py -o ez_setup.py
 % Total % Received % Xferd Average Speed Time Time Time Current
 Dload Upload Total Spent Left Speed
 100 11356 100 11356 0 0 18507 0 --:--:-- --:--:-- --:--:-- 18495
(myvirtualenv) $ curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py -o get-pip.py
 % Total % Received % Xferd Average Speed Time Time Time Current
 Dload Upload Total Spent Left Speed
 100 543k 100 543k 0 0 685k 0 --:--:-- --:--:-- --:--:-- 685k

Now lets install Setuptools and Pip:

(myvirtualenv) $ python3.3 ez_setup.py
 Downloading https://pypi.python.org/packages/source/s/setuptools/setuptools-2.0.tar.gz
 Extracting in /tmp/tmpxlrv7q
 Now working in /tmp/tmpxlrv7q/setuptools-2.0
 Installing Setuptools
... (lots of lines)...
Installed /tmp/myvirtualenv/lib/python3.3/site-packages/setuptools-2.0-py3.3.egg
 Processing dependencies for setuptools==2.0
 Finished processing dependencies for setuptools==2.0
(myvirtualenv) $ python3.3 get-pip.py
 Downloading/unpacking pip
 Downloading pip-1.4.1.tar.gz (445kB): 445kB downloaded
 Running setup.py egg_info for package pip
 ... (lots of lines)...
 Successfully installed pip
 Cleaning up...

Ok now we’re ready to use pip to install anything we need in our virtual environment. Lets think one more second about what we did: we install the Setuptools and the Pip application inside our virtual environment, with nothing written on our main system. Now lets try to install Brebis, the fully automated backup checker, and run it in this environment:

(myvirtualenv) $ pip-3.3 install brebis
 Downloading/unpacking brebis
 Downloading brebis-0.8.tar.gz
 Running setup.py egg_info for package brebis
Installing collected packages: brebis
 Running setup.py install for brebis
 changing mode of build/scripts-3.3/brebis from 644 to 755
changing mode of /tmp/myvirtualenv/bin/brebis to 755
 Successfully installed brebis
 Cleaning up...

We’re now ready to launch Brebis, executing in our virtual environment:

(myvirtualenv) $ brebis -h
usage: brebis [-h] [-c DIR] [-C DIR] [-d DELIMITER] [-g] [-G] [-l FILE]
 [-L DIR] [-O DIR] [-v] 
Fully automated backup checker
positional arguments:
 archives archives to check
optional arguments:
 -h, --help show this help message and exit
 -c DIR, --configpath DIR
 the path to the configurations
 -C DIR, --output-conf-dir DIR
 the directory to store the configuration file
 -d DELIMITER, --delimiter DELIMITER
 delimiter of the fields for the list of files
 -g, --gen-list generate a list of files inside a backup
 -G, --gen-full generate the configuration file and the list of files
 for the backup
 -l FILE, --log FILE the log file
 -L DIR, --output-list-dir DIR
 the directory to store the list of files inside an
 archive or tree
 -O DIR, --output-list-and-conf-dir DIR
 the directory to store the configuration file and the
 list of files inside an archive or tree
 -v, --version print the version of this program and exit
For more information: http://www.brebisproject.org

So we get an execution of the Brebis application inside our virtual environment, installed from our virtual environment with tools installed only in the virtual environment.

That’s a big step that such a feature is now included in the standard library. In the future, you will enjoy the possibility to create new virtual environments for each Python version right out of the box. Moreover, using the –upgrade option of the pyvenv command, you will upgrade, if needed, your virtual environment in a really easy and straightforward way, making environments adaptable in time.

What about you? What do you think about the Python 3 virtual environments and their features, given your own needs? Feel free to use the comments section of this post.

Cadeau de Noël : Publication de Brebis 0.9, le vérificateur automatisé de sauvegarde

Suivez-moi aussi sur Identi.ca ou sur Twitter 

Peu de temps avant ce Noël, l’équipe du projet Brebis a publié la version "Bouddhinette" 0.9 du vérificateur automatisé de sauvegardes. Pour rappel, Brebis est un programme en ligne de commande codé en Python permettant le contrôle automatisé de l’intégrité d’archives (tar, gz, bzip2, lzma, zip) et de la cohérence des fichiers à l’intérieur des archives. Au menu de cette version :

  • Support des archives apk
  • Nouvelles options de la ligne de commandes pour écrire le fichier de configuration (-C), la liste des fichiers dans l’archive (-L) ou les deux (-O) dans un répertoire défini par l’utilisateur (où précédemment ces fichiers étaient écrits par défaut dans le même répertoire que l’archive elle-même).
brebis-brown-big-logo

Anisette, la fière nouvelle mascotte et nouveau logo du projet Brebis généreusement contribué par Antoine Millet

Comme annoncé aux JM2L, Brebis continue d’intégrer des nouveaux types d’archives , mais aussi rend sa manipulation plus flexible afin d’être intégré plus simplement pour répondre aux besoins de ses utilisateurs en s’adaptant plus simplement aux différentes situations existantes..

Feedback sur Brebis

Et vous ? Que pensez-vous de Brebis ? N’hésitez pas à vous abonner à la liste de diffusion de Brebis,  à laisser un commentaire ici ou  un message sur le forum ou à me contacter directement, tous les retours seront appréciés.

Publication de Brebis 0.8, le vérificateur automatisé de sauvegarde

Suivez-moi aussi sur Identi.ca ou sur Twitter 

Brebis, le vérificateur automatisé de sauvegarde, est désormais disponible en version 0.8. Les principaux apports de cette version sont un renforcement de la sécurité du processus de vérification avec :

  • un nouveau paramètre "sha512" dans le fichier de configuration de Brebis, indiquant la somme de hachage du fichier qui contient la liste des fichiers de l’archive à vérifier. Cela permet de détecter tout changement survenu sur cette liste.
  • le fichier principal de configuration de Brebis peut désormais être signé à l’aide de GPG, afin de garantir qu’un éventuelle modification dudit fichier puisse être détectée.

=> BREAKING NEWS: Brebis est aujourd’hui sur Hackernews, n’hésitez pas à voter pour !

Petits points sur les fonctionnalités de Brebis

Brebis propose aujourd’hui un nombre important de fonctionnalités. En voici un petit résumé.

Les formats supportés de sauvegarde :

  • archive Tar .
  • archive Tar avec compression Gzip .
  • archive Tar avec compression Bzip2 .
  • archive Tar avec compression Lzma.
  • archive Gzip .
  • archive Bzip2 .
  • archive Zip .
  • archive Lzma.
  • arborescence de fichiers.

Contrôle sur l’archive elle-même :

  • détection des archives corrompues.
  • détection des tailles inattendues (égale à, plus petite que, plus grande qu’une taille enregistrée au préalable).
  • contrôle la somme de hachage de l’archive (md5, sha1, sha224, sha256, sha384, sha512).
  • vérifie l’uid/gid de l’archive
  • vérifie le mode de l’archive (états des droits de lecture, écriture et exécution)
  • signature GPG du fichier de configuration principal

Contrôle sur les fichiers à l’intérieur de l’archive :

  • identifie d’éventuels fichiers manquants
  • détection des tailles inattendues des fichiers dans l’archive (égale à, plus petite que, plus grande que)
  • détecte le type des fichiers dans l’archive (fichier, répertoire, lien)
  • vérifie le mode des fichiers dans l’archive (états des droits de lecture, écriture et exécution)
  • contrôle la somme de hachage des fichiers dans l’archive (support du md5, sha1, sha224, sha256, sha384, sha512)
  • identifie un fichier qui n’est pas censé se trouver dans l’archive
  • contrôle la cible des liens dans l’archive

Feedback sur Brebis

Et vous ? Que pensez-vous de Brebis ? N’hésitez pas à vous abonner à la liste de diffusion de Brebis,  à laisser un commentaire ici ou  un message sur le forum ou à me contacter directement, tous les retours seront appréciés.

Vrac de mini-messages n°14 : Debian, Python, django, veille techno, startup et communauté FOSS

Suivez-moi aussi sur Identi.ca ou sur Twitter 

Comme chaque semaine, voici les dents/tweets intéressants de la semaine dernière que j’ai publiés sur Identi.ca ou sur Twitter, revus et augmentés d’éventuels  commentaires et observations mûris au cours de la semaine passée. Attention cette semaine, beaucoup de contenu suite à une actualité plutôt chargée :)

Au menu : Debian, Python , Django, de la veille technologique, le monde des startups et les communautés du libre.

C’est parti !

Debian

  • Happy 20th birthday Debian!: Today is Debian’s 20 anniversary. => un grand moment. Whao, 20 ans déjà pour une distribution (à la base, mais ça a évolué en quelque chose de plus large) GNU/Linux. Un signe impressionnant de perennité qui devrait faire réfléchir bon nombre de décideurs souvent plus tentés à tort par le bling-bling que par des solutions pérennes et éprouvées.

debian-botton

django-logo

  • #iceweasel 17.0.8esr is now available in #Debian #Jessie (Testing) => on en parlait la semaine dernière, iceweasel version ESR (pour Extended Support Release) entre maintenant dans Debian Jessie, une très bonne version pour la bureautique (personnellement c’est ce que j’utilise).
  • python-virtualenv 1.10.1 now in #Debian #Sid (unstable) #virtualenv => nouvelle version de virtualenv, le créateur d’environnement virtuel permettant de cloisonner vos installations d’applications Python, arrive dans sa dernière version upstream dans Debian. Qui a dit que Debian n’était pas à jour ? :)

Python

  • installed yesterday #Python 3.4 alpha 1 trying to solve a bug. Didn’t work but the installation went smoothly => suite à ce que je croyais être un bug de l’interpréteur Python, j’ai tenté de le reproduire un peu avec toutes les versions (au final ça n’avait rien à voir mais…) et j’ai testé donc un peu Python 3.4 alpha 1 qui s’est installé sans problème et a fait tourner Brebis parfaitement. Dans quelques temps je vous tiendrai informé des nouveautés importantes de cette version.

python-logo-master-v3-TM

  • I guess everyone was confronted to a poor choice of data structure one day. Choose the right data struture => personnellement j’ai parfois galéré pour choisir la bonne structure de données pour celles qui étaient au coeur de mes applications et qui allaient s’avérer difficiles à changer plus tard. Un peu de réflexion et d’algorithmique que je n’ai pas regretté plus tard.
  • cool things of #Python (nice examples and links) => Reddit n’est pas toujours drôle à lire et il y a souvent beaucoup de déchêts, mais j’ai trouvé intéressants certains points présentés dans l’article. On peut s’en passer mais ceux qui sont curieux des idiomes et astuces de Python seront intéressés.

ruby-logo

Veille technologique

  • setting up #Puppet class saz-#sudo on our new Puppet server. Seems pretty nice, clear and modular http://forge.puppetlabs.com/saz/sudo  => une classe que je mets en place qui me semble très flexible donc sympathique à exploiter si on la compare au monolithique fichier plat sudoers.

postgresql

  • just discovered statuspage.io, interesting idea IMO => pour les sites hautement disponibles ou les entreprises ne pouvant se permettre de laisser leurs utilisateurs dans le flou, j’aime bien ce concept de proposer une page de statut qui reste disponible quoiqu’il arrive.
  • IMO the most interesting feature of #spacewalk 2.0 is to get rid of ugly Oracle DB Express ed (via @linuxfrorg) => au niveau professionnel je travaille avec Spacewalk et je n’ai jamais supporté l’emploi de Oracle DB Express, cela m’a toujours fait l’impression d’une verrue indésirable. Voici donc la possibilité de l’enlever dans la 2.0 de Spacewalk.
  • A complete scan of the IPv4 address space in under 45 minutes ? https://zmap.io => je n’ai pas encore pu approfondir mais ça me paraît très très alléchant. Reste à voir le niveau d’agressivité au niveau des ressources consommées.

Startup

  • 57 startup lessons => une suite de conseils et d’astuces avec beaucoup de bons sens. Bien sûr certaines apparaissent un peu inutiles mais ça a le mérite de faire atterrir certaines personnes qui planent un peu trop haut, victimes du discours ambiant sur les startups type "monte ta startup et deviens riche en 90 jours".
  • How to raise money as a first time founder => l’importance du bon produit est souligné du début à la fin. Cela apparaît comme une évidence mais quand on voit la volée actuelle de rachats, on peut s’intérroger sur les choix de certains investisseurs.
  • #startup #business Paul Graham feedback: How to convince investors => c’est plus de la curiosité pour moi, chef d’entreprise, qu’un réel besoin mais il est toujours bon de lire un retour bien fait et intéressant sur comment convaincre un éventuel investisseur.
  • #startup nice feedback: 90 thing I’ve learned from founding 4 #technology companies => une autre série de conseils par un serial entrepreneur. À lire en pesant bien le pour et le contre, certaines remarques étant carrément à jeter.
  • interesting blog about #startup by a startup founder http://wadefoster.net/ => j’ai parcouru et me suis gardé pour plus tard plusieurs articles de ce créateur d’entreprise qui me semble très intéressants.

Communauté

  • DjangoCon: verifiably awesome - That Time I Wasn’t Harassed At A Conference => Témoignage sans enrobage d’une femme ayant participée à plusieurs rassemblements des FOSS et faisant un retour sur le bon accueil de la communauté  Python (et sur le mauvais accueil des autres, soyons clair).

djangocon-logo

  • what every community can learn from #Python "is the most welcoming one in tech" for women => autre témoignage on ne peut plus clair sur le même sujet. La direction prise par le projet Python semble très efficace.

Autopromo

  • New blog post: Interview et activités professionnelles => suite à mon interview par la société de placement HopWork, je me suis fendu d’un billet autopromotionnel. Je vous rassure, ça n’arrive pas souvent mais c’est quand même ce qui paie les factures ;)

mytux-320-149

Et vous ? Que pensez-vous des technologies et articles abordés ci-dessus ? N’hésitez pas à réagir comme d’habitude dans les commentaires.

Infrastructure logicielle derrière un projet libre

Suivez-moi aussi sur Identi.ca ou sur Twitter 

Après mon billet décrivant un exemple d’infrastructure derrière un site web moderne, je vais continuer dans cette veine en décrivant un exemple d’infrastructure servant au développement d’un projet de Logiciel Libre, à savoir ici le projet Brebis, un vérificateur de sauvegarde (nombreux types d’archives, fichiers plats) dont j’ai déjà parlé de nombreuses fois sur ce blog.

C’est parti !

Gestionnaire de versions décentralisé : Mercurial

Au coeur du processus de développement du projet, l’outil décentralisé de gestion de versions Mercurial. J’ai fait le choix de Mercurial car il est codé principalement en Python et utilisé dans la communauté des Pythonistes. Utilisant déjà Git plus ou moins régulièrement, Je souhaitais avoir une expérience sérieuse de développement avec Mercurial, en ayant marre de lire des comptes-rendu de personnes qui testent 10 minutes Mercurial puis 10 minutes Git et ensuite écrivent un billet de 10 pages sur le sujet. Pas de parti pris donc.

mercurial-logo

Intégration continue avec le projet Buildbot

buildbot-logo

Avec le projet Belier, un générateur de script expect pour établir des connexions SSH complexes, j’avais commencé à utiliser l’outil d’intégration continue Buildbot qui consiste à lancer une série de tests à chaque modification de mon dépôt de sources et à fournir une vue synthétique du résultat de ces tests, afin d’éviter d’introduire de nouveaux bugs et de subir des régressions (casser des fonctionnalités déjà présentes dans les versions précédentes) au sein du code. Mes besoins n’ayant pas beaucoup évolués, j’ai déployé une nouvelle instance Buildbot et l’utilise pour différentes étapes de l’intégration continue, à savoir :

  • lancement automatique des actions de Buildbot via un hook dans le dépôt Mercurial sur le serveur
  • Lancement des tests unitaires sur le serveur
  • Lancement des tests fonctionnels sur le serveur
  • Construction du paquet Python sur le serveur
  • Test de l’installation du paquet Python sur le serveur
  • Lancement des tests fonctionnels qui vont prendre du temps (plusieurs dizaines de minutes) sur le serveur

Le résultat est une vue en cascade des différentes étapes du processus d’intégration continue permettant d’identifier les étapes ayant échouées et vous permettant ainsi de les corriger avant la publication de la nouvelle version.

buildbot

Site web, suivi de bugs et accès web au dépôt du projet : la forge Redmine

La forge Redmine est un projet que j’affectionne car il fournit une forge (qu’est-ce qu’une forge logicielle ?) efficace, simple à configurer et offrant de nombreuses fonctionnalités (wiki, forums, explorations des dépôts via le web, publication de news, …). Puis c’est 100% du Logiciel Libre (GPL) contrairement à blingbling Github. Cette forge me permet de rester  tant que je le souhaite avec le même cadre de travail.

Redmine-logo

J’utilise beaucoup la fonctionnalité de suivi de bugs (et je vous la recommande) afin de tracer les différentes étapes du développement (principalement améliorations et corrections de bugs) et j’ai donc de nombreuses interactions entre le dépôt Mercurial et les bugs ouverts dans Redmine. Lors de mes commits une chaîne de type "fixes #21" dans mon message de commit me permet par exemple de fermer automatiquement un bug ouvert dans Redmine. Quasi indispensable.

Axes d’amélioration

Le principal goulet d’étranglement que je rencontre aujourd’hui n’est plus tant dans le processus de production du code que dans le processus de publication. J’ai encore de nombreuses étapes manuelles à ce niveau que je pourrais réduire drastiquement. Je vais donc me concentrer sur ces points dans un futur très proche. J’ai également dans l’idée de mettre en place un outil de revue de code quand le nombre de contributeurs grossira.

Et vous ? Que pensez-vous de l’infrastructure décrite ci-dessus ? N’hésitez pas à réagir dans les commentaires.

Vrac de mini-messages n°13 : openjdk, iceweasel, pylint, python, whoosh, brebis bazaar

Suivez-moi aussi sur Identi.ca ou sur Twitter 

Comme chaque semaine, voici les dents/tweets intéressants de la semaine dernière que j’ai publiés sur Identi.ca ou sur Twitter, revus et augmentés d’éventuels  commentaires et observations mûris au cours de la semaine passée. Au menu : Openjdk, Iceweasel, Pylint, Python, Whoosh, Brebis et Bazaar.

C’est parti !

  • Debian just switched default Java to OpenJDK 7 (via Sylvestre Ledru) => très intéressante news qui montre la dynamique du projet Debian même sur la question de Java. Passer de la 6 à la 7 était un gros travail et j’envoie mes félicitations à la Java Packaging team.

openjdk-logo

  • Iceweasel (Firefox) 17.0.8esr now available in #Debian #sid => ça bouge beaucoup du côté de Iceweasel (version Debian de Firefox), les différentes versions s’enchaînent rapidement et sont toujours rapidement disponible dans la distribution à la spirale. Ici la version ESR pour Extended Support Release, une version supportée plus longtemps que les autres par le projet Firefox.

iceweasel-logo

  • "Pylint 1.0 released!" => une bonne nouvelle, l’arrivée de la version 1.0 de Pylint, l’analyseur syntaxique et de qualité de code pour Python. Un logiciel dont j’avais déjà ici, exhaustif dans ses résultats et donc que j’apprécie utiliser. Une version à ne pas manquer, surtout si vous ne l’avez pas encore utilisé :)

pylint-logo

  • 29 common Python beginners errors on one page => en en image en plus ! Toujours intéressant à consulter je trouve.
  • How namedtuple works in #Python 2.7 => des structures de données bien utiles à côté desquelles on passe à côté. Personnellement j’adore les tuples en Python, mais là c’est un article un peu sioux sur l’implémentation elle-même des tuples nommés, disponible dans le module collections. À lire pour les curieux de ce type de sujets :)

python-logo-master-v3-TM

whoosh-logo

bazaar-logo

Et vous ? Que pensez-vous des technologies et articles abordés ci-dessus ? N’hésitez pas à réagir dans les commentaires. Et à la semaine prochaine pour la suite de cette série d’articles.

Vrac de mini-messages n°11 : Debian Project Leader, OVH, build de Firefox, rachat de Sourcefire, Python, PyPy, Libreoffice et Pychef

Suivez-moi aussi sur Identi.ca ou sur Twitter 

Comme chaque semaine, voici les dents/tweets intéressants de la semaine dernière que j’ai publiés sur Identi.ca ou sur Twitter, revus et augmentés d’éventuels  commentaires et observations mûris au cours de la semaine passée. Au menu : interview de Lucas Nussbaum, chef de projet Debian, les mésaventures d’OVH, le rachat de Sourcefire, du Python, beta de PyPy, nouvelle version de Libreoffice et Pychef.

C’est parti !

  • Interview très intéressante de Lucas Nussbaum, Debian Project Leader, sur ITWire via Debian Project New => une très intéressante interview de Lucas Nussbaum, récent chef de projet (Debian Project Leader) du projet Debian. Il y explique sa vision pour le projet, ce qui est toujours intéressant de connaître quand on s’intéresse à Debian.

Proposed Debian Logo

  • intrusion et incident de sécurité chez OVH => nouvelle intéressante et qu’il est facile de louper quand on délaisse l’actualité pour les terrasses des cafés ou les endroits ombragés :p J’ai annoncé l’événement très peu de temps après qu’il fut rendu public et mes abonnés Identi.ca/Twitter ont ainsi pu être averti rapidement. C’est un problème grave qui impactait beaucoup de mes clients en administration système Linux et je les ai avertis également très rapidement. C’est bien qu’OVH ait joué la transparence là-dessus, sinon je pense que je ne serais plus chez eux. Il me reste beaucoup à leur reprocher, ce sera peut-être dans un billet dédié dans quelques temps.

ovh-logo

firefox-logo

  • Comparaison Ansible et Salt (gestion d’infrastructure)  #pointdevue => Encore de l’architecture, si vous vous intéressez à la gestion d’infrastructure moderne et comment simplifier votre vie au quotiden en automatisant le déploiement de vos configurations et de vos applications à l’aide d’un outil bien fait et extensible, c’est l’article qui vous faut.

saltstack-logoansible-logo

  • sourcefire (snort, clamav) racheté par Cisco => Encore un gros acteur du Logiciel Libre commercial racheté par un acteur majeur de l’industrie informatique, ici Cisco, mais cela évoquera bien sûr à beaucoup le rachat de MySQL par Oracle. Je serai attentif à la suite des événements car j’ai des clients qui utilisent Snort et Clamav. Wait & See.

cisco-logo

python-logo-master-v3-TM

  • Happy #sysadmin day, guys :) =>  Si seulement ça pouvait plutôt être les non-sysadmins qui nous le souhaitent, ce serait cool :) Enfin en attendant on se le souhaite entre nous.

sysadminday-logo

libreoffice

Pypy_logo

Et vous ? Que pensez-vous des technologies et articles abordés ci-dessus ? N’hésitez pas à réagir dans les commentaires. Et à la semaine prochaine pour la suite de cette série d’articles.

Vrac de mini-messages n°10 : Chromium 28, Docker, MarkUs, Python, architecture GitHub

Suivez-moi aussi sur Identi.ca ou sur Twitter.

Comme chaque semaine, voici les dents/tweets intéressants de la semaine dernière que j’ai publiés sur Identi.ca ou sur Twitter, revus et augmentés d’éventuels  commentaires et observations mûris au cours de la semaine passée. Au menu : Chromium 28, Docker, MarkUs, Python etl l’architecture de GitHub.

  • Mes contributions au projet #Debian du mois de juin 2013 http://t.co/FI5DTQeEr6 => un de mes billets de blog pour reprendre la synthèse de mes contributions au projet Debian et vous tenir un peu mieux informé de mes activités dans le Libre. N’hésitez pas à laisser un commentaire sur le billet en question si vous avez des remarques, suggestions, etc.

debian_wallpaper_03

  • utilisations et dangers de __new__ en #Python http://t.co/jLIRKLAK11 => clairement un article à lire pour bien utiliser __new__ et également pour identifier les pièges à éviter en l’utilisant. Quelques bons exemples qui intéresseront tous les publics du débutant au confirmé.
  • point sur la communauté #Python et les défis à venir The next 20 years of Python: http://t.co/405ZKSA4Bg => Conférence de Van Lindberg, le président de la fondation Python qui fait le point sur la communauté Python et les défis à venir pour cette communauté et le langage Python en lui-même, en comparant par exemple Python à l’évolution d’autres langages dans le temps. De bonnes remarques à prendre.

python-logo-master-v3-TM

chromium_logo

  • API #Python pour client #docker https://t.co/ZMTjFiTU0N => déjà une API Python pour le très intéressant projet Docker, qui à n’en pas douter gagne à être connu. Une bibliothèque très intéressante pour moi qui utilise beaucoup Python dans le cadre de l’administration système.

docker_logo

  • #MarkUs permet aux profs d’annoter les copies, de mettre une note, de former des groupes etc http://t.co/Ry68qp6Vdm #ror => un sympathique projet qui consiste à pouvoir annoter des copies dont j’ai rencontré l’auteur et qui semble très utile et plein de fonctionnalités. Il est déjà utilisé par entre autre à Centrale Nantes ou l’Université de  Toronto

markus_logo_big

  • toutes les #startup rachetées par #Yahoo! depuis l’arrivée de Marissa Mayer http://t.co/Ye95AhgCBH => à se demander ce qu’ils font de tout ça…
  • Le H, site web d’actualité sur l’open source, la sécurité et le développement, ferme http://t.co/9lreF9IchB => un peu triste de voir qu’un site de news dont l’une des rubriques majeures parlait des FOSS ferme. Merci en tout cas pour tous les articles déjà publiés qui vont être laissés libre d’accès. Bonne attitude.

logo-theh

  • retour sur l’évolution de l’architecture de #github http://t.co/YddfvVC2tE => ça c’est du lourd. L’accent du conférencier est à couper au couteau, mais un membre-clé de GitHub qui fait un retour sur les défis techniques et architecturaux rencontrés par GitHub  dans une conférence sans langue de bois, ça donne une vidéo très très intéressante pour les gens intéressés par l’architecture des systèmes informatiques.

github-logo

  • intéressant post-mortem d’une #startup http://t.co/xPnEUG49hK => Je n’en parle pas tous les jours (c’est ceux qui en parle le plus qui…) mais ce blog s’intéresse aussi à l’entrepreunariat. Un retour post-mortem de la tentative d’une startup de décoller m’intéresse donc, en particulier quand il est aussi détaillé. Merci à l’auteur pour ce retour.

Et vous ? Que pensez-vous des technologies et articles abordés ci-dessus ? N’hésitez pas à réagir dans les commentaires. Et à la semaine prochaine pour la suite de cette série d’articles.

Vrac de mini-messages n°6 : Idiomes et astuces Python, Redis, python-memcache, HaProxy, Debian Wheezy

Suivez-moi aussi sur Identi.ca ou sur Twitter.

Comme chaque semaine, voici les dents/tweets intéressants de la semaine dernière que j’ai publiés sur Identi.ca ou sur Twitter, revus et augmentés d’éventuels observations et commentaires mûris au cours de la semaine passée. Au menu : Idiomes et astuces Python, Redis, python-memcache, HaProxy, Debian Wheezy.

  • Mise à jour du Writing Idiomatic #Python Book http://www.jeffknupp.com/writing-idiomatic-python-ebook/ => un livre que j’aime beaucoup, qui présente des idiomes Python, à savoir les caractéristiques et sucre syntaxique propres au langage, permettant d’obtenir un code optimisé et élégant.  Le livre évolue dans le temps et les mises à jour me sont régulièrement communiquées. L’un des grands avantages des livres auto-édités.

python-logo-master-v3-TM

  • Redis 2.6.14 is out : un projet que j’aime beaucoup et dont je parle souvent, Redis, le serveur de structures de données clé-valeur, souvent utilisé comme serveur de cache, extrêmement performant dont le processus de développement public et rapide est pour moi un modèle.

redis-logo

  • HAProxy 1.4.24 and 1.5-dev19 have been released. Available from your nearest Debian/Ubuntu repository. More details: http://permalink.gmane.org/gmane.comp.web.haproxy/12277 => un retweet d’un sujet qui m’intéresse, à savoir une nouvelle version de HaProxy, un répartiteur de charge simple et efficace que je trouve très bien fait et performant. De plus le principal développeur Willy Tarreau est français et le projet est soutenu par une société française qui produit des appliances à base de HaProxy et assure du support. Un modèle économique qui me plaît avec un pur produit derrière :)

haproxy-logo

python-logo-master-v3-TM

Et vous ? Que pensez-vous des technologies et articles abordés ci-dessus ? N’hésitez pas à réagir dans les commentaires. Et à la semaine prochaine pour la suite de cette série d’articles.

Vrac de mini-messages n°4 : selfoss, Redis, Erlang, Projectlibre, Python, MySQL, Django

Suivez-moi aussi sur Identi.ca ou sur Twitter.

Comme chaque semaine, voici les dents/tweets intéressants de la semaine dernière que j’ai publiés sur Identi.ca ou sur Twitter, revus et augmentés d’éventuels observations et commentaires mûris au cours de la semaine passée :) Au menu selfoss, Redis, Erlang, Projectlibre, Python, MySQL et Django.

selfoss-logo

  • Utilizing Redis in distributed Erlang systems http://ur1.ca/e70q2 => tout ce qui tourne autour du projet Redis, le serveur de cache en mode clé-valeur (aussi considéré comme un serveur de structure de données) m’intéresse en particulier si c’est pour parler de son utilisation conjointe avec Erlang, le langage fonctionnel. Je suis bluffé par les performances de Redis et les retours qui parlent de ce logiciel sont toujours extrêmement positif. L’auteur est très présent sur les réseaux sociaux et tient au courant toute la communauté des nouvelles fonctionnalités dès qu’elles sont implémentées. Un exemple de développement pour moi.

redis-logo

  • Logiciel libre de gestion de projets #projectlibre http://ur1.ca/cioh9 => découvert par hasard, il répondait à un besoin que j’avais depuis longtemps pour suivre et faire avancer mes différents projets personnels et professionnels. Je l’utilise depuis quelques jours et, bien qu’un peu lourd pour mon pc portable vieillissant. Mais niveau fonctionnalités, j’en suis content pour l’instant.

projectlibre-ogo

  • #python pour extraire de l’information système http://ur1.ca/e7j5p => utilisant beaucoup Python dans le cadre de mes prestations d’architecte système, je sais depuis longtemps que Python est parfait pour tout ce qui touche au système en environnement GNU/Linux. Cet article va dans ce sens et a bon le goût de faire des exemples en Python 2.7 et quand le code est différent en Python 3.3. Miam miam.

python-logo-master-v3-TM

  • #MySQL trop long pour vos suites de tests ? Mettez-le en ram http://ur1.ca/e89go => J’ai rencontré ce problème autour de la réalisation de tests unitaires et fonctionnels avec une base de données MySQL. Je trouve que la solution est intelligente et un script de mise en place de MySQL dans un tmpfs  est proposé par l’auteur. Toujours bon à prendre si on a ce type de besoin.

mysql-logo

django-logo

Et vous ? Que pensez-vous des technologies et articles abordés ci-dessus ? N’hésitez pas à réagir dans les commentaires. Et à la semaine prochaine pour la suite de cette série d’articles.


À propos de l’auteur

Carl Chenet, architecte système et expert GNU/Linux indépendant. N'hésitez pas à faire appel à mes services.
>>> Mon offre de services

Soutenir l’auteur

Soutenir les activités Debian de l'auteur Faire un don Pourquoi faire un don ?

Faire un don en bitcoins

Adresse pour les dons en bitcoins :

1BqyaQLfAXiJwvVqR3cbYz8SuzmrkFifho

Suivez-moi aussi sur Identi.ca !

Catégories


Suivre

Recevez les nouvelles publications par mail.

Joignez-vous à 29 followers

%d bloggers like this: