Les articles de GNU/Linux Magazine N°131

Article mis en avant

Mise en place de la réplication avec PostgreSQL 9.0

L'évolution majeure qu'apporte la version 9.0 de PostgreSQL est la réplication. Évidemment, ce n'est pas la seule nouveauté intéressante de cette version, mais c'est certainement celle qui fera le plus parler de cette version, celle aussi qui aidera à une adoption plus massive de cet excellent système de gestion de bases de données.
La branche 2.X est née avec la version 2.0 sortie le 16 octobre 2000. Presque dix ans séparent donc l'aîné de cette branche et Python 2.7. Cette dernière version clôt la série des 2.X. Elle intègre un grand nombre de nouvelles fonctionnalités introduites directement dans les versions 3.X de Python, que les développeurs du projet ont trouvé intéressant d'apporter également à la benjamine de la branche précédente. Mais 2.7 embarque aussi d'autres atouts.Compte tenu de la migration assez lente des développeurs depuis la branche 2.X vers 3.X, il y a fort à parier que Python 2.7 sera longtemps présent sur de très nombreuses machines. Petit tour d'horizon de quelques nouveautés introduites dans cette mouture.
Le projet Debian est fortement décentralisé. Ses développeurs, tous bénévoles, sont disséminés aux quatre coins du globe. Cette situation est parfaitement gérée depuis le début du projet grâce à ses principaux moyens de communication que sont l'e-mail et l'IRC. Toutefois, rencontrer les personnes avec qui l'on travaille pratiquement tous les jours en ligne, ainsi que la possibilité de présenter des travaux en cours ou de discuter de certaines problématiques, ont conduit le projet à organiser dès l'an 2000 un cycle de conférences entièrement consacrées à Debian. À l'origine située à Bordeaux, la DebConf devient itinérante dès sa troisième édition.Cette année, cette dernière s'est tenue à New York, aux États-Unis, ce qui ajoutait à la fête. L'événement annuel majeur de la distribution à la spirale, lieu privilégié de présentation des projets en cours, des discussions informelles et des annonces inattendues, a attiré des développeurs venus du monde entier, mais aussi un large public d'utilisateurs enthousiastes. Retour sur ce rassemblement incontournable de la communauté Debian.
Le projet Debian est développé par des contributeurs du monde entier. Communiquant principalement grâce à l'e-mail et l'IRC, cette communauté a appris à travailler de façon fortement décentralisée et asynchrone. Afin de rompre la monotonie de ce type de communication, les membres du projet Debian se retrouvent depuis bientôt dix ans, chaque année, pour un cycle de conférences : la DebConf.
Nous fêterons cette rentrée 2010 avec un peu de retard en vous présentant les nouveautés du noyau Linux 2.6.35, sorti le 1er août. Si Linus Torvald a cette fois encore été très strict en refusant l'inclusion de patchs passé la période d'ouverture précédant la rc1, cette version est néanmoins très riche en nouveautés, en passant par des améliorations au niveau de la gestion mémoire et de la gestion de la CPU, sans oublier les nouveautés touchant le réseau et la gestion d'énergie. L'infrastructure d'analyse de performances et de debugging reste toujours en continuelle évolution. Néanmoins, nous ne traitons pas de ses avancées dans ce Kernel Corner déjà bien fourni ;)
Dans un article précédent [1] l’analyse technique détaillée de ClamAV a montré que cet antivirus - à ce jour, c’est le seul logiciel antivirus à la fois gratuit, ouvert et multiplate-forme - supportait largement la comparaison avec les produits commerciaux, voire dans certains cas, faisait même mieux, notamment dans le domaine de l’analyse de forme (recherche de signatures). L’objectif premier d’un logiciel antivirus est de détecter, d’identifier des techniques virales connues et de prendre les mesures adéquates pour protéger le système contre leurs actions, avec un niveau de protection et d’efficacité compatible avec la politique de sécurité souhaitée. Mais il est nécessaire également que l’antivirus ne représente pas lui-même une menace pour le système et une porte éventuelle pour les attaques, à la faveur d’une ou plusieurs vulnérabilités. En 2008 [2], près de 800 vulnérabilités critiques ont été détectées dans les antivirus.
Redécouvrez le langage script de référence pour le traitement de fichiers
Installer plusieurs serveurs en respectant une configuration identique est une opération qui peut être mécanisée. Nous allons effectuer deux installations, l'une sur Fedora et l'autre sur Debian. Il s'agira de mettre en œuvre deux outils, l'un à base d'Anaconda et de rpms, l'autre à base de Debian-installer et de debs. L'idée est bien entendu de les comparer.
Les variables d'environnement sont indispensables sous UNIX. Elles permettent aux programmes de communiquer (entre eux ou avec le système d'exploitation) quel que soit le langage et elles assurent l'interface avec les scripts en shell. Elles sont constamment utilisées pour l'automatisation des tâches, en particulier lors des tests de régression ou pour explorer l'influence de différents paramètres dans une simulation. Malheureusement, le langage VHDL ne prévoit rien à ce sujet. Nous allons ici examiner comment lire les variables d'environnement en C puis avec GHDL, et pour cela, il faudra trouver comment transmettre des chaînes de caractères entre notre simulateur préféré et du code en C. C'est le prétexte idéal à un voyage qui va nous faire explorer les entrailles d'Ada, de GCC, de POSIX et de leurs API et ABI...
Des opérations bancaires suspectes ont eu lieu sur le compte de la société. Un employé ayant accès au compte a reçu récemment un PDF d'un ancien collègue, mais lorsqu'il a ouvert ce document, celui-ci était vide. Avec le recul, il est possible que ce PDF ait été le moyen de compromettre la sécurité de sa machine. Une image mémoire a été réalisée, notre tâche est de l'analyser pour faire le point sur ce problème de sécurité. Tel est le difficile challenge « Banking Troubles » proposé par le projet Honeynet.
Vous souhaitez participer au projet Debian. Peut-être avez-vous déjà empaqueté une application de votre côté et vous aimeriez avoir l'avis d'un développeur Debian sur votre travail ? Vous avez adopté un paquet qui était abandonné sans vraiment savoir quoi en faire ? Ne restez pas seul dans votre coin et rejoignez une équipe Debian ! Les contributeurs du projet sont organisés en équipes, chacune spécialisée dans un domaine, comme la Python Applications Packaging Team pour les applications codées en Python, l'équipe Debian KDE ou celle assurant l'assurance qualité du projet.En tant que membre d'une équipe, vous travaillerez ainsi avec plusieurs développeurs Debian expérimentés qui vous donneront des indications sur quoi faire et surtout comment le faire. Ils vous donneront des pistes pour comprendre l'état de l'art ainsi que les règles d'usage afin, par exemple, d'empaqueter les paquets gérés par cette équipe. C'est aussi un excellent moyen de découvrir le fonctionnement interne de Debian et de rencontrer ses développeurs, physiquement disséminés dans le monde entier.
Le langage Python, fidèle à sa devise « battery included », embarque dans sa bibliothèque standard un module nommé unittest pour faciliter l'écriture des tests unitaires. Toutefois, ce dernier était jusqu'à récemment en perte de vitesse face à des solutions externes comme py.test et nose.La version 2.7 du langage propose un module unittest renforcé par de nombreuses nouvelles fonctionnalités. À travers une suite d'exemples, nous présenterons le fonctionnement de ce module et les intéressantes fonctionnalités qu'il offre désormais.