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.

Agrémentez votre JavaScript avec CoffeeScript 1.0

Posté par  (site web personnel) . Modéré par Xavier Teyssier.
Étiquettes :
11
28
déc.
2010
Technologie
CoffeeScript est un langage qui se compile en JavaScript (licence MIT). Il vise à proposer une syntaxe alternative, plus agréable, au JavaScript, mais reste très proche de celui-ci au niveau de la sémantique.

Par exemple, le code coffee suivant :
square = (x) -> x * x

square 42

se compilera de la façon suivante en JavaScript :
square = function(x) {

return x * x;
};
square(42);

Ainsi, CoffeeScript permet d'éliminer les caractères ou constructions disgracieuses du JavaScript pour n'en garder que les bonnes parties. Une autre volonté derrière CoffeeScript est de rester proche du JavaScript. Cela permet de débugger facilement du JavaScript généré par coffee, d'autant plus que le code en question est correctement indenté et passe JS Lint sans avertissement.

CoffeeScript existe depuis un an et vient de passer en version 1.0 pour Noël. Son utilisation se répand (exemples de projets écrits avec CoffeeScript : un client Riak, une bibliothèque pour scanner des chaînes de caractères, un équivalent de Rack pour Node.js et un jeu de tanks). Le succès de CoffeeScript est tel que le comité d'EcmaScript, Brendan Eich en tête, travaille à améliorer la syntaxe du JavaScript en s'inspirant de CoffeeScript de manière ouverte.

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

Rubygems.org, So Nice et Rubinius

Posté par  (site web personnel) . Modéré par Nÿco.
Étiquettes :
8
24
déc.
2010
Ruby
En juillet 2009, le site rubygems.org a été lancé par la communauté Ruby pour héberger les gems Ruby. Depuis, le site est en très grand forme et vient de fêter le 100 millionième téléchargements de gems. Il vient également de passer juste devant le CPAN pour le nombre de paquets disponibles : 19 042 gems contre 19 013 modules Perl au moment de l'écriture de ces lignes (à comparer avec les 12548 packages sur PyPI et 562 packages Pear).

So Nice est une application web pour contrôler iTunes, Rhythmbox ou MPD. Elle est développée en Ruby avec Sinatra et disponible sous licence WTFPL.

Rubinius est une implémentation du langage de programmation Ruby, sous licence BSD. La version 1.2.0 vient de sortir avec :
  • Passage à LLVM 2.8
  • Améliorations des performances
  • Vérification du bytecode (particulièrement utile avec l'arrivée d'autres projets utilisant la machine virtuelle de Rubinius)
  • Des optimisations, notamment de la consommation mémoire
  • Query Agent, un nouvel outil pour débugger et remonter des informations de bas niveaux (statistiques sur le Garbage Collector par exemple)
  • Et autres améliorations et correctifs.

Reia, un langage fortement inspiré de Ruby

Posté par  (site web personnel) . Modéré par j.
Étiquettes :
19
18
déc.
2010
Ruby
Ruby est un langage de programmation génial (je vous assure, je suis totalement objectif quand je dis ça ;-) ), mais qui a quand même quelques petits défauts. On peut par exemple citer la mauvaise prise en charge de la concurrence ou l'absence de rechargement de code à chaud. À l'opposé, Erlang a une syntaxe parfois cryptique mais sa machine virtuelle est très avancée pour tout ce qui concerne les aspects distribués, la concurrence et la tolérance aux erreurs.

Reia est un langage de programmation qui cherche à prendre le meilleur des 2 mondes (licence MIT). Le code en reia ressemble à s'y méprendre à du code Ruby, mais il s'exécute sur la machine virtuelle d'Erlang. Voici à titre d'exemple le très classique Hello World :

"Hello world!".puts()

Pour le moment, il n'y a pas encore de version officielle de reia. Si vous souhaitez l'essayer, il vous suffit de cloner le dépôt git, d'avoir Erlang et Rake installés puis de lancer rake.

En vrac, spécial Django

Posté par  (site web personnel) . Modéré par rootix.
7
24
déc.
2010
Python
Django est un framework de développement d'applications web en Python, sous licence BSD.

Les versions 1.2.4, 1.1.3 et 1.3 beta 1 de Django sont sorties hier pour corriger deux problèmes de sécurité :
  1. il était possible de récupérer des informations sans être connecté en tant qu'administrateur via l'admin Django en créant des URL avec certains filtres particuliers ;
  2. le mécanisme de « Mot de passe oublié » pouvait servir à des attaques par déni de service.


Django Projector est un outil de gestion de projets développé en Django (sous licence BSD). Encore très jeune, il est difficile de le comparer à Trac ou Redmine, mais il offre déjà des fonctionnalités intéressantes comme la possibilité de personnaliser les workflows des tickets.

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 !

Quelques nouvelles de Go, le langage de programmation

Posté par  (site web personnel) . Modéré par patrick_g.
37
5
déc.
2010
Golang
Le langage de programmation Go suit son chemin. Voici quelques faits marquants depuis la précédente dépêche sur LinuxFr.org :

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)

Campagne de documentation Rails, RubyDrop et Refinements

Posté par  (site web personnel) . Modéré par patrick_g.
12
5
déc.
2010
Ruby
RubyDrop est un clone de Dropbox libre développé en Ruby. Il permet de synchroniser des fichiers entre plusieurs ordinateurs en utilisant en interne git. Rappelons que SparkleShare propose la même chose, mais en mono (ce qui avait engendré de nombreux commentaire sur la dépêche à son sujet).

Ryan Bigg est l'auteur de plusieurs guides Ruby on Rails, écrit un livre sur Rails et participe au développement de nombreux gems Ruby. Il a lancé un appel à dons pour lui permettre de passer du temps à écrire de la documentation pour Rails. Le choix des sujets se fera parmi les suggestions proposées publiquement.

À la dernière RubyConf, Shugo Maeda a parlé des Refinements, qui devraient arriver dans Ruby 2.0. En Ruby, il est possible de faire ce que l'on appelle du monkey-patching : réouvir une classe déjà définie pour lui ajouter de nouvelles méthodes, voir modifier les méthodes existantes. Cela peut être très pratique mais peut très facilement devenir une source de bugs. Par exemple, si deux bibliothèques ajoutent toutes les deux une méthode camelize sur la classe String et que ces méthodes se comportent différemment, alors une des deux bibliothèques va utiliser l'implémentation de l'autre avec un comportement qui n'est pas celui attendu. Les Refinements pourraient être une solution pour corriger ce problème en limitant la portée de ces modifications.

Je profite également de cette dépêche pour annoncer la publication de la première revue mensuelle sur Ruby France.

Faire évoluer LinuxFr.org

Posté par  (site web personnel) . Modéré par Benoît Sibaud.
Étiquettes :
20
30
nov.
2010
LinuxFr.org
Le site LinuxFr.org vit grâce aux contributions de ses lecteurs (oui, c'est vous). Cette dépêche est une occasion de plus de remercier toutes les personnes qui ont participé au site d'une façon ou d'une autre et d'encourager les autres à s'y mettre et regarder ce qu'ils peuvent apporter.

Et, en ce moment, nous avons tout particulièrement besoin de vous. La nouvelle version de LinuxFr.org va arriver et elle a besoin d'une nouvelle charte graphique. Nous avons donc organisé un concours pour recueillir vos propositions et choisir celle qui nous paraît la plus réussie. Pour les autres participants, votre travail ne sera pas perdu : les CSS seront proposées dans la partie « Feuilles de styles personnalisées ».

Le concours finit le 29 décembre, mais, suite à certaines remarques, nous envisageons de repousser cette date de quelques jours afin de coïncider avec les vacances scolaires de Noël (françaises) pour permettre à plus de personnes de concourir pendant leur congés. N'hésitez pas à poster un commentaire si vous pensez que c'est une bonne idée.

En bonus, vous pouvez gagner de l'hébergement virtualisé, une tablette Android type Archos 101, des bons d'achats pour du matériel « ouvert » et un 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. Pour vous mettre le pied à l'étrier, Barret Michel vous propose un « guide démarrage rapide » pour ce concours, dont voici le début : « Comme certains semblent penser qu'il est compliqué et qu'il va falloir qu'ils apprennent pleins de langages pour participer au concours je poste ici une méthode (la mienne) pour pouvoir travailler sur la CSS de la prochaine version du site sans nécessiter d'apprendre quoi que ce soit !».

Dans la seconde partie, vous trouverez d'autres manières de participer à LinuxFr.org.

Journal Pourquoi réécrire LinuxFr.org ?

Posté par  (site web personnel) .
43
25
nov.
2010

LinuxFr.org tourne actuellement avec un moteur qui s 'appelle templeet et, à dire vrai, ça tourne plutôt bien. Et pourtant, je suis en train de réécrire le site avec Ruby on Rails parce que je pense que c'est indispensable pour que le site puisse continuer à vivre. J'ai déjà pu donner quelques explications, notamment dans les commentaires, mais je ne crois pas avoir déjà fourni une explication complète.

Alors, pourquoi cette réécriture ? 2 raisons : maintenance et évolutions.

Pour (…)

Journal Pourquoi Ruby on Rails pour la réécriture de LinuxFr.org ?

Posté par  (site web personnel) .
Étiquettes : aucune
20
26
nov.
2010
La réécriture de LinuxFr.org en Rails pose deux grandes questions : pourquoi réécrire et pourquoi Rails ? Pour les deux questions, j'ai pu répondre à travers différents commentaires, mais je souhaite expliquer ça de manière plus structurée.

Pour la première question, j'ai publié un journal hier : http://linuxfr.org/~NoNo/30481.html . Et la seconde fait l'objet de ce journal ;-)

Avant d'expliquer le choix de Ruby on Rails, je vais expliquer le contexte. J'ai commencé le développement de la nouvelle version début (…)

Avancement du concours pour la future version de LinuxFr.org

Posté par  (site web personnel) . Modéré par j.
Étiquettes :
19
17
nov.
2010
LinuxFr.org
Le concours a commencé il y a une semaine et nous avons déjà une dizaine de participants déclarés. Certains ont posé des questions et dans un souci d'équité, nous avons regroupé ces questions et leurs réponses dans cette dépêche (en seconde partie).

Nous souhaitons préciser que nous attendons des chartes graphiques qui couvrent l'intégralité des pages du nouveau site. En, particulier, n'oubliez pas le nouvel espace de rédaction. Cet espace se compose d'une tribune où chaque utilisateur authentifié peut proposer des sujets de dépêches ou venir chercher des idées. Il est aussi possible d'écrire des dépêches à plusieurs avant de les soumettre à la modération (pour éditer un paragraphe, il faut cliquer dessus).

Ce serait également une bonne idée de proposer des pages d'erreurs originales. Les principales erreurs sont :

Enfin, nous rappelons que cette nouvelle version a besoin d'être testée et améliorée. Nous vous encourageons à remonter les bugs et propositions d'améliorations sur GitHub (ou le suivi interne de LinuxFr.org, dans la catégorie "Nouvelle version RoR").

Testez la nouvelle version de LinuxFr.org

Posté par  (site web personnel) . Édité par Benoît Sibaud. Modéré par Florent Zara.
Étiquettes :
40
9
nov.
2010
LinuxFr.org
Le site LinuxFr.org existe depuis 12 ans et a connu de nombreuses versions et évolutions. La version actuelle fonctionne avec templeet (NdM: lien éditée en 2021 pour pointer vers la version archive.org de l'époque) et est devenue difficile à faire évoluer pour diverses raisons (peu de contributeurs, absence de documentation, écosystème de templeet quasi-inexistant, etc.).

J'ai donc décidé, début 2009, de réécrire LinuxFr.org en Ruby on Rails. Commit après commit, cette nouvelle version a commencé à prendre forme. Je suis maintenant arrivé à un point où je souhaite qu'elle soit visible publiquement.

Oh, je sais, il reste encore du boulot : la charte graphique n'est vraiment pas réussie, il manque encore des fonctionnalités du site existant, il reste probablement beaucoup de bugs, etc. Mais je pense que vous, lecteurs, pouvez plus que jamais contribuer à améliorer cette version.

Pour cela, vous pouvez :
  • Tester cette version à plus grande échelle et remonter le maximum de bugs avant le passage en production (plus de détails en seconde partie) ;
  • Vérifier que les contenus importés depuis le site existant sont corrects. Cela consiste à vérifier que le contenu est présent, en entier et que son balisage HTML est le même que celui du site actuel ;
  • Nous aider à adapter la charte graphique à ce nouveau site. En effet, le graphisme n’est pas le fort de l’équipe qui gère le site. Et comme nous ne sommes pas des ingrats, nous y mettons les moyens et nous lançons un concours pour déterminer le prochain design du site. Au menu : un HTC Desire et une tablette sous Android, un hébergement dédié et du matériel pour Geek. Tous les détails dans la dépêche dédiée au concours !
  • Packager pour Debian la dernière version de webalizer que nous utilisons pour nos statistiques web.


Merci pour votre soutien et implication !