Journal Gem teleinfo ruby

Posté par  . Licence CC By‑SA.
Étiquettes :
31
16
mar.
2015

Eh guys.

Vous connaissez téléinfo? Le stream de données que vous pouvez collecté de tous les compteurs EDF qui ont une dizaine d'années?

J'ai fait un petit montage pour désérialisé le flux et je récupère tout ça sur un Raspberry et je viens de pousser une gem permettant de les formatter dans un Hash tout ce qu'il y a de plus standard.

Le truc, c'est que je n'ai que l'option HPHC (Heures pleines/heures creuses) : si vous avez des trames (…)

Journal Ruby 2.0 est sorti

Posté par  . Licence CC By‑SA.
Étiquettes :
31
27
fév.
2013
Ce journal a été promu en dépêche : Ruby 2.0 est sorti.

N'ayant pas vu post sur le sujet, je me suis dit que ça valait la peine de faire au moins un journal sur le sujet, même si, contrairement à ce que le changement de numéro pourrait laisser croire, il y a moins de différence entre Ruby 2.0 et 1.9 qu'entre Ruby 1.9 et 1.8 et la compatibilité est censée être meilleure, il y a quand même beaucoup de nouveautés.

Une sélection arbitraire de ma part des nouveautés :

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.

Sortie de Ruby 1.9.3

Posté par  (site web personnel) . Modéré par Xavier Teyssier. Licence CC By‑SA.
Étiquettes :
28
31
oct.
2011
Ruby

La version 1.9.3 de Ruby vient de sortir. Cette nouvelle version apporte peu de modifications visibles, le gros des modifications se faisant sous le capot.

Parmi les changements notables, nous retrouvons :

  • la licence accompagnant Ruby est maintenant la licence BSD (c’était la GPL v2 jusqu’à présent) ;
  • le chargement plus rapide des bibliothèques, qui devrait être très appréciable pour les projets Rails ;
  • une meilleure gestion du multi‐threading ;
  • la prise en charge d’Unicode 6.0 ;
  • le moteur par défaut pour le YAML devient Psych ;
  • la mise à jour de Rubygems (1.8.10), JSON (1.5.4), Minitest (2.2.2), Rake (0.9.2.2) et Rdoc (3.9.4).

Bien entendu, vous êtes encouragés à passer rapidement à Ruby 1.9.3, en sachant que certaines versions ne seront bientôt plus maintenues :

  • les mainteneurs de Ruby vont encore proposer les correctifs de sécurité pour Ruby 1.9.1, jusqu’à janvier 2012. Après quoi, cette version sera officiellement morte ;
  • pour les utilisateurs de Ruby 1.8.7, les choses vont se faire plus en douceur : maintenance normale jusqu’à juin 2012, puis maintenance de sécurité uniquement jusqu’à juin 2013.

Pour le futur, une version 1.9.4 est prévue pour l’année prochaine et surtout, la sortie de Ruby 2.0 pourrait arriver en février 2013 pour les 20 ans de Ruby.

Prochainement sur votre machine de développement : Git 1.8.1, Ruby 2.0 et LLVM 3.2

Posté par  (site web personnel, Mastodon) . Édité par Nÿco et baud123. Modéré par baud123. Licence CC By‑SA.
Étiquettes :
28
6
déc.
2012
Technologie

Coup sur coup, trois versions préliminaires ont été annoncées pour des outils de développements qui peuvent avoir une incidence sur votre environnement d'ici la fin du mois : la rc0 de Git 1.8.1, la preview2 de Ruby 2.0 et la RC2 de LLVM 3.2. Si vous utilisez l'un de ces outils, n'hésitez pas à aller donner un coup de main pour les tests.

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.

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.

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

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.

Journal Le Raspberry Pi fait des des jaloux

Posté par  . Licence CC By‑SA.
27
23
mai
2012

Cher journal,

Via sort un PC sous ARM (enfin, ils ne disent pas qu'il est sous ARM, mais PC Inpact le dit). Il me semble fort similaire au Raspberry Pi et je me demande si le succès de ce dernier n'est pas à l'origine de produit. Malheureusement, je n'ai pas trouvé d'information précisant si on pourrait installer facilement autre chose sur la bête.

Pour ceux qui ne s'intéresse qu'aux gros serveur, Red Hat a embauché les développeurs prinicipaux de JRuby. (…)

Concours de programmation CodinGame le 22 Février 2014

Posté par  (site web personnel) . Édité par ZeroHeure et Benoît Sibaud. Modéré par Ontologia. Licence CC By‑SA.
25
20
fév.
2014
Jeu

La prochaine édition de CodinGame, le challenge de code en ligne, aura lieu le samedi 22 Février 2014 à 18h (UTC+1).

Ragnarok

L'événement accueillera des développeurs du monde entier pour leur permettre de passer un bon moment, défier leurs pairs, gagner des prix ou entrer en contact avec des sociétés qui leur plaisent et qui recrutent.

Parmi les nouveautés sur la plate-forme :

  • Bash arrive parmi les langages disponibles.
  • Dart 1.1 et de nouvelles bibliothèques pour Perl ont été ajoutés.
  • Le thème de ce challenge est "Ragnarök", issu de la mythologie scandinave. Pour l'occasion, de nouveaux graphismes seront à l'honneur.

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 CoRM

Posté par  (site web personnel) . Édité par ZeroHeure, Pierre Jarillon, Xavier Teyssier et patrick_g. Modéré par claudex. Licence CC By‑SA.
Étiquettes :
24
20
mai
2014
Commercial

CoRM est une application web open source de gestion de la relation client (sous licence AGPLv3).
Créé en octobre 2012, l’objectif premier est d’offrir un outil simple à utiliser, mais néanmoins puissant.

Bannière CoRM

L’application est conçue pour les entreprises de 1 à 100 collaborateurs (bien qu’aucune limite n’existe). Son but est de vous aider à gérer les relations entre vous et les différents acteurs qui composent votre environnement professionnel.

L’idée est donc de placer le compte (qu’il soit un suspect, client, fournisseur…) au centre de l’application.
Ainsi d’un simple coup d’œil, vous savez quels sont les évènements (rendez-vous, appel, courriel…), opportunités commerciales, documents et même devis liés à ce compte…

Plus d’informations dans la suite de la dépêche.

L'admin pressé - RVM

Posté par  (site web personnel) . Édité par Benoît Sibaud, Nÿco, Katyucha, frayd, palm123, NeoX et ariasuni. Modéré par Nÿco. Licence CC By‑SA.
Étiquettes :
23
25
nov.
2013
Ruby

Mais qui est donc ce Hervé M. ? Ruby Version Manager est un ensemble de scripts qui va permettre d'installer différents environnements Ruby. On va tout d'abord voir d'un point de vue général ce que c'est et à quoi ça peut servir. Dans un second temps, on va voir les commandes de base pour s'en sortir sans trop de difficulté, et puis s'il y a encore du monde, on verra peut-être un exemple.

RVM