Icone_actu Actu Icone_creative Creative Icone_bdw Blog Du Webdesign Icone_emploi Emploi BDW

Installation de coffeescript, ou le javascript sexy.

by SANCHEZ Benjamin - le 25/08/2011

  • Partager l'article en 1 clic !

    N'hésitez pas à aider le BlogDuWebdesign
  • 2

Connaissez vous CoffeeScript, le langage de programmation sexy compatible avec le Javascript ? Cet article vous aidera à l'installer !

Introduction

CoffeeScript est un langage qui se compile en Javascript. Tout comme le Haml, il utilise l'indentation pour délimiter les blocs.

Il a vu le jour à la toute fin de 2009, avec un interpreteur créé en Ruby. Il est maintenant sur un interpreteur créé lui même en CoffeeScript.

Son but est de réduire l'aspect "pain in the ass" du Javascript. Les choses inutiles, tels les braces, les points virgules, et autre. Pour un exemple, regardez le site officiel de coffeescript. Vous pourrez même tester sur place.

Alors, interessé ? Passons donc à l'installation !

 Installation

CoffeeScript s'installe de multiples manières. Le site officiel propose de passer par NodeJS, mais cette technique n'est pas des plus simple sous Windows.

Pour ma part, je vous propose de passer par la gem coffee-script (si vous n'avez pas d'environement ruby installé, il y a un article pour ça), car cette methode à l'avantage d'être simple, et identique sur toutes plateformes.

 

1: Avoir ruby d'installé, avoir rubygem d'installé, savoir ouvrir sa console. 

Vous avez déjà suivi mon précédent tutoriel ? Pas de soucis, vous pouvez passer à la suite. Vous êtes sur Linux ou Mac, et ne savez pas si vous avez déjà Ruby d'installé ? Tapez dans la console "ruby -v", puis "gem -v". Si les deux commandes donnent des numéros de versions, c'est ok. Sinon, ou si vous n'avez pas ruby d'installé, suivez d'abord cet article: Installer Ruby et Thin en moins de 5 minutes

 

2: Installer les gems nécessaires.

Je pense que vous commencez à être rodé pour installer des gems: tapez "gem install coffee-script guard guard-coffeescript"


3: Configuration de guard.

Guard est un moyen de surveiller un dossier, et d'executer une commande chaque fois qu'un fichier est modifié. Au niveau de la configuration, ça vas aller vite, Guard-CoffeeScript simplifie beaucoup la chose.

Tout d'abord, créeons nos dossiers. Partons du fait que vos .js sont dans public/javascripts. Il nous faut tout d'abord créer le dossier qui vas contenir nos .coffee: public/coffee.

Maintenant, ouvrez la console à l'emplacement de votre projet, et tapez "guard init coffeescript". Cela va générer un fichier Guardfile

A l'intérieur de ce fichier est rangé les différents ordres de surveillances laissés à guard. Pour l'instant, il contient guard 'coffeescript', :input => 'app/assets/javascripts'. Nous allons modifier le fichier d'input (qui contient les .coffee), et ajouter un fichier d'output (qui contiendra les .js).

Maintenant, si vous avez bien travaillé, il doit contenir quelque chose comme ça: guard 'coffeescript', :input => 'public/coffee', :output => 'public/javascripts'


4: Lancer guard

Dans la console, toujours positionné dans votre projet, tapez "guard". Le script va se mettre en surveillance, et voilà, c'est tout !

Maintenant, il ne vous reste plus qu'à écrire vos fichiers CoffeeScript dans /public/coffee, ils seront automatiquement traduit et réenregistré en .js dans public/javascripts.

Merci d'avoir suivi ce tutoriel, n'hésitez pas à poser des questions si vous avez des problèmes. 

Devenez membre !

Rejoignez la communauté des créatifs du web !
- Partagez vos créations
- Gagnez en visibilité
- Créez votre blog facilement
> En savoir plus

Créer mon compte
  • Partager l'article en 1 clic !

    N'hésitez pas à aider le BlogDuWebdesign
  • 2
2 Auteur : SANCHEZ Benjamin voir son blog

Développeur autodidacte depuis quelques années, déjà, je suis le développeur du blog du webdesign, où mon rôle est de concretiser les différentes idées et maquettes.

6commentaires

  • C6a499ae107d0c80f5c10d661ccb2369
    Guilhem Marty

    le 25/08/11| #1

    Une syntaxe très esthétique, mais qui semble demander aussi une grande rigueur pour commenter le code.

  • 4dbd751cb3888b7dc1015960b3280afc
    Bastien Donjon

    le 09/09/11| #2

    C'est une syntaxe par graphiste ?

    Je suis développeur web, interrésé par toute nouveauté ou outil, je trouve cela complètement inutile, illisible et très peu précis ...

    Apprendre une nouvelle façon de coder uniquement pour supprimer les délimiteurs de blocs ou d'instruction ... n'est pas vraiment intéressant à mon sens. De plus, nous ne maîtrisons plus le code généré ... qui lui est franchement illisible ! Autant attendre encore un peu et coder directement avec des graphiques.

    Un code est beau lorsque il est claire, organisé, commenté et logique.

    Ceci est mon avis de développeur ... quelle valeur ajoutée y trouvez vous ?

  • 2
    Benjamin SANCHEZ

    le 12/09/11| #3

    Et bien, comme valeur ajoutée, je dirais que le coffeescript permet de coder plus vite, plus propre, et génère un code javascript harmonieux et un petit peu plus rapide que celui fait directement à la main. En plus de ça, il homogénéise un petit peu le développement entre Ruby et javascript.

    Ce commentaire troll me donne l'impression que tu n'es même pas allé voir sur le site: Ce n'est pas un dreamweaver, simplement un language avec quelques sucres syntaxiques, un mot clé class (vaguement nécessaire pour de la progra orienté objet, prototype ou pas prototype), et une indentation à la python. Il est toujours possible de compresser le code js en sortie, mais ça reste un choix personnel.

    Si tu es bien développeur web, give it a try, ça fait pas de mal. Si après, tu trouve toujours ça inutile et peu précis, et bien reste sur du pur javascript, et voilà.

    ps: Ok, un code est beau quand il est clair, organisé, logique. Et il est encore plus joli s'il est dry et épuré. Pour moi, l'indentation à la python permet de faire un des codes les plus beau qui soit. En ça, le coffeescript est plus beau que le js.

  • 4dbd751cb3888b7dc1015960b3280afc
    Bastien Donjon

    le 13/09/11| #4

    Excuse moi ne de pas avoir été dans ton sens... et de t'avoir vexé.

    D'ailleurs la prochaine fois je ne demanderais pas ton avis, et ne te donnerai pas le mien.

    Je te dirais seulement "c'est de la merde". Je perdrais moins de temps et tu pourras dire que je suis un troll à ça juste valeur.

    Après effectivement je n'ai pas testé, et j'aurais aimé avoir eu une discussion un peux moins gamine et surtout plus agréable.

  • 2
    Benjamin SANCHEZ

    le 14/09/11| #5

    Ce c'est pas une question de ne pas être allé dans mon sens, tout le monde à le droit d'avoir des avis, surtout dans le monde de la programmation (d'ou le nombres de langages différents).

    Moi, ce qui m’énerve, c'est le fait de parler sans ne serais-ce que suivre mon liens pour aller voir sur le site de quoi il en retourne. Tu dis par exemple que le code généré est "franchement illisible", ce qui fait que certaines personnes liront l'article, liront les commentaires, et se dirons "ah, si ça génère du code tout sale, j'en veux pas".
    En réalité, une des grande force de javascript, mise en avant dans le premier paragraphe de description (et je le dis aussi : d’expérience, ça génère du code très propre) sur le site est que je code javascript généré est très propre, et que si l'on veut arrêter d'utiliser coffeescript, il suffit de prendre les sources javascript générés.

    Donc voilà. Pour moi, dire "le C c'est de la merde" ou bien dire "le C c'est nul c'est pas un langage compilé", c'est pareil. Ça veut juste dire que tu n'a pas pris la peine de te renseigner avant de parler, et c'est donc bien difficile d'avoir une discussion intéressante.

  • E2cab065d2c4a76b073df28ed864c028
    Bastien Donjon

    le 14/09/11| #6

    Merci je suis allé sur ton lien, tu es bien gentil. Des collègues et moi même en avons parlé ...

    Je t'ai donné mon avis, après avoir lu ton article ... Simple réaction de quelques chose que je découvre. Je ne m'amuse pas systématiquement à tester tout ce que je croise.

    "Franchement illisible", oui parce qu'il surtout pas commenté. Il n'est pas également la représentation directe de la pensé du développeur qui est passé via Coffee. Des conditions sur une seul ligne ...

    Après je te rappel, que bien que je n'étais pas emballé, je t'ai donné l'occasion de me contre dire "Ceci est mon avis de développeur ... quelle valeur ajoutée y trouvez vous ?"

    Perso je ne suis pas pour une "langage" qui génère un autre "langage". Ceci n'est que mon avis ...

Ecrire un commentaire