GNU/Linux Magazine Hors-série N°
Numéro
49

Incontournable Python

Temporalité
Juillet/Août 2010
Image v3
Incontournable Python
Article mis en avant

Résumé
Vous êtes un développeur ou un utilisateur régulier du langage de programmation Python. Arrive le jour où, en utilisant telle ou telle fonctionnalité, le déclic se produit : il manque quelque chose à Python. Vous aimeriez avoir à disposition une information importante ou il manque une fonction qui vous apparaît cruciale. Même si personne d'autre ne semble s'en apercevoir, vous avez mis le doigt sur une imperfection. Pourtant, techniquement, la chose est possible et vous avez en quelques minutes réalisé la modification sur votre ordinateur personnel.C'est le moment de contribuer à Python, de ne pas laisser tomber en disant « on verra ça plus tard » et d'apporter votre pierre à l'édifice. Nous nous appuierons sur un exemple concret de contribution à la bibliothèque standard de Python, exemple simple, mais qui nous permettra d'autant plus facilement d'expliquer comment contribuer au projet Python.

Dans ce numéro...


Généralement, les langages interprétés de haut niveau ne se prêtent guère aux accès directs aux périphériques. Il faut cependant noter que Python possède quelques atouts intéressants dans ce domaine. Bien entendu, il ne s'agit pas ici de développer un pilote de périphérique, loin de là. Le cas qui nous intéresse ici se résume à la communication série avec des modules de mesure.
Le langage Python existe depuis près de 20 ans et a acquis au fil du temps ses lettres de noblesse autant auprès des programmeurs débutants que des plus aguerris. Si les premiers aiment bien en lui le manque de cérémonial qui caractérise bon nombre d'autres langages comme le C, les derniers en apprécient les aspects dynamiques qui leur permettent de laisser cours à leur imagination. C'est sur ce dernier point que nous allons nous concentrer aujourd'hui.
Le langage Python évolue vite. De nombreuses versions différentes peuvent cohabiter sur un même système. Il est encore possible de croiser fréquemment des programmes uniquement compatibles Python 2.3 ou 2.4. La coexistence des versions 2.5 et 2.6 est également monnaie courante. Python 3.1 apparaît directement empaqueté sur de plus en plus de systèmes. Côté bibliothèques externes, la multitude disponible évolue comme elle peut, en comptant sur la forte compatibilité de la série 2.X. Dans ces conditions, faire tourner votre programme n'est pas toujours une sinécure. En effet, si deux applications ont besoin d'un même module, mais dans des versions différentes, vous risquez lors de la mise à jour de casser l'une des deux applications. De la même façon, les développements en entreprise sont souvent réalisés dans un temps limité avec un budget restreint. Vous obtenez au final un programme non évolutif qu'une prochaine mise à jour de la version de Python par défaut de votre système menace de casser.
Vous êtes un utilisateur du réseau de messagerie instantanée Jabber. En considérant le temps que vous passez sur ce réseau, vous en êtes venu à penser qu'un moyen d'automatiser certaines actions grâce à un bot s'exécutant sur un ordinateur distant pourrait être intéressant. Vous n'avez toutefois pas encore trouvé l'outil suffisamment flexible pour atteindre le niveau de détail que vous souhaitez ? Optez pour Jabberbot, une bibliothèque en Python qui va vous permettre de faire réaliser à un bot en écoute sur le réseau Jabber les actions que vous souhaitez. Précisons. Notre bot va en fait se mettre en attente d'ordres qui lui seront envoyés sous la forme de chaînes de caractères, à partir de votre client Jabber habituel. À la réception d'une chaîne précise qui constitue une commande, le bot va exécuter une suite d'ordres associée.
Parmi les nouveautés du mouvement NoSQL qui se développe actuellement dans le domaine des bases de données, Redis rencontre un succès certain. Dotée d'excellentes performances tout en offrant de nombreuses fonctionnalités intéressantes - dont la persistance des données - qui manque à d'autres applications phares du moment, Redis propose déjà à ses utilisateurs un nombre important de bibliothèques permettant d'accéder à ses instances depuis votre langage de programmation favori.Et cela tombe plutôt bien car, compte tenu du fait que nous sommes dans un hors-série Python, nous vous présenterons dans la suite de cet article l'une de ses intéressantes bibliothèques : Redis-py.
À côté des habituels serveurs web qui se présentent généralement sous la forme d'un binaire puisant ses options dans un fichier de configuration ou à partir de la ligne de commandes, une nouvelle génération propose un concept intéressant. Développé pour les besoins du site FriendFeed et libéré en 2009, Tornado est distribué sous la forme d'un framework écrit en Python. Il peut ainsi facilement s'intégrer au cœur de votre application. Asynchrone, Tornado a été conçu pour faire face à des milliers de connexions simultanées tout en fournissant son service en temps réel. Présentation.
Nagios est encore aujourd'hui la star des logiciels de supervision open source, même si de sérieux concurrents le talonnent. Si ses qualités sont indéniables, il souffre tout de même de problèmes dans la gestion des très grands environnements qui sont dus principalement à son implémentation actuelle. Le projet Shinken est une nouvelle implémentation de Nagios qui tente de lever ce problème et d'apporter un nouveau souffle à ce projet. Regardons son histoire et ce qu'il propose.
Les applications web open source permettant la gestion de projet ne manquent pas. Toutes possèdent leurs qualités et leurs défauts, qu'il s'agisse de la modularité, du nombre de fonctionnalités ou encore de la simplicité de configuration ou d'installation. Nous traiterons ici de l'une des plus connus d'entre elles, Trac, sur la base d'un serveur HTTP léger utilisant Lighttpd.
Le tactile est le sens à la mode dans les soirées digitales. Que cela soit à travers les téléphones mobiles, certains laptops/netbooks, ou encore le dernier gadget au goût pomme, l'avènement du touch & play est en marche. Nous allons voir comment mettre en œuvre des technologies ouvertes pour arriver à faire aussi bien, sinon mieux, que la désormais fameuse surface fenêtrée .

Magazines précédents

Les derniers contenus premiums