Ostinato, un complément idéal à Wireshark

Posté par  . Modéré par patrick_g.
Étiquettes :
24
16
avr.
2010
Internet
Vénérable est le grand Wireshark. Que ce soit pour déverminer un softphone, appréhender un problème de DNS ou encore plus prosaïquement collecter les mots de passe de ses collègues, il est la référence de la capture et de l'analyse de traces réseau. Deux armes manquent cependant à l'arsenal - massif - de celui-ci : la modification de trames et leur rejeu.

Ostinato se propose de combler ces deux manques. Il permet de créer des paquets et d'en modifier les couches de niveau 2, 3 et 4, dont les instances les plus connus sont Ethernet, IPv4 et TCP/UDP. Il est bon de rappeler que netdude offre des fonctionnalités comparables.

Une fois manufacturés avec soin et amour, les paquets sont prêts à être injectés dans le réseau. Un ensemble de drones se chargent d'injecter les paquets.

Ostinato est composé d'une interface graphique qui permet de préparer les paquets et de contrôler les drones, et d'un ou plusieurs drones. L'interface est en Qt. Le code source est sous licence GPLv3. Le projet est jeune mais suscite l'intérêt d'Aaron Turner, créateur entre autres de tcpreplay.

Nouveautés autour d'Oupsnow, Go, Lucene, Solr, Redis et Cassandra

Posté par  (site web personnel) . Modéré par rootix.
24
21
mar.
2010
Internet
Une petite compilation de brèves :
  • Oupsnow : un outil de suivi de bugs en licence AGPL
    Oupsnow est un outil de suivi des bugs sous licence AGPL. La version 0.5.0 vient de sortir, proposant une interface efficace pour gérer des tickets sur plusieurs projets. Le projet est toujours dans une phase de développement actif, et toute aide est la bienvenue.

  • GO : le langage de programmation
    Le langage de programmation Go continue de progresser dans l'ombre. Une nouvelle version est publiée environ deux fois par mois, la dernière en date étant la 2010-03-15. Un wiki a été créé. Pour le moment, il semble encore bien vide, surtout quand on le compare à la page Go Programming Language Resources mais, à terme, il devrait permettre de regrouper des informations sur l'écosystème autour de Go.

  • Lucene : le moteur de recherche en java
    Lucene est un moteur de recherche libre écrit en Java qui permet d'indexer et de rechercher du texte, et Solr est un service web qui permet de profiter de toute la puissance de Lucene. Les deux projets, bien que tous deux dans la fondation Apache, n'étaient pas synchronisés. Cela devrait changer : il n'y aura plus qu'une seule liste pour les développeurs, les commiteurs seront les mêmes sur les deux projets et les nouvelles versions devraient sortir simultanément.

  • Redis : une base de données de type clé-valeur
    Redis est une base de données de type clé-valeur dont le développement a commencé il y a un peu plus d'un an. C'est une sorte de Memcached boosté, avec de la persistance et de nombreuses opérations en plus. Il est possible d'essayer ses possibilités dans un navigateur web grâce à try-redis. Son principal développeur, Salvatore Sanfilippo, vient d'être embauché par VMWare pour travailler à plein temps sur Redis.

  • Cassandra : une autre base de données du mouvement NoSQL
    Une autre base de données du mouvement NoSQL semble avoir également des auspices favorables. Cassandra (licence Apache 2.0) attire des sites web bénéficiant d'une forte réputation. Ainsi, Twitter, Digg et Reddit ont ou vont l'utiliser pour stocker leurs données et profiter de sa capacité à monter en charge.

SystemTap 1.0 et Valgrind 3.5

Posté par  (site web personnel) . Modéré par j.
Étiquettes :
24
29
sept.
2009
Noyau
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

Apprendre un langage de programmation par an

Posté par  (site web personnel) . Modéré par baud123.
Étiquettes :
24
20
déc.
2010
Technologie
Un de mes livres d'informatique préférés est The Pragmatic Programmer, from journeyman to master. Dedans, on y trouve une foultitude de conseils, dont l'un m'a particulièrement marqué : il est souhaitable d'apprendre un nouveau langage de programmation tous les ans pour parfaire son portfolio de connaissances.

L'année 2011 va bientôt arriver et je souhaite partager avec vous quelques suggestions de langages pour ceux qui voudraient suivre ce conseil :
  • Ruby (disponible sous Licence Ruby et GPL) reste mon langage préféré et je ne saurais trop vous conseiller de le découvrir !
  • Reia (disponible sous licence MIT) est un langage avec une syntaxe inspirée de Ruby qui tourne au-dessus de la machine virtuelle d'Erlang, permettant ainsi de profiter du meilleur des deux mondes.
  • Go (disponible sous Licence BSD) est un langage assez jeune mais déjà très intéressant, avec notamment la programmation concurrente à base de Goroutines.
  • Io (disponible sous Licence BSD) est un langage de programmation qui s'appuie sur les prototypes, avec des inspirations venant de Smalltalk, Self, Lisp et Lua.
  • Scala (disponible sous Licence BSD) pourrait être le futur pour les développeurs Java et propose déjà des avancées très pertinentes comme son modèle d'Actors ou son travail sur le typage.
  • F# (disponible sous Licence Apache) est un langage de programmation fonctionnelle, fortement inspiré d'OCaml et issu des laboratoires de Microsoft.


Au fait, je n'ai pas encore choisi quel langage j'allais étudier en 2011, donc n'hésitez pas à défendre votre langage favori dans les commentaires ;-)

Le web part en guerre contre IE6

Posté par  (site web personnel) . Modéré par baud123.
Étiquettes :
24
16
août
2009
Internet
Internet Explorer 6 est comme chacun le sait un navigateur très peu soucieux des normes du W3C. C'est pour cela que l'on a vu fleurir des sites avec le label "Optimisé pour Internet Explorer".
La stratégie de Microsoft a été simple : FrontPage permettait de faire des sites spécifiques à IE6 qui impose l'usage de Windows qui offre FrontPage et la boucle est bouclée.
Cette pratique a été maladroitement condamnée par l'Europe, mais au moins quelque chose a été fait.

Actuellement, Firefox et Safari ont largement contribué au recul de IE toutes versions confondues. Si bien que les concepteurs de sites web sont obligés d'inclure des quantités de bidouillages pour tenir compte des spécificités de IE6. D'ailleurs, IE7 est un peu mieux mais encore assez loin du compte.

Des sites à très forte audience ont décidé de ne plus supporter IE6 : Youtube, DailyMotion, Gmail, Facebook, Twitter, Okrut par exemple ont décidé de ne plus supporter ce navigateur obsolète qui impose des coûts supplémentaires importants.

L'inclusion de bandeaux ou d'avis de non support de IE6 (ou précédent) fleurit sur de nombreux sites. Il suffit d'inclure quelques lignes dans le code HTML pour cela.

Le plus petit serveur du monde sous Linux !

Posté par  (site web personnel) . Modéré par baud123.
Étiquettes :
23
18
oct.
2009
Matériel
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 !

X.Org, Summer of Code et Vacation of Code

Posté par  (site web personnel) . Modéré par Bruno Michel.
Étiquettes :
23
28
mar.
2010
Serveurs d’affichage
Comme tous les ans depuis 2006, X.Org participe au Google Summer of Code. Si vous êtes un étudiant et que vous vous ennuyez pendant les vacances, plutôt que de réviser pour la session de septembre vous avez une occasion d'écrire du code plein de poils dans X.Org !

L'avantage de X.Org sur beaucoup d'autres organisations est de disposer de fonds qui lui permettent de financer les étudiants brillants mais qui n'ont pas pu obtenir une bourse par Google. Ces étudiants participent alors au programme "X.Org Vacation of Code" qui marche de la même façon que le Summer of Code (autant sur le plan de l'interaction avec les dévelopeurs que sur le plan financier), sauf pour le t-shirt (X.Org ne fait pas encore de t-shirts).

D'autre part, X.Org a récemment étendu le "X.Org Vacation of Code" en "X.Org Endless Vacation of Code". Ce mot supplémentaire et qui change tout signifie qu'au lieu de se limiter à la période estivale, ce programme propose aux étudiants de devenir développeurs X.Org à tout moment de l'année qui leur semble opportun. Si vous êtes intéressés contactez X.Org !

Qt Creator 2.0 est sorti

Posté par  . Modéré par baud123.
Étiquettes :
23
25
juin
2010
Technologie
Le 22 juin 2010, Nokia a sorti Qt Creator 2.0. Cette version succède à la version 1.3.1. Qt Creator est un EDI (environnement de développement intégré) multiplateforme qui permet de développer facilement en C++ en utilisant Qt. S'initier à la programmation en C++ avec Qt est maintenant plus simple que jamais ! Il suffit d'installer Qt SDK : ce dernier contient Qt Creator 2.0 et Qt 4.6.3.

Pour ne pas paraphraser le changelog, nous tenterons de résumer les améliorations ainsi : rien n'est révolutionné, mais les fonctionnalités sont affinées et les bogues résiduels disparaissent. Pas mal d'améliorations concernent les plate-formes Symbian et Maemo.

La prise en charge de Qt Quick (voir plus bas pour la définition) était une des fonctionnalités les plus attendues de cette nouvelle version. Il a malheureusement été désactivé par défaut. La raison est que Qt SDK embarque Qt Creator 2.0 et Qt 4.6.3 ; QML (une des technologies nécessaires à Qt Quick) quant à lui arrive avec Qt 4.7, qui n'est pas encore stabilisé. Quand Qt 4.7 sera stabilisé, Qt Creator 2.1 sortira afin de pouvoir exploiter Qt Quick.

Qu'est-ce que Qt Quick ? C'est l'union des 3 technologies suivantes :
  • QML : un langage déclaratif qui permet la création de GUI (Graphical User Interface) ;
  • Qt Declarative : la glue entre les fichiers QML et l'application ;
  • Qt Creator : cet IDE va embarquer la gestion de QML afin de pouvoir créer des interfaces facilement et rapidement.

À bientôt pour la sortie de Qt Creator 2.1 et Qt 4.7 !

Sortie de Cairo 1.10

Posté par  . Modéré par baud123.
Étiquettes :
23
10
sept.
2010
Gnome
Cairo, une bibliothèque graphique 2D, utilisée par Gtk, le moteur de Firefox, WebkitGtk, vient de sortir une nouvelle version majeure après une période de gestation de deux ans.
Sous le capot, Cairo 1.10 permet de viser plusieurs systèmes de sorties graphiques :
  • Officielles : Émulation Software / Xlib / Quartz / Win32 / Postscript / PDF / PNG / SVG.
  • ou Expérimentales : XCB / BeOS / OS/2 / DirectFB / OpenVG / Qt / Skia / OpenGL / Direct2D.


À noter que la sortie émulée en "Software" a été en grande partie reprogrammée et optimisée, tandis que la version OpenGL a été complètement reprogrammée. La version Direct2D, quant à elle, a été réalisée par l'équipe de Firefox et ne se trouve pas encore dans les dépôts officiels.

Au menu des nouveautés nous pouvons aussi citer :
  • cairo-trace : un système permettant d'enregistrer et relire dans un format lisible et compact toutes les commandes de dessin envoyées à Cairo. Cet outil a permis à l'équipe de Cairo d'optimiser les différentes sorties disponibles ;
  • Le retour du format RGB16 ;
  • La fusion de pixman_region_t et GdkRegion en cairo_region_t ;
  • Une nouvelle API permettant de gérer l'accès au matériel (cairo_device_t)

Gérez vos projets avec Redmine

Posté par  (site web personnel) . Modéré par Lucas Bonnet.
23
10
jan.
2011
Ruby
Redmine est une forge logicielle sous licence GPL. Ses concurrents se nomment Trac, Retrospectiva, Django Projector ou encore InDefero, mais Redmine se défend très bien et offre un ensemble de fonctionnalités difficile à égaler :
  • Prise en charge de plusieurs projets ;
  • Contrôle d'accès avec un modèle flexible de rôles ;
  • Gestion avancée des tickets ;
  • Diagramme de Gantt et calendrier ;
  • Publication de news, documents et gestionnaire de fichiers ;
  • Notifications par emails et flux ATOM ;
  • Wiki et forums par projet ;
  • Outil de suivi du temps ;
  • Champs personnalisables pour les tickets, suivi de temps, projets et utilisateurs ;
  • Intégration avec plusieurs SCM : SVN, CVS, Git, Mercurial, Bazaar et Darcs ;
  • Création de tickets par email ;
  • Possibilité de se brancher sur de multiples annuaires LDAP pour l'authentification ;
  • Traduction dans 34 langues dont le français ;
  • Extensible grâce à ses greffons ;
  • Et plein d'autres choses encore...


Redmine est écrit en Ruby on Rails et vient de sortir en version 1.1. Vous pouvez l'essayer sur le site officiel ou sur la demo.

Ça bouge dans les navigateurs web

Posté par  (site web personnel) . Modéré par patrick_g.
Étiquettes :
23
11
avr.
2010
Internet
La compétition entre les principaux navigateurs web encourage leurs équipes à toujours plus d'innovation. Cette dépêche ne va effleurer que quelques unes des avancées des navigateurs, mais pas des moindres :
Je vous invite à lire la seconde partie de la dépêche pour avoir plus de détails.

Publication des vidéos de l'Embedded Linux Conference 2009

Posté par  (site web personnel) . Modéré par j.
Étiquettes :
22
6
août
2009
Matériel
Comme à chaque conférence importante traitant de Linux embarqué, la société Free Electrons était présente et a enregistré les conférences. Cette fois-ci, c'est avec la participation de Satoru Ueda et Tim Bird (de Sony), que Michael Opdenacker et Thomas Petazzoni (de Free Electrons) vous proposent les vidéos des conférences de Embedded Linux Conference 2009, qui s'est tenue du 6 au 8 avril à San Francisco. Les vidéos sont mises à disposition sous les termes d'une licence libre. La prochaine Embedded Linux Conference Europe aura lieu les 15 et 16 octobre 2009 à Grenoble.

On retrouvera notamment une conférence du mainteneur Linux embarqué du noyau Linux, David Woodhouse, des conférences sur les problématiques temps réel, sur l'instrumentation et le déboguage, la gestion mémoire, le portage sur diverses architectures, la gestion de l'énergie, le multimédia, le temps de démarrage, les systèmes de fichiers, les systèmes de build et bien d'autres sujets encore.

À noter que Free Electrons, société de développement et de formation dans le domaine de Linux embarqué, a animé plusieurs présentations et BOF (Bird of a Feather, sessions de réflexion) lors de cette conférence :

  • Une conférence sur Buildroot, un outil de construction de systèmes Linux embarqué

  • Une conférence sur les systèmes de fichiers pour Flash

  • Une BOF sur les outils de construction de systèmes Linux embarqué

  • Une BOF sur les problématiques de taille (taille du noyau, des applications en espace utilisateurs, les solutions pour réduire la taille, etc.)


La liste complète des vidéos est disponible dans la suite de l'article. Nous publierons prochainement les vidéos du thème embarqué des Rencontres Mondiales du Logiciel Libre qui se sont déroulées à Nantes début juillet.

Sortie de Vala 0.7.6

Posté par  . Modéré par Nÿco.
Étiquettes :
22
20
sept.
2009
Gnome
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 :
  • 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.

Perl 5.12 - une constante jeunesse

Posté par  (site web personnel) . Modéré par patrick_g.
Étiquettes :
22
14
avr.
2010
Perl
Perl est un langage de script initié par Larry Wall en 1987 qui est un des fondements du mouvement des logiciels libres. Il est distribué sous la licence libre Artistic. La version 5.0 est sortie en 1994 et la version 5.12 vient de paraître. Belle pérennité et surtout magnifique travail communautaire. En effet, le gros de l'infrastructure Perl tourne autour du CPAN (Comprehensive Perl Archive Network) qui concentre des milliers de module réutilisables et en constante amélioration.

Perl utilise depuis quelques temps déjà la notation impaire pour les versions de développement et paire pour les versions stables. Depuis la version 5.11.0, la communauté Perl a basculé sur un agenda de sortie des versions à date fixe, une version de développement tous les 20 du mois en cours et une version stable tous les ans au printemps (dans l'hémisphère Nord). La 5.12 est donc la première version stable à profiter de ce nouvel agenda.

À peine sortie, un essai d'intégration dans la future Debian squeeze est déjà en route et semble sur la bonne voie. Il faut savoir que Debian n'intègre qu'une seule version de Perl à la fois et que ce langage est très intégré dans cette distribution même si à chaque version de celle-ci, de gros efforts sont réalisés pour diminuer le nombre de dépendances dans le cœur de la distribution.

MongoDB 1.4, prêt pour la production

Posté par  (site web personnel) . Modéré par j.
Étiquettes :
22
26
mar.
2010
Base de données
MongoDB est une base de données de type documents, sous licence GNU AGPL V3, et dont la version 1.4 vient de sortir. Elle s'inscrit dans le mouvement NoSQL, et propose des fonctionnalités très intéressantes :
  • Le stockage des documents se fait dans un format très proche du JSON (le BSON) et sans avoir à imposer un schéma ;
  • Les requêtes dynamiques sont d'une richesse fonctionnelle que je pense être équivalente au SQL, et de nouveaux opérateurs font apparition au fur et à mesure des versions ;
  • Il est possible d'indexer plein de choses, dont les objets internes et, nouveauté de la 1.4, des données géospatiales ;
  • Les requêtes peuvent être profilées ;
  • Il est faisable de stocker des objets binaires volumineux, comme des photos ou des vidéos, dans MongoDB grâce à GridFS ;
  • MongoDB supporte la réplication, le failover, et de manière expérimentale le sharding automatique ;
  • Des pilotes permettent de l'utiliser depuis de nombreux langages, dont le PHP, le Ruby et le Python.
Cela en fait une base de données solide, offrant des performances impressionnantes. Elle est déjà utilisée par de grands noms comme Sourceforge, EA, le New-York Time et bien d'autres. Elle me semble être particulièrement bien adapté pour le développement web (enfin, si vous visez à devenir le prochain twitter, Cassandra est probablement un meilleur choix). Certains prédisent même qu'elle pourrait prendre la place de MySQL dans ce domaine.