Pourquoi Ruby Sup ?

Dans les grands établissements de l'Enseignement Supérieur ou de la Recherche, les équipes informatiques professionnelles sont généralement regroupées en services, eux-même découpés par spécialisations ou métiers, tels que le systèmes et réseaux,  les services en ligne au sens large, les applications métiers et les bases de données, le poste de travail Windows, etc.
Autant de spécialistes utilisant les outils standards et les procédures de l'état de l'art dans leur domaine : gcc, perl, bash pour les uns, java et ses multiples frameworks ou encore oracle et sql/pl-sql pour d'autres, sans oublier ghost les interfaces Active Directory de Windows, etc ...

Cependant il existe beaucoup d'endroits où se trouvent des ingénieurs, hors de ces grands services structurés, chargés de répondre à tous les besoins de leurs utilisateurs, de l'administration des serveurs et du réseau aux développements internes, qu'ils concernent le fonctionnement transversal de leur organisation ou simplement le besoin extrêmement pointu d'un seul chercheur, de la gestion d'un parc de machines à la gestion des identités et des comptes, du suivi des commandes et des marchés à la formation ou au pilotage des utilisateurs.
Inutile de dire que la spécialisation n'est plus de mise dans ce cas et que le temps à consacrer aux développements est forcément réduit.

D'où l'idée de présenter sous forme de snippets ou de petits scripts modifiables des solutions éprouvées dans certains labos ou services, et touchant aux problématiques ou contextes communs (LDAP, SupAnn, CAS, Apogée, Harpège, etc), développées dans le langage Ruby.

Pourquoi Ruby alors ?

Parce qu'outre son élégance et grande lisibilité, le langage Ruby permet de façon concise de traiter simplement la plupart des problèmes courants. Scriptable, il peut aussi être utilisé comme un véritable langage et son code intégré dans des frameworks web de productivité tels que Ruby on Rails.
Bref, il est très facile d'écrire un script résolvant un problème, aisé d'étendre ce script à la forme d'un vrai programme et simplissime d'en faire finalement une application web par exemple.

En outre, point très appréciable quand on a peu de temps pour développer, relire du code et le maintenir, Ruby (tout comme l'est le framework Rails) est un langage particulièrement Agile, au sens où la réécriture ou la modification du code (je ne parle pas de simple refactoring ici, mais bien de changement effectif du comportement du code) sont peu couteuses et peu contraignantes.
En résumé, Ruby permet d'adapter très rapidement le code produit aux changements.

Enfin, pour les personnes qui ont déjà pratiqué la programmation, objet en particulier, ce langage est plutôt simple à manipuler et son apprentissage est facilité par l'aspect interprété (ou compilé en bytecode et exécuté à la volée de façon transparente pour la version 1.9) qui permet de visualiser le résultat immédiatement et facilite la mise au point du code.
Peut-être retrouverez-vous ici dans quelques lignes de Ruby une solution déjà déployée chez vous et réalisée avec un autre outil ?