La fondation Apache sort Cassandra 0.6

Posté par  (site web personnel) . Édité par Benoît Sibaud. Modéré par Florent Zara.
Étiquettes :
20
16
avr.
2010
Base de données
Le NoSQL est un mouvement qui vise à offrir des bases de données dont les caractéristiques sont différentes des bases de données relationnelles, afin de laisser aux développeurs le choix. Par exemple, une de ces caractéristiques est la "mise à l'échelle" (scalability) : certains très gros sites Internet ont besoin de gérer des bases de données conséquentes et dont la taille ne cesse de croître, sans pour autant voir leurs coûts de fonctionnement exploser. Cassandra vient justement répondre à ce besoin.

Cassandra est un stockage structuré de clés-valeurs, distribué, acceptant facilement la montée en charge et résistant aux pannes. Initialement développé par Facebook, le projet a été libéré sous licence Apache 2.0 et placé dans les mains de la fondation Apache. Il a depuis connu un succès grandissant : en plus de facebook, twitter, digg, reddit et bien d'autres ont annoncé qu'ils utilisent Cassandra.

Cassandra bénéficie de beaucoup d'activités : la version 0.6 est sortie il y a quelques jours et apporte des fonctionnalités très intéressantes (plus de détails dans la seconde partie de la dépêche). Cassandra participera aussi au Google summer of code sous le chapeau de la fondation Apache.

IronRuby 1.0, le futur de Java, Gizzard et Flockdb, rachat de RabbitMQ par SpringSource

Posté par  (site web personnel) . Modéré par Florent Zara.
Étiquettes :
7
14
avr.
2010
Ruby
IronRuby 1.0
Trois ans après l'annonce initiale, IronRuby est fier d'annoncer sa version 1.0. Microsoft propose ainsi une implémentation alternative de Ruby qui tourne au-dessus de .NET. La version 1.0 d'IronRuby est compatible avec Ruby 1.8.6 (pas complètement : le langage est très bien respecté, mais pas quelques parties de la bibliothèque standard). Il permet notamment de faire tourner Ruby on Rails 2.3.5.

La prochaine étape est de s'attaquer à la compatibilité de Ruby 1.9 et de permettre de faire fonctionner Rails 3, comme annoncé dans l'interview de RubyInside.

Le futur de Java
Oracle a racheté Sun, et on peut se poser la question de savoir quelle direction Oracle souhaite-il donner à Sun. Le départ de James Gosling laisse à penser que Java n'est pas un enjeu prioritaire pour Oracle, mais en l'absence de communication officielle, il est difficile d'en savoir plus. Rappelons que Java 1.7 devrait sortir en septembre, sauf problème majeur.

Le compte github de twitter
Twitter a publié sur son compte github deux projets intéressants (tous les deux sous licence Apache 2.0) :
  • Gizzard est un framework pour faire de la répartition de données (sharding) entre plusieurs stockages. Écrit en scala, ce framework sert à développer des middlewares qui se placent entre vos applications et les bases de données pour assurer la distribution des données et garantir une certaine tolérance aux erreurs.
  • Flockdb est une base de données de type graphes. Twitter s'en sert pour stocker son graphe social (13 milliards d'arcs tout de même) et est en train d'en faire un projet libre à part entière. Un client Ruby est disponible pour communiquer avec la base de données.
Rachat de RabbitMQ par SpringSource
SpringSource, une filiale de VMWare, a racheté Rabbit Technologies Ltd., la société derrière RabbitMQ. RabbitMQ est une solution complète et fiable d'échange de messages entre systèmes hétérogènes, sous licence Mozilla. Elle implémente le standard AMQP (standard décrié par ses créateurs).

Ç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.

Un combat de clients de microblogging

Posté par  (site web personnel) . Modéré par rootix.
Étiquettes : aucune
8
8
avr.
2010
Internet
À ma gauche, gwibber est un client de microblogging de longue date, mais dont la nouvelle branche apporte de sérieuses évolutions. À ma droite, pino est un tout nouveau client de microblogging, dont les versions s'enchaînent à un rythme impressionnant. Lequel des deux peut prétendre au titre de meilleur client GTK sous GNU/Linux ?

Gwibber est un client bien établi, écrit en Python et sous licence GPL V2. Dans le cadre de la sortie prochaine d'Ubuntu Lucid, Gwibber a bénéficié d'un travail de fond, car Mark Shuttleworth souhaitait soigner l'aspect social d'Ubuntu. Ainsi, l'interface donne maintenant une meilleure impression, avec notamment la possibilité d'avoir plusieurs colonnes. On notera aussi que le programme a été découpé en deux : un gwibber-service qui tourne en tâche de fond, et gwibber un client plus léger et rapide à lancer.

Pino est par contre tout jeune : la première version publique, la 0.1.0, date du 28 décembre 2009. Écrit en vala, et sous licence LGPL V3, il n'en possède pas moins des atouts. Il partage en grand nombre de fonctionnalités avec gwibber, mais va aussi plus loin sur certains points. Par exemple, il colore d'une façon différente les messages qui n'ont pas encore été lus, ce qui s'avère très pratique à l'usage.

Au final, je dirais qu'il n'y a pas vraiment de gagnant. Les deux clients me semblent bien plus aboutis que pas mal d'autres alternatives, mais je ne saurais les départager : match nul. Gwibber semble un poil plus complet et robuste, mais graphiquement, je préfère pino. Je vais donc continuer à utiliser les deux pendant encore quelques temps avant de me décider.

Nouvelle version de LinuxFr.org

Posté par  (site web personnel) . Modéré par Bruno Michel.
Étiquettes :
42
1
avr.
2010
Humour
Le site LinuxFr.org existe depuis maintenant plus de 11 ans. Nous souhaitions lui redonner un coup de jeune. Pour cela, nous avons mis en place un programme s'inspirant de références novatrices et innovantes parmi les réseaux sociaux. Cela a abouti à la mise en ligne aujourd'hui d'une nouvelle version avec :
  • Une nouvelle feuille de style plus moderne
  • La géolocalisation en temps réel des utilisateurs
  • Connexion via Facebook Connect (bouton à gauche, sous le logo)
  • Et beaucoup d'autres choses que nous vous laissons découvrir.


J'espère que vous saurez apprécier cette nouvelle version à sa juste valeur, et n'hésitez pas à nous dire quelles sont les nouvelles fonctionnalités que vous appréciez.

NdM : la version en RoR de DLFP avance bien, que ceux motivés se dénoncent ;-)

Le point sur les avancées de Google Go

Posté par  (site web personnel) . Modéré par Xavier Teyssier.
19
29
mar.
2010
Golang
Le langage Go (sous une licence de type BSD) est issu d'une discussion entre Ken Thompson (un des auteurs d'Unix et d'UTF8) et Rob Pike (un des auteurs de Plan9 et d'UTF8). Rob Pike a pu monter une équipe chez Google pour travailler dessus, et en novembre 2009, une première version a été dévoilée au reste du monde.

Depuis, le développement continue d'avancer à un bon rythme. Des versions sont publiées tous les 10 à 15 jours.

Dernièrement, une proposition pour un mécanisme similaire aux exceptions a été discuté sur la liste de diffusion. C'est un exemple très révélateur de la manière d'avancer de l'équipe en charge de Go : ils ne se précipitent pas pour ajouter des fonctionnalités présentes dans d'autres langages parce qu'elles sont très demandées. Ils prennent le temps de réfléchir à chaque problème, et quand ils ont trouvé une piste qui semble pouvoir répondre à leurs exigences, ils publient une proposition sur la liste de diffusion. Il s'en suit des discussions qui permettent de raffiner la proposition et, sauf surprise, la proposition est intégrée dans la version suivante.

Côté communication, l'essentiel se passe sur le canal IRC #go-nuts sur freenode et sur la liste de diffusion Go-nuts. Un wiki a récemment été mis en place pour regrouper des informations sur l'écosystème de Go. Quelques jours plus tard, un blog officiel a suivi. Enfin, un dashboard permet de voir l'état des compilations sur les différentes architectures supportées.

Globalement, les personnes qui ont essayé Go semblent convaincues que ce langage est promis à un grand avenir.

Codez avec classe grâce à Sinatra

Posté par  (site web personnel) . Modéré par tuiu pol.
Étiquettes :
16
29
mar.
2010
Ruby
Sinatra est un micro-framework en Ruby pour construire rapidement des applications web (licence MIT).

Il se présente sous la forme d'un Domain Specific Language, avec un jeu assez réduit de fonctionnalités et laissant beaucoup de libertés aux développeurs d'applications. En cela, il est très complémentaire de Ruby on Rails, car il sera très efficace pour les petites applications web, les prototypes, les API Rest, les webhooks, ou fournir une interface web à une application Ruby existante.

Le développement de Sinatra a commencé en novembre 2007, et une nouvelle étape a été marquée le 23 mars dernier avec la sortie de la version 1.0. Sinatra est utilisé dans de nombreuses applications Ruby, mais son succès ne se limite pas à Ruby. Il existe des clones plus ou moins fidèles dans de nombreux langages : Sammy (Javascript), Dancer (Perl), Fitzgerald (PHP), Martin (.net), Itty (Python), Step (Scala), Express (node.js) et beaucoup d'autres.

D'un point de vue plus technique, Sinatra s'installe très simplement avec Rubygems, d'un simple coup de gem install sinatra. Et écrire un Hello world n'est pas plus compliqué :
require 'rubygems' require 'sinatra' get '/' do 'Hello LinuxFr !' end

20 étudiants pour travailler sur Ruby cet été

Posté par  (site web personnel) . Modéré par baud123.
Étiquettes :
31
28
mar.
2010
Ruby
La semaine dernière, Google a annoncé la liste des organisations retenues pour le Google Summer of Code 2010. En particulier, la seule candidature autour de Ruby, à savoir Ruby on Rails, est rejetée. La communauté Ruby a alors réagi en décidant de monter un Ruby Summer of Code.

En 3 jours, les sponsors et dons des particuliers ont permis de ramasser 100 000 $. Cela va permettre de financer 20 projets en payant 5 000 $ à chaque étudiant, selon un modèle très similaire au Google Summer of Code.

Vous pouvez dès à présenter postuler comme mentor, et ce jusqu'au 2 avril. Pour proposer sa candidature comme candidat, la fenêtre ira du 5 au 23 avril. Les propositions pourront porter sur Ruby, Rails, les implémentations alternatives de Ruby comme JRuby, ou plus globalement sur l'écosystème Ruby.

À titre personnel, je me réjouis de voir que la communauté Ruby se porte bien, ayant été capable de récolter 100 000 $ en seulement 3 jours. Par ailleurs, je trouve que le Google Summer of Code est une excellente initiative de la part de Google, mais je craignais qu'il ne crée un phénomène de dépendance entre certains Logiciels Libres et Google. Le Ruby Summer of Code m'a permis de lever cette réserve et d'apprécier pleinement le Google Summer of Code.

Je regrette juste de ne plus être étudiant ;-)

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.

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.

HAProxy 1.4, Chef 0.8.2 et GNU Social

Posté par  (site web personnel) . Modéré par Nÿco.
Étiquettes :
22
6
mar.
2010
Internet
HAProxy 1.4

HAProxy est une solution libre, fiable et très performante de répartition de charge, qui peut agir soit au niveau de la couche TCP, soit au niveau d'HTTP. La branche 1.4 apporte son lot de nouveautés, dont le très attendu support du keep-alive HTTP côté clients. On peut également citer la gestion du protocole RDP, l'interface en ligne de commande ou les health checks pour MySQL.

Chef 0.8.2

Chef est un outil en Ruby qui permet d'automatiser son infrastructure, sous licence Apache. Avec Chef, on peut :
  • Gérer ses serveurs en écrivant du code, les recettes, et non pas en lançant des commandes
  • S'intégrer à ses applications, bases de données, annuaires LDAP, etc.
  • Configurer facilement ses applications qui ont besoin d'une connaissance de l'infrastructure (« Quel est le serveur de base de données maître ? »)


La version 0.8.2 est la première version stable de la nouvelle branche 0.8. L'API Rest de Chef est maintenant complète. Knife était un outil en ligne de commande proposé sous la forme d'une extension non-officielle. Il a été intégré à Chef, et il couvre maintenant l'ensemble des fonctionnalités proposés par l'interface REST. Un nouveau mécanisme d'authentification a été mis en place avec des signatures par requête. Et bien d'autres fonctionnalités ont fait leur apparition.

GNU Social

GNU Social est une initiative qui vise à créer un réseau social décentralisé. Un des objectifs est de permettre aux utilisateurs d'avoir un meilleur contrôle sur les données et leur vie privée que ce que les réseaux sociaux actuels permettent. L'intégralité du code sera placé sous licence AGPLv3, mais pour le moment l'heure est plus à la discussion pour essayer de regrouper les idées sous un concept fort.

Les technos web cools du moment

Posté par  (site web personnel) . Modéré par baud123.
33
24
fév.
2010
Internet
Dans le cadre de mon activité professionnelle, je fais de la veille autour des technologies web. Suite à un récent journal sur CouchDb, je me suis dit que les lecteurs de LinuxFr.org pourrait être intéressé par le sujet. J'ai donc regroupé un paquet de liens récents dans la seconde partie de cette dépêche. La plupart viennent du compte delicious qui me sert pour la veille. Les autres liens sont de l'auto-promotion vers des billets que j'ai écrit.

Sortie de la version 2.0 de Retrospectiva

Posté par  (site web personnel) . Modéré par Nÿco.
Étiquettes :
13
9
fév.
2010
Ruby
Retrospectiva est un outil de gestion de projets libre (licence MIT). On peut le comparer à des outils comme Redmine, Trac ou Indefero. Il est toutefois plus orienté sur les approches agiles, notamment via le greffon AgilePM.

Les principales fonctionnalités de Retrospectiva sont :
  • Gestion des tickets avec un workflow personnalisable ;
  • Suivi de l'avancement des jalons et objectifs ;
  • Intégration de subversion et git pour l'affichage des révisions ;
  • Interface d'administration complète ;
  • Multi-projets avec une seule instance ;
  • Traduction dans plusieurs langues, dont le français ;
  • Un wiki avec la possibilité d'attacher des fichiers ;
  • La possibilité d'avoir un blog ;
  • Une installation simplifiée ;
  • Une API Rest et des flux RSS.


La version 2.0 de Retrospectiva vient de sortir, et c'est l'occasion de l'essayer. Si avant cela, vous voulez voir à quoi ressemble Retrospectiva, faites un tour sur le site officiel, il tourne lui-même sous Retrospectiva.

BlockCamp Paris le 28 novembre

Posté par  (site web personnel) . Modéré par Benoît Sibaud.
Étiquettes :
1
21
nov.
2009
Ruby
L’association Ruby France, l’ESUG , l'INSIA et af83 ont le plaisir de vous annoncer l’organisation d’un BarCamp consacré à Ruby et Smalltalk dans les locaux de l'INSIA à Paris, le samedi 28 novembre 2009.

Cette non-conférence sera l'occasion de parler de Ruby : implémentations de Ruby, Ruby et le desktop, bibliothèques Ruby, etc. mais également de Smalltalk : Squeak, Pharo, Seaside... Nous aurons ainsi parmi nous la présence de Lukas Renggli, committer Seaside (framework web en Squeak).

L’événement est gratuit et ouvert à tous, débutant ou expert. Il suffit de s’inscrire (attention à la limite maximum !) et toutes les explications et les informations pratiques (code d’accès pour entrer…) sont sur la page du wiki BarCamp.

Netbeans 6.7

Posté par  (site web personnel) . Modéré par Nÿco.
Étiquettes :
14
30
juin
2009
Java
NetBeans est un projet qui consiste d'une part en une plate-forme de conception d'applications Java et d'autre part en un environnement de développement intégré - un IDE.

NetBeans a été racheté par Sun en 1999 et est développé en Java. Il est distribué sous double-licence CDDL et GPLv2.

Il est disponible dans de nombreuses langues - et en partie francisé - et prend en charge plusieurs langages de programmation parmi lesquels :
  • Java SE, Java EE, Java ME, JavaFX
  • C / C++
  • Javascript, AJAX...
  • XML
  • PHP
  • Ruby
  • Groovy
  • Python
  • ...

NetBeans dispose de fonctionnalités bien connues des utilisateurs d'IDE : coloration syntaxique, auto-complétion, gestion multi-projets, intégration des documents de référence, support de solutions de gestion de versions, intégration de débogueurs... Le logiciel a été conçu en prenant en compte le principe de la modularité. Il est ainsi proposé au téléchargement via des paquetages centrés sur les langages employés : PHP, C, JavaFX, Ruby, etc. mais rien n'empêche d'ajouter de nouvelles fonctionnalités via le système d'extensions.