Codez avec classe grâce à Sinatra

Posté par (page perso) . Modéré par tuiu pol.
Tags :
16
29
mar.
2010
Ruby
Sinatra est un micro-framework en Ruby pour construire rapidement des applications web (licence MIT).

Il se présente sous la forme d'un Domain Specific Language, avec un jeu assez réduit de fonctionnalités et laissant beaucoup de libertés aux développeurs d'applications. En cela, il est très complémentaire de Ruby on Rails, car il sera très efficace pour les petites applications web, les prototypes, les API Rest, les webhooks, ou fournir une interface web à une application Ruby existante.

Le développement de Sinatra a commencé en novembre 2007, et une nouvelle étape a été marquée le 23 mars dernier avec la sortie de la version 1.0. Sinatra est utilisé dans de nombreuses applications Ruby, mais son succès ne se limite pas à Ruby. Il existe des clones plus ou moins fidèles dans de nombreux langages : Sammy (Javascript), Dancer (Perl), Fitzgerald (PHP), Martin (.net), Itty (Python), Step (Scala), Express (node.js) et beaucoup d'autres.

D'un point de vue plus technique, Sinatra s'installe très simplement avec Rubygems, d'un simple coup de gem install sinatra. Et écrire un Hello world n'est pas plus compliqué :
require 'rubygems' require 'sinatra' get '/' do 'Hello LinuxFr !' end
  • # PDG d'honneur!

    Posté par (page perso) . Évalué à 5.

    Sur la page About :
    Frank Sinatra (chairman of the board) for having so much class he deserves a web-framework named after him.

    Trop la classe!
    • [^] # Re: PDG d'honneur!

      Posté par . Évalué à 2.

      Ouais bof !
      "Aldo", ca le ferait mieux.
      • [^] # Re: PDG d'honneur!

        Posté par . Évalué à 3.

        Tu confonds la classe et la coquetterie. Il devrait s'appeler le framework Georges Abitbol.
        • [^] # Re: PDG d'honneur!

          Posté par . Évalué à 0.

          Est ce que ce framework baise les ménagères?

          "Gentoo" is an ancient african word, meaning "Read the F*ckin' Manual". "Gentoo" also means "I am what I am because you all are freaky n3rdz"

        • [^] # Re: PDG d'honneur!

          Posté par . Évalué à 1.

          On va manger des chips !
        • [^] # Re: PDG d'honneur!

          Posté par (page perso) . Évalué à 2.

          :: Il devrait s'appeler le framework Georges Abitbol.

          « George », pas « Georges ». Tu pourrais quand même faire attention quand tu écris le prénom de l'homme le plus classe du monde !
    • [^] # Re: PDG d'honneur!

      Posté par . Évalué à -1.

      Bah. Je préfère « Django Reinhardt »
  • # Simplement avec rubygems

    Posté par (page perso) . Évalué à 9.

    je suis le seul à trouver dérangeant le fait que souvent, les rubyistes ne filent plus d'archives, mais juste des gems, rendant ainsi plus difficile la creation de paquet ( quand c'est pas "prenez directement le code sur github" sans avoir mis de tarball, comme c'est parfois le cas sur launchpad, ou avec un tarball nommé de façon farfelu, genre login_projet_identifiant-de-rev comme c'est le cas aussi sur github , qui n'a rien à voir avec le numero de version du projet, et ce qui implique de ne pas automatiser l'update ? )
    • [^] # Re: Simplement avec rubygems

      Posté par . Évalué à 2.

      Le problème c'est juste qu'il y a une manière uniformisé de distribuer du code visant à être réutilisé, les gems et par contre trente six manières de packager tout cela selon les distributions.

      C'est sûr que la tarball c'est pratique, mais cela soustrait moultes informations : dependances, etc ...

      Après, c'est mon cas perso, mais je ne me sers jamais des paquets pour gérer mes applis ruby, c'est toujours la galère, versions différentes, pas à jour, cela va toujours trop vite coté gem pour se baser sur les paquets je trouve. Finalement, quand je fourgue une appli, je pack les dépendances et je gère moi même ( développeur donc ) le tout au travers d'un truc plus standalone, car moi développeur, je sais qui dépend de quoi, ce qui peut être un cauchemar pour l'admin.
      • [^] # Re: Simplement avec rubygems

        Posté par (page perso) . Évalué à 2.

        C'est sûr que la tarball c'est pratique, mais cela soustrait moultes informations : dependances, etc ...

        le tarball c'est aussi un numéro de version et un freeze ponctuel sur une version reproductible / partagée
        les infos de dépendances, elles sont reprises par le mainteneur du paquet et transcrites d'un système à l'autre, à condition d'être documentées quelquepart (que ce soit de la doc' ou dans un système de paquet spécifique).
      • [^] # Re: Simplement avec rubygems

        Posté par (page perso) . Évalué à 3.

        C'est plus tout developpeur, mais toi, distributeur. C'est une approche qui est courante sous windows et ailleurs, mais je pense que le logiciel libre a des contraintes différentes qui font que la distribution/intégration est en général séparé du developpement.

        Pour commencer, la réutilisation du code ( ie, au lieu d'avoir 15 copies des deps, y en a qu'une ), la gestion unifié ( ie pas besoin d'adapter l'outil en fonction de ce qu'on installe ).

        La gestion à la windows ( c'est pas péjoratif quand je dit ça, mais faut bien nommer la méthode d'une façon ou d'une autre, je cherche toujours un terme à ce sujet ), c'est bien dans un systéme faiblement couplé, ou chaque dev est faiblement connecté et travaille un peu dans son coin, mais en général, ce que je voit dans le logiciel libre, c'est plus l'inverse.

        Y a des avantages et des inconvénients, c'est clair que dans une vision developpeur => utilisateur, l'approche "je fait tout moi même" facilite la vie, et à le bénéfice de la simplicité et d'une certaine forme de décentralisation.

        Mais en tant que sysadmin et en tant que packageur, je trouve ça particulierement frustre, et peu intégré. Autant je vais pas forcer les gens à passer par des paquets de distribution, autant ça me géne un peu qu'on m'empéche de le faire par négligeance, ou par manque d'envie directement. ( cf http://fosdem.org/2010/schedule/events/dist_good_upstream )
    • [^] # Re: Simplement avec rubygems

      Posté par (page perso) . Évalué à 5.

      Je n'ai pas précisé dans la dépêche, mais le code de sinatra peut également être téléchargé sous forme d'archives sur http://github.com/sinatra/sinatra/downloads
  • # Permettez moi

    Posté par . Évalué à -1.

    Permettez moi de poster avec retenue dans ce forum afin de contempler mon avatar en face.

    Systemd, the bright side of linux, toward a better user experience and on the road to massive adoption of linux for the desktop.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.