Les apéros Ruby en France

Posté par  (site web personnel) . Modéré par patrick_g. Licence CC By‑SA.
Étiquettes :
9
16
sept.
2011
Ruby

Les apéros Ruby sont à la mode : après Paris, Lyon, Toulouse, Nantes, Rennes et plus récemment Lille, Montpellier et Sophia Antipolis, c'est au tour de Strasbourg de mettre en place en rendez-vous entre Rubyistes. Celui-ci devrait avoir lieu chaque dernier mardi du mois, à commencer par le 27 septembre. Ils seront annoncés sur le futur site web, mais vous pouvez déjà suivre ça sur facebook et twitter.

Et si vous habitez dans une ville sans apéro Ruby ? Hé bien, cela ne dépend que de vous. Vous pouvez organiser votre propre apéro Ruby grâce au billet de blog de Camille Roux qui explique en détail comme faire cela.

Sundown, Houdini et Crustache

Posté par  (site web personnel) . Modéré par Florent Zara. Licence CC By‑SA.
Étiquettes :
22
2
sept.
2011
C et C++

Vicent Martí, aka tanoku, est un des développeurs de github qui aime bien coder en C. Ce n'est donc pas très étonnant de trouver sur son compte github des bibliothèques en C pouvant servir au développement d'applications web. Je souhaite en particulier vous évoquer de trois bibliothèques sous licence ISC :

Crustache est une implémentation en C de Mustache, un moteur de templating. Des bindings pour Ruby sont également disponibles dans le dépôt git.

Houdini permet d'échapper des chaînes de caractères en UTF-8 pour le web. Et de faire l'inverse. Les trois types d'échappement sont :

  • convertir &, ", ', <, > et / en leur entité HTML correspondante (conformément à la recommandation de l'OWASP) ;
  • échappement des URI respectant la RFC ;
  • et échappement des URL (la différence avec l'échappement des URI est le remplacement des espaces par des +).

Et enfin, Sundown est un fork de libupskirt. Il permet de convertir du texte en Markdown vers du HTML. Nous utilisons Redcarpet, les bindings Ruby autour de Sundown, pour LinuxFr.org du fait de ses performances et de ses nombreuses options.

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.

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.

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.

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.

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.

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

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

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.

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.