C'est en effet la quatrième version de maintenance de la branche 2.6 de Python qui a été publiée ce week-end après un cycle de développement particulièrement court (23 jours écoulés depuis la publication de la version 2.6.3 le 2 octobre 2009).
Celle-ci n'apporte pas de nouvelle fonctionnalité, mais corrige plusieurs bugs jugés critiques par l'équipe de développeurs. Pour l'essentiel, il s'agit de corrections apportées à la bibliothèque standard de Python. On remarquera en particulier la réparation de la régression introduite à la version 2.6.3 dans le module distutils qui empêchait l'installation de modules tiers à l'aide de l'outil setuptools.
On retrouve aussi une correction au module intégré ("Builtin") marshal. Pour mémoire, ce module assure la sérialisation (et la dé-sérialisation) de valeurs Python au format binaire, son usage est réservé à des situations très particulières, les modules pickle et shelves étant bien plus efficaces et adaptés pour la persistance de données.
C'est donc à une nouvelle version utile - bien que sans surprise - à laquelle nous avons affaire. La mise à jour est évidement recommandée, ne serait-ce que pour pouvoir à nouveau exploiter pleinement le Python Packages Index.
NdM : Merci à tcoubon pour son journal à l'origine de cette dépêche.
Prototype du nouveau thème de Firefox 3.7 sous Linux
Firefox 3.6 est attendu pour la fin de l'année avec des optimisations un peu partout (moteur de rendu, vitesse d'exécution, temps de lancement, etc.) ainsi que d'autres fonctionnalités comme l'intégration des thèmes légers (Personas). Quant à Firefox 3.7, il est lui attendu pour la fin du premier semestre 2010 et devrait inclure une partie de l'extension Weave Sync (synchronisation des profils entre différents Firefox), améliorer encore les performances et surtout commencer un ravalement de façade qui continuera avec Firefox 4.0.
Des prototypes ont été dévoilés depuis quelques temps pour Windows et Mac OS X. C'est maintenant au tour de Linux d'être le sujet de prototypage : on remarquera que les boutons précédents/suivants seraient enfin conformes à ce qui se fait sous les autres plates-formes. Les captures d'écran montrant Firefox sont reconnaissables d'un rapide coup d'œil. Après tout, le bouton précédent est plus souvent utilisé que son camarade.
[troll]Concernant l'adaptation des couleurs et le dessin des formes (ombres, etc.), on se demande comment ils vont arriver à s'en sortir avec toutes les possibilités offertes par Linux. Il y aura toujours un utilisateur de Gnome/KDE/wmii/XFCE pour se plaindre ! :)[/troll]
NdM : Merci à ThomasB pour son journal à l'origine de cette dépêche.
Des prototypes ont été dévoilés depuis quelques temps pour Windows et Mac OS X. C'est maintenant au tour de Linux d'être le sujet de prototypage : on remarquera que les boutons précédents/suivants seraient enfin conformes à ce qui se fait sous les autres plates-formes. Les captures d'écran montrant Firefox sont reconnaissables d'un rapide coup d'œil. Après tout, le bouton précédent est plus souvent utilisé que son camarade.
[troll]Concernant l'adaptation des couleurs et le dessin des formes (ombres, etc.), on se demande comment ils vont arriver à s'en sortir avec toutes les possibilités offertes par Linux. Il y aura toujours un utilisateur de Gnome/KDE/wmii/XFCE pour se plaindre ! :)[/troll]
NdM : Merci à ThomasB pour son journal à l'origine de cette dépêche.
Publication de Unladen Swallow 2009Q3
C'est avec discrétion que le projet Unladen Swallow - dont le but est d'accélérer Python en s'appuyant sur LLVM et son compilateur JIT - a sorti la version 2009Q3, environ 3 mois après la version 2009Q2
Dans cette nouvelle version, les choses qui font plaisir :
Les choses qui font moins plaisir :
Dans cette nouvelle version, les choses qui font plaisir :
- Par rapport à la version Q2, gain en utilisation mémoire de 930% ;
- Gain de performance par rapport à la version 2009Q2 entre 15 et 70% suivant les benchmarks ;
- Intégration avec GDB 7.0 permettant de débugger le code passé par le compilateur JIT ;
- Intégration avec OProfile 0.9.4 afin de fournir une interface de profilage sans difficulté qui couvre le C et le Python ;
- Beaucoup de bugs et de restrictions du compilateur JIT de LLVM ont été corrigés au passage ;
- Unladen Swallow 2009Q3 passe toutes les suites de test de projets Python majeurs tel que Twisted, Django, Numpy ou Swing (cf la liste de tests pour la liste complète des suites de test).
Les choses qui font moins plaisir :
- Le compilateur JIT de LLVM et d'autres outils ont demandé plus de travail qu'imaginé au départ. En conséquence, le projet n'a pas progressé autant en performance que les auteurs l'auraient voulu ;
- L'utilisation mémoire reste entre deux et trois fois supérieure à celle de Python 2.6.1. Cependant, il y a des pistes intéressantes pour réduire cela d'ici la version 2009Q4 .
Sortie de LLVM 2.6
LLVM, pour Low Level Virtual Machine, est un niveau d'abstraction pouvant se rapprocher d'une machine virtuelle permettant de lancer des programmes compilés en une représentation intermédiaire (LLVM bytecode), ainsi que de générer directement des binaires natifs pouvant être lancés sans LLVM.
LLVM est entre autres utilisé par Gallium 3D[en], une infrastructure de pilotes de carte graphique, pour compiler à la volée les shaders utilisés par les cartes graphiques, et ainsi les optimiser. LLVM est également utilisé par le projet Clang, un compilateur C, C++, Objective-C et Objective-C++ libre faisant concurrence à GCC, et en partie développé par Apple. Notez que bien que le support du C par Clang soit tout à fait correct, son support du C++ laisse encore quelque peu à désirer.
Le 23 octobre 2009, la version 2.6 de LLVM est sortie. Cette version apporte pas mal de nouveautés depuis la version 2.5 sortie le 2 mars 2009, version qui a fait l'objet d'une dépêche. Le détail de ces nouveautés se trouve dans la suite de la dépêche.
LLVM est entre autres utilisé par Gallium 3D[en], une infrastructure de pilotes de carte graphique, pour compiler à la volée les shaders utilisés par les cartes graphiques, et ainsi les optimiser. LLVM est également utilisé par le projet Clang, un compilateur C, C++, Objective-C et Objective-C++ libre faisant concurrence à GCC, et en partie développé par Apple. Notez que bien que le support du C par Clang soit tout à fait correct, son support du C++ laisse encore quelque peu à désirer.
Le 23 octobre 2009, la version 2.6 de LLVM est sortie. Cette version apporte pas mal de nouveautés depuis la version 2.5 sortie le 2 mars 2009, version qui a fait l'objet d'une dépêche. Le détail de ces nouveautés se trouve dans la suite de la dépêche.
Portage de Qt 4.5.1 sous Haiku
Qt, la bibliothèque C++ multi-plateforme à tout faire, est portée sous Haiku, le pendant libre de feu BeOS. Voici l'occasion pour une présentation de ce portage, de ce qu'il apporte, et de l'API native d'Haiku.
Ce n'est pas la première fois qu'un portage de Qt pour BeOS est réalisé. Le premier remonte à 2001, du temps de Qt2. À l'époque, X-Window était nécessaire, alors que BeOS dispose de son propre système graphique. Ce portage, mal intégré, n'a pas eu un grand succès. Cette fois-ci, c'est un portage de la dernière version stable, la 4.5 (la 4.6 devrait sortir pour la fin de l'année), et X-Window n'est plus nécessaire.
Ce n'est pas la première fois qu'un portage de Qt pour BeOS est réalisé. Le premier remonte à 2001, du temps de Qt2. À l'époque, X-Window était nécessaire, alors que BeOS dispose de son propre système graphique. Ce portage, mal intégré, n'a pas eu un grand succès. Cette fois-ci, c'est un portage de la dernière version stable, la 4.5 (la 4.6 devrait sortir pour la fin de l'année), et X-Window n'est plus nécessaire.
Play! 1.0 est sorti
Depuis des années JEE a été vu comme l'unique façon de créer des applications Web avec Java. Cependant, il est malheureusement connu pour sa faible productivité, notamment à cause des phases répétées de compilation-packaging-déploiement. Voici donc une nouvelle manière de créer des applications Web avec Java.
La version 1.0 finale du framework Play est un framework Java « pile complète » qui propose tous les composants nécessaires pour créer des applications Web modernes. Notre souci principal est la productivité des développeurs, avec un cycle de développement « corriger et rafraîchir la page », des messages d'erreurs parfaits affichant le code source de l'application directement dans le navigateur et un « lanceur de tests » intégré qui rend le « développement piloté par tests » naturel.
Play utilise de nombreux composants libres, dont Apache Mina pour la pile réseau, Groovy comme langage de script pour le moteur de template et Hibernate pour le mapping objet-relationnel. Ce framework est basé sur une architecture "Share Nothing" qui aide à construire des applications Web RestFul. Il est possible de déployer l'application sur plusieurs serveurs simultanément (sans besoin de synchronisation), et donc de supporter de très fortes charges.
La version 1.0 finale du framework Play est un framework Java « pile complète » qui propose tous les composants nécessaires pour créer des applications Web modernes. Notre souci principal est la productivité des développeurs, avec un cycle de développement « corriger et rafraîchir la page », des messages d'erreurs parfaits affichant le code source de l'application directement dans le navigateur et un « lanceur de tests » intégré qui rend le « développement piloté par tests » naturel.
Play utilise de nombreux composants libres, dont Apache Mina pour la pile réseau, Groovy comme langage de script pour le moteur de template et Hibernate pour le mapping objet-relationnel. Ce framework est basé sur une architecture "Share Nothing" qui aide à construire des applications Web RestFul. Il est possible de déployer l'application sur plusieurs serveurs simultanément (sans besoin de synchronisation), et donc de supporter de très fortes charges.
Le plus petit serveur du monde sous Linux !
Ce n'est plus un secret pour personne, Linux se cache partout tant et si bien que certains pensent qu'il existe plus de machines Linux dans l'embarqué que de Windows dans les PC. L'un de ces matériels pouvant de préférence fonctionner avec Linux serait le plus petit serveur du monde.
À peine plus gros qu'un connecteur RJ45 (33,9 x 16,3 x 13,5 mm), pesant 9,6 grammes, ce tout petit serveur est basé sur un processeur FreeScale ColdFire 32 bits à 166 MHz (le MCF548X ?) équipé de 8 Mo de mémoire vive et 16 Mo de mémoire flash. Ce minuscule serveur nommé XPort Pro est le dernier-né de la famille XPort, de modules de calcul et de réseau Ethernet intégrés de la société Lantronix. Il possède en outre de nombreuses interfaces dont I²C, CAN, GPIO ou encore 1-wire. Il est possible de l'alimenter par Ethernet (PoE).
Son utilisation dans l'embarqué est d'autant plus intéressante qu'il est compatible IPv6. Il est destiné à de très nombreuses applications, en particulier dans le domaine de la domotique. Il supporte également SSHv2 et SSLv3.
NdM : Merci à fraph de nous avoir signalé l'existence de ce petit bijou !
À peine plus gros qu'un connecteur RJ45 (33,9 x 16,3 x 13,5 mm), pesant 9,6 grammes, ce tout petit serveur est basé sur un processeur FreeScale ColdFire 32 bits à 166 MHz (le MCF548X ?) équipé de 8 Mo de mémoire vive et 16 Mo de mémoire flash. Ce minuscule serveur nommé XPort Pro est le dernier-né de la famille XPort, de modules de calcul et de réseau Ethernet intégrés de la société Lantronix. Il possède en outre de nombreuses interfaces dont I²C, CAN, GPIO ou encore 1-wire. Il est possible de l'alimenter par Ethernet (PoE).
Son utilisation dans l'embarqué est d'autant plus intéressante qu'il est compatible IPv6. Il est destiné à de très nombreuses applications, en particulier dans le domaine de la domotique. Il supporte également SSHv2 et SSLv3.
NdM : Merci à fraph de nous avoir signalé l'existence de ce petit bijou !
Première édition des Étoiles du Libre
L'association des étudiants de l'Université de Technologie de Belfort-Montbéliard (UTBM) lance cette année un prix qui vise à récompenser les contributions au Logiciel Libre issues de la communauté universitaire. L'originalité de ce prix par rapport aux autres prix déjà existant est ce qu'il s'attache à récompenser les contributions personnelles des participants, et non un projet dans son ensemble.
Groupware OBM freeze de la 2.3.0
OBM est un groupware libre gérant messagerie, calendrier et la synchronisation avec les assistants personnels.
La future version d'OBM sera estampillée 2.3.0 ; aujourd'hui, c'est pour nous la date de gel des modifications. Cette nouvelle version majeure apporte bien sûr une cargaison de nouveautés et ce gel va nous permettre de stabiliser le produit. Nous vous invitons à tester OBM dans tous les sens et à nous ouvrir des bugs si nécessaire.
Pour la synchronisation des assistants personnels, nous utilisons Funambol, un serveur de synchronisation SyncML. Cette nouvelle version d'OBM vient avec un nouveau serveur de synchronisation supplémentaire, O-push implémentant le protocole ActiveSync offrant beaucoup plus de possibilité à vos assistants personnels.
Minig, le webmail AJAX « à la gmail », a été fortement stabilisé et est maintenant opérationnel. Minig met a disposition un véritable webmail libre web 2.0, incluant indexation plein texte ainsi que le tri par conversation. La dernière version stabilisée est celle d'OBM 2.2 que vous pourrez trouver sur les dépôts 2.2.
Les équipes ont beaucoup travaillé afin de fournir une nouvelle version riche en nouvelle fonctionnalités. Bon test à tous !
La future version d'OBM sera estampillée 2.3.0 ; aujourd'hui, c'est pour nous la date de gel des modifications. Cette nouvelle version majeure apporte bien sûr une cargaison de nouveautés et ce gel va nous permettre de stabiliser le produit. Nous vous invitons à tester OBM dans tous les sens et à nous ouvrir des bugs si nécessaire.
Pour la synchronisation des assistants personnels, nous utilisons Funambol, un serveur de synchronisation SyncML. Cette nouvelle version d'OBM vient avec un nouveau serveur de synchronisation supplémentaire, O-push implémentant le protocole ActiveSync offrant beaucoup plus de possibilité à vos assistants personnels.
Minig, le webmail AJAX « à la gmail », a été fortement stabilisé et est maintenant opérationnel. Minig met a disposition un véritable webmail libre web 2.0, incluant indexation plein texte ainsi que le tri par conversation. La dernière version stabilisée est celle d'OBM 2.2 que vous pourrez trouver sur les dépôts 2.2.
Les équipes ont beaucoup travaillé afin de fournir une nouvelle version riche en nouvelle fonctionnalités. Bon test à tous !
Lazarus 0.9.28
Lazarus est un EDI complet pour développer en FreePascal, libre (GPL + LGPL). Il permet de développer simplement et rapidement avec autre chose que du C. Ce n'est pas une simple implémentation de Delphi en libre. Certes, il est fourni avec moins d'outils et la version 1.0 sera comparable à Delphi 7.0, mais Lazarus s'appuie sur le slogan de FreePascal : « Write once, compile everywhere ».
Grâce à Lazarus, vos applications graphiques pourront être exécutées nativement sous Windows/Linux/MacOS... Pour les systèmes de type Unix, il s'appuie sur la bibliothèque GTK+ ou Qt. L'avantage de Lazarus, c'est qu'il embarque de très nombreux composants en natif et que sa réputation est telle que de gros projets comme Zeos ou Synapse fonctionnent grâce à lui. Le développement est simple et rapide.
Lazarus vient de sortir en version 0.9.28. Les changements principaux sont :
Alors, si vous ne connaissez pas le Pascal, Lazarus est un bon moyen de le découvrir et de l'adopter.
Grâce à Lazarus, vos applications graphiques pourront être exécutées nativement sous Windows/Linux/MacOS... Pour les systèmes de type Unix, il s'appuie sur la bibliothèque GTK+ ou Qt. L'avantage de Lazarus, c'est qu'il embarque de très nombreux composants en natif et que sa réputation est telle que de gros projets comme Zeos ou Synapse fonctionnent grâce à lui. Le développement est simple et rapide.
Lazarus vient de sortir en version 0.9.28. Les changements principaux sont :
- utilisation de GTK+ par défaut sous Linux,
- implémentation de TCalendar, TFloatSpinEdit, TOpenDialog et TSaveDialog sous Windows CE,
- ajout de TFrame, TShellTreeView, TShellListView, TFilterComboBox,
- quelques modifications pour être plus compatible avec Delphi,
- amélioration de l'EDI,
- utilisation de FreePascal 2.2.4
Alors, si vous ne connaissez pas le Pascal, Lazarus est un bon moyen de le découvrir et de l'adopter.
Prologin, le concours national d'informatique, est lancé
Prologin est un concours de programmation et d'algorithmique organisé depuis maintenant 18 ans pour les jeunes de vingt ans et moins résidant dans l'Union Européenne. Totalement gratuit, c'est une occasion pour tous les jeunes férus d'informatique de rencontrer d'autres passionnés et d'apprendre de nouvelles choses concernant la programmation.
Un total de sept langages de programmation sont autorisés : C, C++, C#, Python, OCaml, Java et Pascal. Tous les détails dans la seconde partie de la dépêche et via les liens.
Bonne chance à tous les participants !
Un total de sept langages de programmation sont autorisés : C, C++, C#, Python, OCaml, Java et Pascal. Tous les détails dans la seconde partie de la dépêche et via les liens.
Bonne chance à tous les participants !
GDB 7.0 et le déverminage concurrentiel à rebours
Ce mardi 6 octobre a été annoncée la disponibilité de la version 7.0 du debugger GNU. Outre l'ajout de la gestion native des environnements x86/x86_64 Darwin et x86_64 MinGW, du scripting Python et d'un certain nombre de correction de bugs, cette version introduit le support du déverminage à rebours, du « non-stop debugging » et du debugging multi-processus.
SystemTap 1.0 et Valgrind 3.5
Après quatre années de développement, SystemTap annonce fièrement sa version 1.0 (le 23 septembre).
Pour rappel, SystemTap est un outil permettant d'analyser le fonctionnement d'un noyau Linux en cours de fonctionnement, à la manière de DTrace. Il s'utilise en ligne de commande avec un langage de script qui lui est dédié.
Le projet est distribué sous licence GPL et développé par Red Hat, IBM, Intel, Hitachi et Oracle. Vous trouverez de nombreux exemples sur le site Internet.
Le 19 août dernier, c'est Valgrind qui sortait sa version 3.5.
Valgrind contient plusieurs outils dont les plus connus sont memcheck (tracer les fuites mémoires et accès invalides à la mémoire) et Callgrind (tracer les appels de fonction et mesurer le temps d'exécution).
Mais, il existe d'autres outils comme Helgrind (analyser les erreurs liées aux processus légers), Cachegrind (analyser l'utilisation du cache et la prédiction des branches), Massif (profileur de la mémoire allouée sur le tas), etc.
La version 3.5 apporte notamment le support de Mac OS X en plus de Linux.
NdM : Merci à liberforce pour son journal sur la sortie de Valgrind 3.5
Pour rappel, SystemTap est un outil permettant d'analyser le fonctionnement d'un noyau Linux en cours de fonctionnement, à la manière de DTrace. Il s'utilise en ligne de commande avec un langage de script qui lui est dédié.
Le projet est distribué sous licence GPL et développé par Red Hat, IBM, Intel, Hitachi et Oracle. Vous trouverez de nombreux exemples sur le site Internet.
Le 19 août dernier, c'est Valgrind qui sortait sa version 3.5.
Valgrind contient plusieurs outils dont les plus connus sont memcheck (tracer les fuites mémoires et accès invalides à la mémoire) et Callgrind (tracer les appels de fonction et mesurer le temps d'exécution).
Mais, il existe d'autres outils comme Helgrind (analyser les erreurs liées aux processus légers), Cachegrind (analyser l'utilisation du cache et la prédiction des branches), Massif (profileur de la mémoire allouée sur le tas), etc.
La version 3.5 apporte notamment le support de Mac OS X en plus de Linux.
NdM : Merci à liberforce pour son journal sur la sortie de Valgrind 3.5
Le projet GOsa² est heureux d'annoncer l'ouverture de GOsa² Contrib
Le projet GOsa² est heureux d'annoncer l'ouverture de GOsa² Contrib. Ce site est destiné à tout ceux qui écrivent des extensions, de la documentation, des scripts et toutes autres choses ayant trait au projet GOsa².
GOSa² est un outil en GPL pour gérer les comptes et les systèmes dans un annuaire LDAP. L'utilisation de GOsa² permet aux administrateurs systèmes une gestion simple et efficace des utilisateurs, groupes, des clients lourds et légers, de leurs applications, téléphones, fax, liste de distributions et bien d'autres paramètres.
Depuis son ouverture, le nombre de contributions ne cesse de s'étoffer. En effet, il y a dès à présent six nouveaux greffons en cours de développement sur cette plateforme.
Cette plateforme sera aussi l'endroit où vont être écrit les manuels ainsi que les livres prévus autour du logiciel GOsa²
GOSa² est un outil en GPL pour gérer les comptes et les systèmes dans un annuaire LDAP. L'utilisation de GOsa² permet aux administrateurs systèmes une gestion simple et efficace des utilisateurs, groupes, des clients lourds et légers, de leurs applications, téléphones, fax, liste de distributions et bien d'autres paramètres.
Depuis son ouverture, le nombre de contributions ne cesse de s'étoffer. En effet, il y a dès à présent six nouveaux greffons en cours de développement sur cette plateforme.
Cette plateforme sera aussi l'endroit où vont être écrit les manuels ainsi que les livres prévus autour du logiciel GOsa²
Sortie de Vala 0.7.6
Pour rappel, Vala est un langage de programmation orienté objet dont la syntaxe ressemble beaucoup à celle de C#, mais adapté au système GObject utilisé par Gtk et GNOME.
Contrairement à C# le code n'est pas interprété par une machine virtuelle, c'est un langage compilé. Pour être plus précis, le compilateur génère de manière intermédiaire du "C", ce qui permet à un logiciel programmé en Vala d'utiliser facilement des bibliothèques en C, ou à l'inverse à une bibliothèque programmée dans un langage qui s'interface avec du "C", de faire appel à une bibliothèque programmée en Vala.
Dès le début ce nouveau langage apportait nativement des fonctionnalités très intéressantes comme :
Cette nouvelle mouture apporte deux grosses nouveautés :
Plus d'informations dans la suite de la dépêche.
Contrairement à C# le code n'est pas interprété par une machine virtuelle, c'est un langage compilé. Pour être plus précis, le compilateur génère de manière intermédiaire du "C", ce qui permet à un logiciel programmé en Vala d'utiliser facilement des bibliothèques en C, ou à l'inverse à une bibliothèque programmée dans un langage qui s'interface avec du "C", de faire appel à une bibliothèque programmée en Vala.
Dès le début ce nouveau langage apportait nativement des fonctionnalités très intéressantes comme :
- Les interfaces
- Les propriétés (spécifique aux GObjects)
- Les signaux (démocratisé par Qt)
- Les expressions Lambda
- Les classe génériques
- La gestion assistée de la mémoire
- La gestion des exceptions
Cette nouvelle mouture apporte deux grosses nouveautés :
- Les closures (version plus puissante des expressions Lambda)
- Les appels asynchrones
Plus d'informations dans la suite de la dépêche.