Annonce de la sortie de Riak 0.10

Posté par  (site web personnel) . Modéré par patrick_g.
Étiquettes :
18
3
mai
2010
Base de données
Dans la grande famille des bases de données NoSQL, je vous ai déjà présenté Cassandra, MongoDB, Redis et FlockDB. Laissez-moi vous présenter un nouveau membre de cette famille : Riak.

Riak est une base de données distribuée de type clé-valeur, sous licence Apache 2. Basho, la société derrière Riak, s'est inspirée de Dynamo d'Amazon pour nous offrir un stockage qui scale facilement. En particulier, sa grande force repose sur son modèle distribué où toutes les machines jouent un rôle équivalent, ce qui apporte à la fois une grande résistance aux erreurs et la capacité d'ajouter ou retirer facilement des machines à la volée.

Dans la seconde partie de la dépêche, je vais présenter plus en détails Riak, puis vous parler des nouveautés de la version 0.10 sortie récemment. J'aborderai également bitcask, un moteur de stockage clé-valeur local, qui peut être utilisé pour le stockage par noeud de Riak. Je finirais par une note très rapide à propos de ripple, le client en Ruby pour Riak.

DataMapper 1.0

Posté par  (site web personnel) . Modéré par Mouns.
Étiquettes :
18
10
juin
2010
Ruby
DataMapper est une bibliothèque en Ruby qui vous permet de manipuler des données dans des bases de données sous forme d'objets Ruby (c.-à-d., c'est un ORM). Sous licence MIT, il vient de sortir en version 1.0, grâce au travail de 66 contributeurs.

Dans le monde Ruby, l'utilisation d'ORM est devenue une pratique courante sous l'influence de Ruby on Rails. ActiveRecord, l'ORM de Ruby on Rails, est ainsi très utilisé mais il ne convient pas à tout le monde. Les développeurs de Ruby on Rails ont des avis très tranchés sur certains points et, notamment, cherchent toujours à répondre aux 20% de cas d'utilisation qui couvrent 80% des besoins. Mais certaines personnes ont des besoins plus particuliers : c'est ce qui est arrivé aux développeurs de DataMapper.

L'équipe de DataMapper a ainsi voulu fournir une bibliothèque plus complète qu'ActiveRecord. On peut ainsi citer les points forts suivants :
  • Support de nombreuses bases de données, aussi bien relationnelles que NoSQL, mais également de fichiers YAML et d'interfaces REST ;
  • Migrations automatiques : on écrit les classes Ruby, puis on demande à DataMapper de créer les tables correspondantes dans la base de données ;
  • Unicité des objets : une ligne dans la base de données correspond à un objet ;
  • Approche modulaire : on choisit les fonctionnalités dont on a vraiment besoin ;
  • Réduction du nombre de requêtes : DataMapper ne fait les requêtes qu'au moment où vous avez vraiment besoin d'y accéder (Lazyness can be a virtue) et précharge les objets quand vous itérez sur des collections (Strategic eager loading) ;
  • Intégration plus souple à des projets Ruby existants.


La version 3 de Ruby on Rails devrait sortir d'ici quelques semaines et va notamment permettre de remplacer facilement ActiveRecord par un ORM dans les projets Rails.
Saluons donc l'arrivée de DataMapper 1.0 qui va permettre de couvrir des scénarios complexes pour des projets Rails ou autres.

En vrac : Doctrine 2, MySQL 5.5 et VimGolf

Posté par  (site web personnel) . Modéré par baud123.
Étiquettes :
18
30
déc.
2010
Technologie
Doctrine est une bibliothèque en PHP, sous licence LGPL, qui permet d'utiliser les enregistrements d'une base de données (relationnelle ou documents) sous forme d'objets PHP. Une réécriture complète avait commencé il y a deux ans et demi et vient d'aboutir sous la forme de la première version stable de Doctrine 2. Cette nouvelle version implémente maintenant le motif DataMapper (au lieu d'ActiveRecord précédemment), apportant ainsi plus de souplesse, de nouvelles fonctionnalités et une prise en charge de nouveaux moteurs de base de données dont MongoDB.

Oracle a annoncé le 15 décembre la sortie de la version 5.5 de MySQL, avec au programme amélioration des performances et meilleure prise en charge de la réplication et du failover. L'édition communautaire reste sous licence GPL et est toujours livrée avec les moteurs de stockage InnoDB, MyISAM, NDB, mémoire, archive, merge, etc. Il semblerait donc que MySQL soit l'un des rares projets Open Source à profiter du rachat de Sun par Oracle.

Pour finir, je souhaite vous présenter VimGolf. Le but de ces challenges de passer d'un fichier de départ à un fichier d'arrivée en tapant le moins de touches possible dans Vim. Bref, c'est un bon moyen d'apprendre à utiliser Vim de manière joyeuse :-)

Gollum, un wiki propulsé par git

Posté par  (site web personnel) . Modéré par Florent Zara.
Étiquettes :
17
25
août
2010
Ligne de commande
Gollum est un wiki dont la particularité est d'être propulsé par git. Il a été codé par les développeurs de Github, le choix de git n'est donc pas étonnant. Il est ainsi possible d'éditer un wiki Gollum en passant par l'interface web ou directement depuis son éditeur de texte préféré, puis en commitant dans le dépôt git utilisé par Gollum.

Gollum est une application web sous licence MIT, développée en Ruby avec le framework Sinatra. Parmi les fonctionnalités, citons :
  • La prise en charge de plusieurs langages de markup (ASCIIDoc, Creole, Markdown, Org Mode...) ;
  • La coloration syntaxique de bloc de code grâce à Pygments ;
  • L'affichage de formules mathématiques au format TeX avec MathJax ;
  • La possibilité d'attacher des fichiers et d'inclure des images.

À titre anecdotique, notons que les développeurs de Gollum ont suivi quelques principes :

Big Brother Awards 2010

Posté par  (site web personnel) . Modéré par patrick_g.
Étiquettes :
17
28
mai
2010
Justice
Le 12 mai, s'est déroulée à la Cantine la 10ème remise des Big Brother Awards (BBA pour les intimes). Différents Prix Orwell ont été remis aux gagnants qui se sont illustrés par leur mépris de la vie privée et des libertés :
  • Orwell États/Élus : Eric Besson, ministre de l'Immigration pour avoir durci les quotas d’expulsions, refusé de mettre à l’abri des poursuites les personnes qui aident les migrants, et pour vouloir contourner le juge des libertés afin de bafouer les droits des migrants lors de procédures d’expulsion expéditives ;
  • Orwell Localités : le maire de Nice Christian Estrosi pour sa volonté de faire de sa ville un laboratoire de la vidéosurveillance ;
  • Orwell Entreprise : BNP Paribas, la Banque Postale, LCL et la Société générale pour avoir accepté de couvrir leurs employés qui dénoncent aux services de la Préfecture des clients sans papiers venus à leur guichet ;
  • Orwell Novlang : Brice Hortefeux pour le terme de « vidéoprotection », venant remplacer « vidéosurveillance » ;
  • Mention spéciale Internet : Trident Media Guard et Thierry Lhermitte pour chercher à profiter de la surveillance des internautes autorisée par les mesures de la loi Hadopi ;
  • Exécuteurs des basses œuvres : Eric Ciotti, député et président du Conseil général des Alpes-Maritimes, rapporteur de la LOPPSI, porte-flingue du gouvernement pour toutes les questions liées à la sécurité intérieure et président zélé d’un département qui veut être le premier à supprimer les allocations à une famille en difficulté sociale ;
  • Mention spéciale médias : les Infiltrés de France 2 et le journal télévisé de TF1 pour leur excès de zèle à souffler sur la braise sécuritaire, amplifier les faits divers pour servir le politique, emprunter des méthodes policières ou même collaborer ouvertement avec les services officiels ;
  • Prix Spécial du Jury — 10 ans des BBA : Alex Türk, président de la CNIL pour tromperie et dissimulation (Alex Türk endosse les habits du défenseur tout terrain de la vie privée et des libertés alors qu’il en est parfois le fossoyeur et souvent le facilitateur).


Un prix Voltaire de la Vigilance a également été remis au groupe Pièces et main d’oeuvre (PMO) pour son minutieux travail d’information et de réflexion sur les relents totalitaires des techno-sciences.

Mais l'édition 2010 ne s'arrête pas là ! Il est possible de
voter pour le Prix du Public. De plus, demain, samedi 29 mai, un BarCamp se tiendra de 14h à 18h à La Belle Étoile, théâtre de la Compagnie Jolie Môme, 14 allée Saint-Just, 93210 Saint-Denis. Cet après-midi de rencontres, d’échanges et d’ateliers informels aura pour thème la contre-surveillance et les modes d’action visant à reconquérir et préserver nos identités numériques et nos droits d'individus libres.

Petites brèves Ruby

Posté par  (site web personnel) . Modéré par baud123. Licence CC By‑SA.
Étiquettes :
17
21
avr.
2012
Ruby

Sortie de Ruby 1.9.3-p194

Une nouvelle version de Ruby est sortie récemment : Ruby 1.9.3-p194. En plus des diverses corrections de bugs mineurs, elle contient deux correctifs de sécurité pour RubyGems :

  • elle active la vérification des certificats SSL pour les dépôts de gems privés ;
  • elle interdit les redirections d'une adresse en HTTPS vers une adresse en HTTP.

mruby

mruby est un projet mené par le créateur de Ruby, matz, depuis quelques années. Il vise à avoir une implémentation de Ruby plus légère, pouvant être compilée et liée avec une autre application pour pouvoir utiliser Ruby comme langage de script embarqué au sein d'un programme plus large.

mruby est encore loin d'être complètement fonctionnel mais il est intéressant de noter qu'il va être utilisé pour MobiRuby un framework de développement d'applications mobiles qui devrait sortir cet été (sur iOS puis sur Android).

Rails-API

Le framework Ruby on Rails est de plus en plus souvent utilisé pour développer des API Rest au format JSON. Le plugin Rails-API tire parti du travail de modularisation de Rails 3 pour fournir une version optimisée de Rails pour ce cas d'usage.

Ce n'est pas un fork mais bien un plugin pour Rails, ce qui veut dire qu'il est toujours possible de réinclure les fonctionnalités manquantes (utile si on veut avoir une API utilisable depuis les navigateurs) et d'utiliser tout l'écosystème autour de Rails.

Gérez vos projets avec Trac

Posté par  (site web personnel) . Modéré par Xavier Teyssier.
Étiquettes :
17
17
juin
2010
Python
Trac est un outil de gestion de projets écrit en Python et distribué sous licence BSD. Il combine un wiki, un outil de suivi de demandes et un explorateur SVN (ou d'autres SCM).

C'est donc un projet similaire à InDefero, Retrospectiva ou Redmine. Trac est moins avancé que ces outils pour l'aspect multi-projets, mais ses nombreux greffons lui permettent de rester en tête en nombre de fonctionnalités.

La version 0.12 est sortie récemment et apporte de nombreuses améliorations. Parmi celles-ci, citons les plus importantes :
  • Prise en charge de l'internationalisation avec Babel ;
  • Gestion de plusieurs dépôts par instance ;
  • Syntaxe wiki plus souple, plus intuitive, et plus proche de Wiki Creole ;
  • Amélioration de l'interface de gestion des tickets et commentaires ;
  • Ajouts de fonctionnalités au wiki : renommer de pages, Universal Edit Button, prévisualisation automatique, etc.
Vous pouvez essayer cette nouvelle version sur le site de la démo.

Journal Thelio Io, de l'Open-Hardware par System76

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
17
3
nov.
2018

Salut, je viens de voir passer du matériel libre développé par System76. Il s'agit d'une carte-fille nommée Thelio Io (et les boitiers, je crois).

Elle permet de faire des choses qui sont habituellement effectuées par la carte-mère, notamment contrôler le flux d'air dans le boitier en fonction des données de la carte mère, des vitesses des ventilateurs, et des informations de la carte graphique et du système d'exploitation. Je trouve cette approche intéressante car elle permet d'aller vers du Open-Hardware (…)

NoSQL : Neo4J, Riak, Kyoto Cabinet et Graylog2

Posté par  (site web personnel) . Modéré par Nÿco.
17
3
août
2010
Base de données
Petite compilation de brèves autour de divers projets de type NoSQL :

Neo4J est une base de données de type graphes sous licence AGPLv3. La version 1.1, sortie fin juillet, apporte 7 grandes nouveautés :
  1. Un package d'algorithmes classiques pour les graphes avec, par exemple, Dijkstra et A* ;
  2. La possibilité d’exécuter du code sur des événements comme un commit ;
  3. Une bibliothèque de traversée de graphes (vous donnez des instructions comme l'ordre de parcours dans le graphe ou les types d'arcs à suivre et Neo4J vous renvoient les chemins parcourus) ;
  4. Monitoring avec JMX ;
  5. Optimisation du kernel ;
  6. Amélioration de l'indexation avec Lucene ;
  7. Inclusion de l'outil de sauvegarde à chaud.

Riak est une base de données distribuée de type clé-valeur, sous licence Apache 2. Depuis la précédente dépêche sur LinuxFr.org, deux versions sont sorties : la 0.11 et la 0.12. Bitcask est maintenant le moteur de stockage par défaut. Pour le reste, pas de grands changements, mais un bon nombre de corrections de bogues et de petites améliorations diverses.

Kyoto Cabinet est une base de données très rapide de type clé-valeur. Un nouveau type de stockage a été introduit dans la version 1.1.0 : Directory Database. Celui-ci n'est qu'une fine abstraction au-dessus des systèmes de fichiers et fonctionne particulièrement bien avec Ext3 et ReiserFS pour stocker des valeurs très grosses.

La version 1.2.0 a également été l'occasion d'introduire un nouveau type de stockage : ForestDB. Son implémentation est un B-tree au-dessus de DirDB et dont les performances sont étonnamment bonnes.

Enfin, Graylog2 est une implémentation Open Source de syslog qui enregistre les logs dans MongoDB. Il se compose d'un serveur en Java qui accepte les logs en TCP ou UDP et les enregistre dans la base de données, et d'une interface de consultation des logs écrite en Ruby on Rails. Les captures d'écran montrent les possibilités de configuration et de filtrage des messages de cet outil.

Journal Êtes-vous un devices hacker ?

Posté par  (site web personnel) .
Étiquettes :
16
5
jan.
2010
Bearstech a annoncé lors du 26C3 la mise en ligne d'Hackables-devices. C'est un site sur les devices qui peuvent être facilement (ou pas) bidouiller.

On y trouve bien sûr des OpenMokos, des Tux Droids et des Arduinos, mais aussi d'autres appareils moins connus. Par exemple, vous pouvez voir la fiche sur la caméra Elphel (ceux qui étaient aux RMLL en 2008 en ont peut-être vu une, car elle a servie à filmer quelques conférences).

J'espère que (…)

Sortie de Node.js 0.4.0

Posté par  (site web personnel) . Modéré par patrick_g.
Étiquettes :
16
12
fév.
2011
JavaScript
Node.js est un environnement JavaScript côté serveur, sous licence MIT. Sa particularité est son approche asynchrone pour faciliter la montée en puissance dans des contextes avec beaucoup d'entrées-sorties, notamment réseau. En pratique, il se compose :
  • d'un interpréteur JavaScript, à savoir V8 ;
  • de require(), un chargeur de modules compatible CommonJS ;
  • d'une bibliothèque standard, volontairement restreinte (une sorte de libc JavaScript où tous les appels sont asynchrones) ;
  • d'un ensemble de conventions : par exemple, les fonctions de retours indiquent toujours en premier paramètre si l'appel s'est bien passé et dans le cas contraire, quelle a été l'erreur ;
  • et d'un exécutable, node pour lancer tout ça.

La version 0.4.0 sortie cette semaine est la deuxième stable (c'est comme pour l'ancien mode de développement du noyau Linux : le numéro mineur est pair pour les versions stables et impair pour les versions de développement). Les principaux changements depuis la version stable précédente (la version 0.2, pour ceux qui suivent) sont les suivants :
  • nouveau client HTTP, avec une API plus simple et la gestion d'un réserve (pool) de connexions ;
  • refonte du module TLS/SSL ;
  • augmentation des performances, grâce à l'allocation plus rapide des tampons mémoire (Buffer) ;
  • meilleure prise en charge des gestionnaires de paquets comme npm, grâce à l'amélioration de require() ;
  • une mise à jour de V8 pour la version 3.1.2 ;
  • un débogueur fonctionnel, mais encore très limité pour le moment ;
  • un module os qui expose des informations sur le système ;
  • et, bien sûr, plein de corrections de bogues.

Prolongation du concours LinuxFr.org

Posté par  (site web personnel) . Modéré par tuiu pol.
Étiquettes :
16
10
déc.
2010
LinuxFr.org
À l'occasion de la nouvelle version de LinuxFr.org, nous organisons un concours. Actuellement, 26 participants se sont déclarés. Vous pouvez toujours y participer sur l'une de ces catégories (ou les deux) :
  • Proposer une nouvelle charte graphique
  • Réaliser une « killer feature » en HTML5
Pour connaître la procédure pour participer, déployer une instance chez vous pour tester, avoir des réponses à vos questions, trouver des idées, etc. consultez les dépêches précédentes via les liens ci-dessous. Sinon, vous pouvez toujours nous aider en testant la version bêta et en remontant les bugs.

Le concours devait se finir le 29 décembre 2010, mais, suite à un certain nombre de demandes justifiées (notamment le fait de pouvoir bénéficier des jours de repos lors de la trêve des confiseurs) nous avons décidé de le prolonger d'une semaine. Les participants ont donc jusqu'au 5 janvier 2011 à 23h59 pour nous envoyer leurs copies.

Pour rappel, vous pouvez gagner de l'hébergement virtualisé, une tablette Android type Archos 101, des bons d'achats pour du matériel « ouvert » et une HTC Desire, le tout fourni respectivement par Gandi, Nuxeo, Hackable Devices et Mozilla Europe. Un grand Merci à eux et à InDefero qui nous met gracieusement les forges à disposition pour la réalisation des projets.

Mosaïque de logos au fil des années

Bon courage !

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

Apprendre à programmer avec Hackety Hack

Posté par  (site web personnel) . Modéré par Nÿco.
Étiquettes :
15
29
déc.
2010
Ruby
Vous souhaitez apprendre à programmer ? Alors Hackety Hack est fait pour vous. Essayez-le !

Hackety Hack est un environnement en Ruby, sous licence MIT, pour apprendre à développer. Il s'adresse aux débutants et propose des leçons pour coder en quelques lignes des choses fun.

Le projet a été initié par Why the lucky stiff, un célèbre hacker Ruby et a été repris par une équipe menée par Steve Labnik. La version 1.0 vient de sortir pour Noël et ce fût également l'occasion de la mise en ligne du nouveau site web.

D'un point de vue technique, il fonctionne avec le framework Shoes et tourne sur les plateformes GNU/Linux, Windows et Mac OS X. Le code écrit au cours des leçons est du Ruby et utilise également Shoes.

Sortie de Node.js v0.2.0

Posté par  (site web personnel) . Modéré par baud123.
Étiquettes :
15
23
août
2010
JavaScript
Node.js, dont le slogan est Evented I/O for V8 JavaScript, a pour but d'offrir un moyen simple d'écrire des applications réseau scalables. Le code est placé sous licence MIT.

Pour bien comprendre ce qu'est Node.js, je vous propose le cheminement suivant. Partons de V8, la machine virtuelle développée par Google qui permet d'interpréter du javascript. Ajoutons un modèle événementiel, similaire à EventMachine en Ruby ou à Twisted en Python. Cela tombe bien, en javascript, c'est assez naturel de procéder de cette manière : le javascript dans les navigateurs utilise déjà un modèle événementiel (les événements sont 'DOM chargé', 'touche pressée' ou encore 'clic de la souris'). C'est un bon début, mais le javascript ne possède pas de bibliothèque standard pour manipuler des fichiers ou faire des opérations réseau. Utilisons donc notre modèle événementiel pour ajouter des API qui permettent de faire ça de manière asynchrone. Une autre lacune de javascript est l'absence de moyen de charger une bibliothèque depuis un script, et comme on n'a pas spécialement envie de tout écrire dans un seul fichier, rajoutons donc une fonction require pour charger un autre script. Enfin, saupoudrons le tout avec quelques API utilitaires, un interpréteur interactif, et vous obtiendrez une bonne idée de la composition de Node.js.

Node.js permet ainsi de développer simplement des applications en javascript que l'on peut qualifier de server-side. Voici quelques exemples de ce que l'on peut faire avec Node.js :

La version 0.2.0 est sortie le 20 août et marque une première stabilisation du projet. Jusqu'à maintenant, les versions s'enchaînaient à un rythme soutenu (2 à 3 par mois), avec souvent des changements d'API et des problèmes de compatibilité divers et variés. Il est donc difficile pour les développeurs de bibliothèques de les maintenir, et pour les développeurs d'applications, de trouver les bonnes bibliothèques qui fonctionne avec la dernière version de Node.js. Cela devrait maintenant changer : Ryan Dahl a promis d'assurer la compatibilité de l'API pour les versions 0.2.x. Si vous souhaitez essayer Node.js, c'est donc le bon moment pour vous lancer !