Sortie de Ruby on Rails 3.1.0

Posté par  (site web personnel) . Modéré par patrick_g. Licence CC By‑SA.
28
1
sept.
2011
Ruby

Ruby on Rails est un framework de développement web agile, sous licence MIT. Après 8 releases candidates, la version 3.1.0 est sortie aujourd'hui.

Les nouveautés sont nombreuses mais les plus importantes sont :

  • jQuery est devenu le framework javascript par défaut (à la place de Prototype) ;
  • L'Asset Pipeline permet de gérer la compilation, la minification et la gestion des dépendances pour les feuilles de style et le fichiers javascript ;
  • Sass et CoffeeScript sont maintenant proposés par défaut ;
  • Les migrations SQL ont été revues (plus simples à écrire mais également plus de possibilités offertes) ;
  • Les réponses peuvent être envoyées en plusieurs morceaux (HTTP streaming), ce qui peut être utilisé pour optimiser le temps de chargement des pages ;
  • La documentation de l'API utilise maintenant SDoc.

Note : il est prévu que LinuxFr.org passe rapidement à cette version.

3 bibliothèques javascript à découvrir : D3, Sugar et Batman

27
30
août
2011
JavaScript

D3.js

D3.js est une bibliothèque javascript légère et libre qui permet de manipuler et représenter graphiquement des documents en s'appuyant sur leurs données. Elle est une réécriture de protovis et s'appuie sur des technologies comme HTML5, CSS3 et SVG pour afficher des données et interagir avec elles. Je vous encourage à aller voir les exemples pour voir de quoi est capable d3.js.

Sugar.js

Sugar.js est une bibliothèque qui vise à faciliter la manipulation des objets natifs Javascript et à combler les différences entre navigateurs. Elle ajoute des méthodes bien pratiques aux entiers, chaînes de caractères, fonctions, tableaux, objets, dates… En revanche, elle ne concerne ni les requêtes AJAX ni le DOM (jQuery fait ça très bien).

Batman.js

Batman.js est un petit framework MVC sous licence MIT. Il est écrit en CoffeeScript et peut donc naturellement être utilisé en Javascript afin de structurer une application web qui ferait un fort usage du JS. S'inspirant des principes de Rails (convention over configuration, etc.), il doit permettre de développer rapidement des applications web mono-page.

Veracity, un nouveau gestionnaire de versions décentralisé

Posté par  (site web personnel) . Modéré par Lucas Bonnet. Licence CC By‑SA.
Étiquettes :
32
17
juil.
2011
Gestion de versions

Veracity est un nouveau gestionnaire de versions décentralisé (DVCS), sous licence Apache. Il est développé en C par la société SourceGear, avec la possibilité d'embarquer des greffons en javascript.

Comparé à git ou mercurial, il essaye d'intégrer une expérience de développement plus large :

Il est possible de l'installer sous GNU/Linux, Mac et Windows. Des paquets pour Ubuntu et un guide sont également disponibles pour vous aider à démarrer.

Découvrez Backbone.js 0.5.0 pour organiser votre code JavaScript

Posté par  (site web personnel) . Modéré par tuiu pol. Licence CC By‑SA.
34
3
juil.
2011
JavaScript

Backbone.js est un framework JavaScript sous licence MIT que Jeremy Ashkenas a écrit dans le cadre de son travail chez DocumentCloud. Il permet d’apporter de la structure à des applications JavaScript grâce à une bibliothèque qui ne fait pourtant qu’un millier de lignes de code en tout.

Pour cela, il apporte la séparation du code en classes :

  • les modèles et collections sont responsables de la logique métier et peuvent également servir pour la persistance, aussi bien locale avec localStorage que distante via des API RESTful en JSON. Les modèles proposent des enregistrements clé‐valeur et des événements associés. Les collections offrent un catalogue bien pratique de méthodes d’énumération : ce sont les méthodes map, reduce, filter importées depuis underscore.js, une des rares dépendances de Backbone.js ;
  • les vues font la liaison entre les modèles et le DOM. Elles mettent à jour le code HTML en fonction des modifications des modèles et, dans l’autre sens, peuvent gérer les événements du DOM ;
  • le routeur permet de modifier l’URL de la page (le #fragment ou, depuis la version 0.5.0, le chemin complet grâce à pushState) et de retourner à l’état associé quand la page est rechargée. Cela permet d’avoir des URL qui peuvent être mises en favoris ou partagées.

Backbone.js a atteint la version 0.5.0 il y a quelques jours et est déjà utilisé sur des projets notables comme Basecamp Mobile.

Journal Petit compte-rendu du Intel Music Hackathon

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
30
19
juin
2011

Cher journal,

je t'ai parlé du Intel Music Hackathon il y a quelques jours et, comme j'y ai participé, je me suis dit qu'un petit compte-rendu pouvait t'intéresser.

En version courte : notre équipe a codé un karaoké qui tourne sur une tablette meego en moins de 24h et, même si nous n'avons pas gagné, développer cette application fut bien fun :-)

En version moins courte : le hackathon est un concours où il faut coder une application pour meego (…)

Intel Music Hackathon, les 18 et 19 juin

Posté par  (site web personnel) . Modéré par patrick_g. Licence CC By‑SA.
Étiquettes :
21
10
juin
2011
Mobile

Meego 1.2 est sorti récemment, et pour encourager les développeurs à l’essayer, Intel organise un événement : l’Intel Music Hackathon. L’objectif est de développer en 24 h une applications sur le thème de la musique pour le centre Intel AppUp.

Tous les participants recevront un pack développeur, et un grand prix sera décerné par un jury pour l’application gagnante à l'issue du week-end.

Les détails pratiques

Pour participer, il faut s’inscrire en ligne, mais c’est gratuit. Cela se passe le week-end des 18 et 19 juin dans les locaux d’af83, au 15 rue Poissonnière - 75002 Paris (métro Bonne Nouvelle ou Sentier).

Et si on ne connaît pas Meego ?

Pour ceux qui voudraient découvrir Meego, un AppUp aura lieu la veille (le 17 juin, donc) pour venir découvrir Meego et faire ses premiers pas de développeur sur cette plate-forme.

Nouvelle version de LinuxFr.org, un mois après

Posté par  (site web personnel) . Modéré par Lucas Bonnet.
40
22
mar.
2011
LinuxFr.org

La nouvelle version de LinuxFr.org, qui carbure avec Ruby on Rails, tourne depuis maintenant un mois. Pour ma part, j'en suis très satisfait : le serveur tient bien la charge, je la trouve plus agréable à utiliser et je m'amuse bien à développer de nouvelles fonctionnalités.

À ce sujet, nous n'avons pas chômé depuis le lancement, avec plus de 150 entrées corrigées. En particulier, vous avez pu trouver :

  • Les premières dépêches rédigées dans l'espace de rédaction, comme les traductions de la dépêche noyau ou celle annonçant Firefox 4 ;
  • Deux nouvelles feuilles de style alternatives : Grises et Spasibo ;
  • De nouvelles boîtes dans le barre de coté, comme par exemple, le sondage en page d'accueil ;
  • Un certain nombre de préférences, comme les signatures ou le choix des types de contenus à afficher en page d'accueil (pour les utilisateurs authentifiés uniquement) ;
  • L'amélioration du tableau de bord (seulement pour les utilisateurs authentifiés) ;
  • Le tri et les critères de filtrage des entrées du suivi ;
  • Une modération plus fluide ;
  • Et bien sûr de nombreuses corrections de bugs :p

Mais il reste bien entendu encore des choses qui pourraient être améliorées. Je vous encourage à remonter les bugs que vous pourriez rencontrer dans le suivi, ainsi que les propositions d'améliorations. N'hésitez pas non plus à commenter les entrées existantes, ces commentaires me sont très utiles pour mieux comprendre les entrées du suivi et trouver des idées pour y répondre.

On est parti ! nginx 1.0.0 est sorti

Posté par  (site web personnel) . Modéré par patrick_g. Licence CC By‑SA.
Étiquettes :
44
13
avr.
2011
Internet

Nginx est à la fois un serveur HTTP et un proxy inverse pour HTTP et IMAP / POP3.
Поехали, la version 1.0.0 est sortie hier.

Développé sous licence BSD, Nginx sert fidèlement de nombreux sites Web, dont LinuxFr.org, et leur apporte performances, fiabilité et configurabilité. Des études indiquent qu’il servirait entre 6,5 % et 7 % du Web mondial (derrière Apache et IIS, mais devant Google, Lighttpd et Cherokee).

Cette version 1.0.0 arrive après 9 ans de développements soutenus et montre, s’il en est besoin, la stabilité du projet. Je vous encourage à l’essayer.

Cloud Foundry, la solution PaaS libre

Posté par  (site web personnel) . Modéré par Lucas Bonnet. Licence CC By‑SA.
29
22
avr.
2011
Ruby

VMWare a annoncé la sortie de Cloud Foundry, une solution libre de Platform-as-a-Service (PaaS). La PaaS permet de déployer des applications Web et gérer leur montée en charge, en abstrayant la gestion des serveurs, bases de données, runtimes des langages de programmation, serveurs applicatifs, etc.. VMWare va lancer une offre commerciale s’appuyant sur Cloud Foundry, mais vous pouvez aussi l’utiliser sur vos serveurs.

Cloud Foundry, sous licence Apache 2, est un ensemble de briques développées en Ruby : NATS, Cloud Controller, DEA, Router, Health Manager, etc., dont le fonctionnement est expliqué en seconde partie de cette dépêche.

En pratique, chaque serveur sera installé avec vcap, puis les applications sont déployées avec l’outil en ligne de commande « vmc » et peuvent utiliser les services mis à leur disposition. Actuellement, Cloud Foundry supporte Ruby on Rails, Sinatra, Node.js, Spring et Grails pour les applications, et MySQL, MongoDB, Redis et RabbitMQ pour les services.

Par exemple, déployer une application Rails se fait très simplement avec les commandes suivantes :

$ vmc target api.example.net   # Choisir que quel cloud on va déployer
$ vmc login                    # S'identifier auprès du Cloud Controller
$ vmc push                     # On demande à déployer l'application

Il faut ensuite répondre à quelques questions : quel est le nom de l’application ? Quelle est son URL ? Sur combien d’instances va-t-elle être déployée ? Quels services utilise-t-elle ? Puis, Clound Foundry va réserver les ressources, installer les gems nécessaires avec Bundler, lancer les services applicatifs puis mettre à jour sa table de routage. « vmc instances » permet également de modifier le nombre d’instances d’une application pour s’adapter à la charge qu’elle va avoir à traiter.

Au final, Cloud Foundry est une solution jeune (peu de frameworks et services disponibles pour le moment), mais VMWare semble prêt à respecter les règles du Logiciel Libre et prendre en compte les propositions d’améliorations des premiers utilisateurs.

Ça continue d'avancer LinuxFr.org en Rails

Posté par  (site web personnel) . Édité par Benoît Sibaud. Modéré par tuiu pol. Licence CC By‑SA.
77
4
avr.
2011
LinuxFr.org

Quand je ne suis pas occupé à faire des poissons d'avril, il m'arrive de coder de nouvelles fonctionnalités pour LinuxFr.org. Voici quelques-unes des dernières nouveautés :

  • Les utilisateurs anonymes peuvent maintenant remonter des bugs dans le suivi, ce qui peut être pratique pour les personnes qui rencontrent justement des problèmes pour se connecter ;
  • Une nouvelle CSS a été ajoutée à la liste des CSS alternatives : cascade-alternative ;
  • Un correcteur orthographique détecte maintenant les erreurs d'orthographe et les souligne en rouge lors de la prévisualisation des contenus et commentaires ;
  • La toolbar permet maintenant de naviguer entre les contenus lus avec de nouveaux commentaires avec les touches [ et ], ou h et l ;
  • La gestion des tags a été revue et il est maintenant possible de supprimer un de vos tags en cliquant sur l'icône Supprimer de vos tags à sa gauche ou voter pour un tag en l'ajoutant aux vôtres par l'icône Ajouter à vos tags qui permettra ultérieurement de juger de sa popularité ;
  • L'anti-spam sur les dépêches a été renforcé suite à une vague de spams ;
  • Des statistiques sur le suivi sont maintenant disponibles et celles pour les autres types de contenus devraient suivre ;
  • Les dépêches écrites dans l'espace de rédaction sont automatiquement placées sous licence CC by-sa ;
  • Les GIF animés sont désormais bloqués pour les avatars ;
  • Et bien sûr de nombreuses corrections de bugs :p

J'espère que vous appréciez ces évolutions et que vous allez continuer à voter et/ou commenter les entrées du suivi qui vous intéressent, votre ressenti ou utilisation particulière de LinuxFr - lorsque précisé dans les commentaires - permettant d'orienter les développements.

Quelques nouvelles rapides du langage Go

Posté par  (site web personnel) . Modéré par Xavier Teyssier. Licence CC By‑SA.
Étiquettes :
35
23
mar.
2011
Golang

Go devient plus stable : de nouvelles versions de Go sortent régulièrement, en moyenne une fois par semaine. C’est un rythme soutenu qui ne convient pas à tout le monde. Les développeurs de Go ont donc décidé de continuer ces versions sous le nom de weekly, mais de publier également des versions stables tous les un à deux mois. Ces versions seront soigneusement choisies et annoncées sur la nouvelle liste, golang‑announce.

Gorun est un outil qui permet de lancer en ligne de commande des « scripts » écrits en Go. Il suffit de mettre « #!/usr/bin/gorun » en 1re ligne ([[Shebang]]) pour que le script écrit en Go puisse être lancé directement.

Cgo est un outil qui permet de compiler du code Go qui utilise des bibliothèques en C. Il fonctionne, pour le moment, avec le compilateur Go de Google, mais il est aussi prévu de prendre en charge le back‑end Golang de GCC.

Elixir, enfin une syntaxe agréable pour Erlang ?

Posté par  (site web personnel) . Édité par Benoît Sibaud. Modéré par Florent Zara. Licence CC By‑SA.
Étiquettes :
27
26
mar.
2011
Programmation fonctionnelle

Elixir est un langage de programmation qui s’appuie sur Erlang et sous licence MIT. Il propose une syntaxe agréable, inspirée de celle de Ruby, et un modèle objet à base de prototypes.

Erlang est un langage fonctionnel avec un typage dynamique, une évaluation stricte et une assignation unique. Il convient bien pour des applications distribuées, résistantes aux erreurs et sans arrêt grâce au mécanisme de rechargement à chaud. Mais c’est également un langage qui peut sembler difficile à apprendre et dont la syntaxe peut rebuter. Elixir propose une manière élégante de profiter des avantages d’Erlang. Il est notamment possible d’appeler des modules Erlang sans conversion des types de données, et donc sans impact sur les performances.

Elixir est encore très jeune et recherche des contributeurs pour aider au développement de sa bibliothèque standard. Pour installer Elixir, vous aurez besoin d’Erlang R14B01, et je vous invite à parcourir le README pour découvrir ce langage. Mais voici un avant-goût sous la forme d’un très classique « Hello World » :

module World
  def say_hello
    IO.puts "Hello World!"
  end
end

World.say_hello

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.

En vrac spécial Ruby : JRuby, Sinatra et Goliath

Posté par  (site web personnel) . Modéré par Xavier Teyssier.
Étiquettes :
27
20
mar.
2011
Ruby

JRuby

JRuby est une implémentation complète de Ruby au-dessus de la machine virtuelle Java. La version 1.6 récemment sortie apporte des fonctionnalités majeures :

  • compatibilité avec Ruby 1.9.2, aussi bien pour le langage que pour l'API ;
  • prise en charge expérimentale des extensions écrites en C ;
  • profiler intégré ;
  • performances améliorées ;
  • meilleure expérience utilisateur sous windows ;
  • etc.

Sinatra

Sinatra est un micro-framework en Ruby pour construire rapidement des applications web (licence MIT). La version 1.2 est sortie au début du mois avec des nouveautés intéressantes :

Goliath

Goliath est un serveur HTTP en Ruby sous licence MIT. Sa particularité est de s'appuyer sur EventMachine et les fibres de Ruby 1.9. Il peut ainsi fonctionner de manière asynchrone et performante tout en gardant le code lisible (l'exécution reste linéaire et ne repose pas sur des callbacks enchainés comme on peut le voir dans d'autres environnements).

En pratique, Goliath convient bien pour écrire des services HTTP en complément d'une application web : API de streaming, upload de fichiers volumineux, proxy HTTP adaptés, etc.

Architecture logicielle de la nouvelle version de LinuxFr.org

Posté par  (site web personnel) . Édité par Benoît Sibaud. Modéré par tuiu pol.
90
23
fév.
2011
LinuxFr.org

La nouvelle version de LinuxFr.org est en ligne depuis quelques jours. Vous nous remontez régulièrement des bugs et des propositions d'améliorations dans le suivi. Je vous encourage à continuer et à commenter / voter sur les entrées qui vous intéressent.

Voici quelques entrées sur lesquelles j'aimerais particulièrement avoir vos retours :

Je pense que vous êtes également intéressés par l'architecture logicielle de cette nouvelle version. Vous pourrez donc trouver quelques explications à son sujet en seconde partie et n'hésitez pas à poser des questions dans les commentaires.