Petites brèves : Ruby 2.0, DataMapper et RubyLive

Posté par  (site web personnel) . Modéré par Nÿco. Licence CC By‑SA.
Étiquettes :
27
27
oct.
2011
Ruby

Matz, le créateur de Ruby, a récemment créé une nouvelle branche de développement qui va accueillir les développements pour la version 2.0 de Ruby. Bien que le numéro de version laisse penser qu’il y aura de gros changements, cela devrait pourtant être une version avec moins de changements que pour Ruby 1.9, avec une date de sortie prévue pour début 2013.

La liste des fonctionnalités est encore en cours de discussion, mais on devrait notamment y retrouver les arguments sous forme de mots‐clés, l’importation‐exportation du bytecode de la machine virtuelle, la transformation de la bibliothèque standard en gems (les bibliothèques dans le monde Ruby), un meilleur ramasse‐miette (garbage collector).

DataMapper est le principal concurrent d’ActiveRecord dans le domaine des ORM dans le monde Ruby, il est sorti en version 1.2.0. Côté nouveautés, nous retrouvons des performances améliorées, des corrections de bogues et surtout la prise en charge de Rails 3.1.

Enfin, si vous souhaitez suivre l’actualité Ruby, un nouveau site Web vient de sortir : RubyLive. C’est un site collaboratif, où chacun peut proposer des liens vers des ressources Ruby et/ou Rails, avec une description en français.

Node.js passe en version 0.6.0 et arrive sous Windows

Posté par  (site web personnel) . Modéré par Nÿco. Licence CC By‑SA.
Étiquettes :
27
5
nov.
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 retour 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.6.0 est sortie aujourd’hui et apporte quelques nouveautés de taille (plus de détails en seconde partie) :

  • la prise en charge de Windows en utilisant les I/O Completion Ports (IOCP) ;
  • un répartiteur de charge entre plusieurs processus Node.js intégré ;
  • des moyens de communications entre des processus Node.js plus efficaces ;
  • des améliorations du débogueur en ligne de commande ;
  • des bindings pour la zlib ;
  • la mise à jour de V8, passant de la version 3.1 à la 3.6.

La prise en charge de Windows, sans dégrader les performances pour les UNIX, a pris plus longtemps que prévu. Cela a fortement retardé la sortie de cette version, mais Ryan Dahl, son créateur, souhaite sortir la prochaine version stable de Node.js (la v0.8.0) pour janvier 2012.

Nouvelle base de données clés-valeurs : Kyoto Cabinet 1.0

Posté par  (site web personnel) . Modéré par baud123.
Étiquettes :
25
30
mai
2010
Base de données
Mikio Hirabayashi est un ingénieur qui travaille pour un réseau social japonais, mixi.jp. Pour faire face à la montée en charge, il a écrit une base de données très rapide de type clés-valeurs : Tokyo Cabinet. C'est une bibliothèque écrite en C, avec des bindings Ruby, Perl, Java et Lua, et distribuée sous licence LGPL.

Tokyo Cabinet est très rapide, mais son auteur n'était pas satisfait des performances en concurrence sur des machines avec de nombreux cores. Il a donc écrit son successeur : Kyoto Cabinet. Kyoto Cabinet est écrit en C++, et publié sous licence GPL. Des bindings Ruby, Perl, Python (2.x et 3.x) et Java sont disponibles.

Kyoto Cabinet est rapide (l'ordre de grandeur est un million de requêtes par seconde), ACID et capable de gérer un haut niveau de concurrence. Ses bases de données peuvent enregistrer jusqu'à 8 exabytes et peuvent être de différents types en fonction des caractéristiques recherchées (persistence, verrouillage par enregistrement, par page ou global, ordre de tri, algorithme de stockage).

Tokyo Cabinet bénéficie d'un service réseau, Tokyo Tyrant, et d'un moteur de recherche full-text, Tokyo Distopia. Les équivalents pour Kyoto Cabinet n'existent pas encore, mais sont prévus et devraient sortir d'ici la fin de l'année.

Note : Pour ceux qui s'intéressent aux bases de données, le NoSQL Summer est l'occasion d'en apprendre plus. Le principe est simple : se réunir régulièrement pour discuter d'un papier scientifique autour des bases de données. Le lancement se fera le 21 juin à la Cantine pour Paris, mais vous pouvez n'assister qu'à une seule rencontre si vous le souhaitez. L'entrée est libre, la seule chose que l'on vous demande est d'avoir lu le papier sélectionné avant de venir. Si vous êtes dans une ville qui n'est pas encore couverte, rien ne vous empêche de trouver 2 ou 3 volontaires et de contacter les organisateurs.

Google va vous faire payer pour des raisons de sécurité

Posté par  (site web personnel) . Modéré par j.
Étiquettes :
24
27
août
2010
Commercial
Google se targue d'avoir pris en compte la sécurité des extensions Chrome/Chromium depuis le premier jour. Dans un souci d'aller toujours plus loin dans la sécurité, Google a décidé d'ajouter deux nouvelles mesures :
  1. Les développeurs devront maintenant payer 5$ pour pouvoir proposer leurs extensions et thèmes sur la galerie. Cela va permettre d'empêcher les vilains pirates^Wcrackers de proposer leurs extensions malicieuses tout en permettant aux gentils développeurs de continuer à proposer les leurs (pour peu qu'ils n'habitent pas dans un pays du tiers monde, où 5$ peut représenter une somme conséquente et où faire le versement avec google checkout ne sera pas toujours possible).
  2. Les extensions liés à un domaine particulier pourront désormais être estampillées. Les développeurs peuvent maintenant utiliser Google's webmaster tools pour associer leurs extensions aux domaines qu'ils contrôlent.

Nous ne pouvons que saluer les efforts totalement désintéressés de Google pour améliorer la sécurité. Ces mesures ne servent en aucun cas à préparer le terrain pour le Chrome Web Store dont, par pure coïncidence, Google a annoncé la mise en ligne de la developer preview le même jour : les développeurs peuvent ainsi mettre en ligne les extensions qu'ils souhaitent proposer sur le futur store depuis... la galerie des extensions de Chrome.

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.

Petites brèves sur ditaa, DocumentUp et Sensu

Posté par  (site web personnel) . Édité par Nÿco et baud123. Modéré par Malicia. Licence CC By‑SA.
Étiquettes :
24
10
fév.
2012
Technologie

ditaa

Dessiner des diagrammes en ascii art, c'est sympa. Enfin, c'est comme la ligne de commande, certains ne comprennent pas que l'on puisse rester avec des outils qui paraissent aussi rustiques mais pour d'autres, c'est juste impensable de faire autrement.

Heureusement, il existe ditaa, un outil sous licence GPL qui permet de créer des images à partir de diagrammes en ascii art, permettant ainsi de réconcilier les deux populations.

DocumentUp

Écrire une documentation agréable, jolie et pratique à utiliser n'est pas une tâche simple. Mark Phillips a recensé une liste de documentations remarquables sur ces critères, beautiful-docs, pour vous inspirer si vous le souhaitez. Si vous souhaitez vous lancer dans l'écriture d'une telle documentation, je vous souhaite bon courage et sachez que le résultat en vaudra très certainement la peine.

Mais pour les gens qui, comme moi, ne s'en sentent pas la motivation ou ne souhaitent pas prendre le temps de faire ça, il existe aussi une solution de facilité : DocumentUp. Cet outil, sous licence MIT, prend un fichier README depuis un dépôt github et le transforme en une page web structurée, offrant ainsi une documentation pour votre projet dont vous n'aurez pas à rougir.

À noter que le site web de DocumentUp est généré avec DocumentUp et est donc un bel exemple d'utilisation de DocumentUp.

Sensu

Sensu se veut une solution moderne de monitoring sous licence MIT, apte à travailler dans des infrastructures élastiques. Sonian, la société qui a développé Sensu, travaillait avec Nagios mais ils n'en étaient pas totalement satisfaits. Utilisant Chef et Puppet pour faire varier le nombre de serveurs et leurs rôles, ils étaient particulièrement gênés par certaines limitations de Nagios comme devoir déclarer l'intégralité des serveurs au démarrage.

Sensu est écrit en Ruby avec le framework EventMachine. Il utilise un message queue RabbitMQ pour la communication entre le tableau de bord et les sondes. Ses fichiers de configuration sont écrits en JSON et Sensu utilise Redis comme base de données pour des données transitoires.

Il est possible d'utiliser des greffons Nagios pour les sondes et d'envoyer des métriques à différents backends dont Graphite.

Participez au concours LinuxFr.org !

Posté par  (site web personnel) . Édité par Benoît Sibaud. Modéré par patrick_g.
Étiquettes :
24
23
nov.
2010
LinuxFr.org
La future version du site LinuxFr.org en Rails avance à grand pas, mais nous avons besoin de votre aide pour qu'elle aboutisse. Comme vous avez pu le constater, la charte graphique de la nouvelle version doit être refaite, et nous comptons sur vous, lecteurs et contributeurs, pour cela.

Pour que cette collaboration se fasse dans un cadre sympathique, nous avons lancé un concours il y a deux semaines. Pour le moment, la participation reste assez modeste (une dizaine de personnes se sont officiellement déclarées) mais il n'est pas trop tard pour que cela change. Le concours finit le 29 décembre et vous avez donc encore largement le temps d'y participer.

Rappelons que le concours est ouvert aux esprits créatifs et aux développeurs, via deux catégories :
  • Nouvelle charte graphique (NdM : Aucune compétence Ruby, Rails requise. C'est principalement du CSS)
  • Killer feature en HTML5 (NdM : comme indiqué précédemment, l'utilisation de Ruby on Rails n'est pas obligatoire. Si l'idée peut être réalisée avec juste du HTML statique, du JS et de la CSS (voire un peu de PHP), cela ne pose pas le moindre problème, nous ferons le portage).
et rien n'interdit de participer aux deux si vous le souhaitez. 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 la réalisation des projets.

Dans la suite de la dépêche, vous trouverez de l'aide pour la mise en œuvre rapide d'un environnement de développement (image Virtual Box et données anonymisées)

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 ;-)

Sortie de Electron 1.0

Posté par  (site web personnel) . Édité par Benoît Sibaud et bubar🦥. Modéré par Benoît Sibaud. Licence CC By‑SA.
Étiquettes :
24
14
mai
2016
JavaScript

Electron permet de construire des applications de bureau multi-plateformes avec les technologies du web (HTML, CSS et JS). Il était initialement développé par Github pour son éditeur de texte Atom et est maintenant un projet à part entière. Il vient d'atteindre la version 1.0, signe d'une certaine maturité.

Electron 1.0

En vrac : Drizzle, MongoDB et Webdis

Posté par  (site web personnel) . Modéré par Xavier Teyssier.
Étiquettes :
23
20
mar.
2011
Base de données

Drizzle

Drizzle est un fork de MySQL allégé et spécialement adapté pour le web et les infrastructures Cloud. Contrairement à MySQL qui est la propriété d'Oracle, Drizzle est développé et conduit par la communauté. Parmi les autres différences avec MySQL, on peut également citer :

  • l'absence des vues, triggers et procédures stockées ;
  • la non prise en charge de Windows ;
  • un nouveau moteur, HailDB ;
  • une configuration optimisée par défaut pour 1024 connexions simultanées…

La version 2011.03.13 a été déclarée General Availability (GA), c'est-à-dire prête pour la production, et ce trois ans après l'annonce du fork.

MongoDB

MongoDB est une base de données NoSQL de type documents, sous licence GNU AGPL. La version 1.8 est sortie le 16 mars et apporte :

Webdis

Redis est une base de données de type clé-valeur, un memcached boosté aux stéroïdes. Webdis est une interface HTTP au-dessus de Redis, sous licence BSD.

Il permet d'interroger une base de données Redis en appelant un chemin de la forme /Commande/Argument1/Argument2/.../ArgumentN. Le retour sera par défaut du JSON, mais il est également possible d'utiliser du JSONP ou d'autres formats : HTML, texte brut, etc. Webdis intègre également une gestion des droits en fonction de l'adresse IP, de l'authentification HTTP ou des deux.

Petites brèves : Sinatra 1.3, entretiens concernant la communauté Ruby et programmation UNIX

Posté par  (site web personnel) . Modéré par Lucas Bonnet. Licence CC By‑SA.
Étiquettes :
23
4
oct.
2011
Ruby

Sinatra 1.3

Sinatra est une bibliothèque Ruby permettant de développer rapidement des applications Web (sous licence MIT). La version 1.3.0 vient de sortir et apporte une API de streaming, la prise en charge du verbe HTTP PATCH, l’ajout d’une méthode utilitaire logger et des corrections de bogues.

À l’occasion de cette sortie, un nouveau projet a vu le jour : Sinatra::Contrib. Il regroupe les extensions à Sinatra les plus courantes et permettra de gérer plus facilement la compatibilité entre les versions publiées. Par exemple, quand la version x.y.z de Sinatra sortira, le mainteneur, Konstantin Haase, publiera également la version x.y.z de Sinatra::Contrib, qui aura été testée pour s’assurer de sa compatibilité.

Enfin, c’est également l’occasion de noter le récent site Web Sinatra Recipes, qui regroupe des astuces et bonnes pratiques sur Sinatra.

Entretiens concernant la communauté Ruby en France

Camille Roux a interrogé plusieurs membres de la communauté Ruby en France :

Programmation UNIX avec Ruby

Pour finir, je vous propose un petit lien qui pourra intéresser quelques‐uns d’entre vous : Eric Wong a publié une série d’articles sur la programmation système UNIX avec Ruby.

Intégration des web apps (dont LinuxFr.org) dans Unity

Posté par  (site web personnel) . Édité par claudex, Benoît Sibaud et NeoX. Modéré par Benoît Sibaud. Licence CC By‑SA.
Étiquettes :
23
21
juil.
2012
Ubuntu

La prochaine version d'Ubuntu (12.10) mettra en avant une nouvelle fonctionnalité : l'intégration des applications web dans Unity. Elles pourront ainsi ajouter des commandes dans le HUD d'Unity, afficher des notifications (« Vous avez 42 nouveaux messages ») ou encore être exécutées dans des fenêtres séparées.

LinuxFr.org a commencé à prendre en charge cette intégration. Les plus aventureux d'entre vous peuvent le tester avec les explications en seconde partie de la dépêche.

Petites brèves : ebooks, nwm et Cloud Foundry

Posté par  (site web personnel) . Modéré par patrick_g. Licence CC By‑SA.
Étiquettes :
23
31
août
2011
Technologie

Apprendre un langage

Si vous souhaitez apprendre un langage de programmation, deux livres au format électronique peuvent vous aider : Learning Go et Smooth CoffeeScript, qui parlent respectivement — vous l’aurez deviné — des langages Go et CoffeeScript. Ils sont tous deux sous une licence Creative Commons (CC by-nc-sa pour le premier et CC by pour le second) et bien écrits.

Le gestionnaire de fenêtres nwm

Dans le cadre de la compétition Node.js Knockout, le projet nwm est apparu. Il s’agit d’un gestionnaire de fenêtres sous Node.js qui utilise la libev pour communiquer avec X11. Le projet est encore très instable, mais mérite un petit clin d’œil.

Cloud Foundry

Cloud Foundry est une solution de « Platform as a Service » (PaaS) libre développée par VMware. Elle rencontre un certain succès, et des partenariats se sont montés :

  • la partie cliente et la partie serveur de Cloud Foundry sont empaquetées dans la prochaine version d’Ubuntu, et il semblerait que Canonical ne souhaite pas en rester là ;
  • VMware travaille avec Dell pour intégrer Cloud Foundry à Crowbar, l’outil d’installation de nuages de Dell ;
  • Opscode a écrit des recettes du chef pour déployer simplement Cloud Foundry.

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

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.