Les articles de GNU/Linux Magazine N°141

+Denis Je me suis toujours dis « Je n’aime pas les réseaux sociaux ».
Les 25 et 26 juin 2011, la brigade Ruby lyonnaise organisait la conférence RULU 2011, pour RUby LUgdunum 2011. Cette première édition a réuni sous le soleil lyonnais une cinquantaine de développeurs Ruby, majoritairement français et européens. Au programme : une dizaine de présentations sur le langage, la communauté et différents outils, quelques présentations éclair improvisées en fin de journée, un peu de hacking en direct, et de longues pauses déjeuner pour goûter aux joies de la gastronomie lyonnaise. L'événement se voulant ouvert sur l'Europe, de nombreux participants et conférenciers n'étaient pas francophones, la plupart des conférences ont donc été données en anglais. Cet article vous propose un résumé de quelques-unes des conférences qui m'ont particulièrement intéressé, pour vous donner envie de venir nombreux à l'édition 2012 !
Ca y est ! Jugeant que les numéros de versions atteints (2.6.39) avec la nomenclature actuelle n'avaient plus de sens, Linus Torvalds a succombé aux chants de sirène du marketing (ou plutôt aux voix dans sa tête, d'après lui-même) en décidant que ce nouveau noyau ne serait jamais celui qu'il était destiné à devenir, le 2.6.40, mais bel et bien le 3.0, premier d'une nouvelle lignée. Changement purement cosmétique, car ce noyau introduit un lot de changements ni plus ni moins importants que les précédentes versions. De notre côté, nous ne changeons rien non plus, en vous présentant la première partie des nouveautés de ce buzz-compliant linux-3.0.tar.gz.
Quels sont les ingrédients favorisant la réussite d'un projet ? Outre bien sûr l'élément premier et fondamental qu'est l'équipe, une approche possible [ShipIt!] pourrait se résumer à une certaine alchimie entre une méthode, des techniques et une infrastructure.La méthode, c'est l'approche suivie au cours de la vie d'un projet permettant la concrétisation de ce dernier, c'est-à-dire la transformation des besoins exprimés par l'utilisateur en fonctionnalités implémentées.Les techniques sont des pratiques mises en œuvre au quotidien par l'équipe et lui permettant de travailler mieux : rencontres journalières, constitution de la liste des tâches à réaliser, notifications et partage des modifications apportées au projet, revues de code, …L’infrastructure, enfin, met à la disposition de l'équipe un ensemble d'outils. On pourra citer les exemples suivants : système de gestion de versions ou VCS, suivi des fonctionnalités et des problèmes, intégration continue et automatisation de « build ». C'est cette dernière catégorie qui va retenir notre attention.
Bien souvent, quand on travaille sur un projet avec un certain nombre de contributeurs, on met en place une infrastructure de compilation et tests automatiques, pour vérifier qu'un commit ne pète pas un autre bout du code. De plus, on veut pouvoir tester la portabilité de son code sur divers systèmes d'exploitation, ainsi que diverses architectures matérielles. Dans le cadre de la maintenance et du packaging des divers ports mozilla sur OpenBSD (Firefox, mais aussi Thunderbird, Xulrunner, Seamonkey, Fennec aka Firefox mobile et Sunbird), je me suis donc intéressé à buildbot, un système développé en Python permettant d'automatiser la compilation d'un code sur diverses machines.
Dans la série « GHDL, le couteau suisse ultime pour la simulation numérique », nous allons étudier comment doter notre simulateur VHDL GNU favori d'un « serveur web ». GHDL pourra intégrer un module de communication supplémentaire pour interagir avec un navigateur comme Firefox. Cet article est réutilisable dans le contexte qu'il vous plaira : cette première partie développe l'accès au réseau et sa configuration, il ne contient que du code en C.
Le but de cet article est de tenter de piloter un téléphone portable via les commandes AT afin d’envoyer un SMS. On en profitera au passage pour coupler notre « pilotage » avec un serveur de mails. L’idée est d’envoyer un mail à un serveur de mails qui le traduira en SMS.
Tout le monde sait – ou croit savoir – ce qu'est la programmation par objet. Mais d'un langage de programmation à un autre, les différences sont toujours présentes et parfois abyssales. Et chacun a son avis sur celui qui est plus objet que les autres. Si la référence est C++, un langage bas niveau statiquement typé, que devient le paradigme objet appliqué à des langages haut niveau dynamiquement typés ? Petite étude avec Python et PHP.
L’idée de cet article est de proposer une solution facile pour extraire des données d’une base, par la simple écriture d’une requête et de les rendre disponibles via divers moyens. Ce faisant, seront visités un certain nombre de modules Python touchant un large spectre technique, afin de démontrer la diversité des possibilités offertes par le langage, sa bibliothèque standard et ses modules externes.
De nos jours, le rendu d'animations 3D est devenu courant au sein des applicatifs des éditeurs de logiciels. Se pose alors la question de la manière dont on peut intégrer ces animations dans des applications aussi diverses que des jeux vidéo, des logiciels de conception architecturale, ou encore des outils d'affichage dynamique. Une solution élégante et pérenne consiste à bien séparer la partie « animation » de la partie « programme » en faisant en sorte que la première puisse être intégrée dans la seconde. C'est ce que nous nous proposons de présenter dans cet article à l'aide de l'outil de conception 3D Blender et du moteur Ogre3D.
Alors que par défaut Seaside fait l'hypothèse d'une non-utilisation de services REST, la bibliothèque Seaside-REST permet d'utiliser de tels services dans vos applications web. Dans cet article, nous allons montrer comment faire des applications web utilisant un service REST. Nous allons commencer par une présentation rapide de REST puis définir un premier service. Nous finirons par des précisions sur l'exploitation des en-têtes et réponses HTTP.
Thor, ce gentil dieu viking au marteau brillant, à la chevelure dorée, à l’accent du nord qui fait craquer les minettes… n’est pas le super héros dont nous allons traiter ici. Si c’est celui-là qui vous intéresse, je vous recommande d’aller dans un magasin spécialisé dans les comics, vous savez ces imitations des bandes dessinées belges. Nous allons traiter ici d’une bibliothèque Ruby fantastique dotée de pouvoirs, mais seulement si le développeur (ou l’admin, dans ce cas-là, il paraît qu’il faut l’appeller devop) a le cœur pur. Bref, si vous savez lire de la doc, vous aurez vite fait de savoir comment utiliser Thor.