@@ -30,11 +30,11 @@ pendant laquelle je commentais les sources de DocumentCloud afin d'en sortir les
3030un facilitateur de projet disponible sur [ Github] ( https://github.com/Backbonist/Backbonist ) **
3131
3232Je vais beaucoup vous parler de la structuration de projets Backbone, mais finalement très peu du framework
33- en tant que tel. Je vous laisse le soin de lire la [ doc officiel ] ( http://documentcloud.github.com/backbone/ ) ,
34- ou même le [ code commenté] ( http://documentcloud.github.com/backbone/docs/backbone.html ) car celui ci est très claire .
33+ en tant que tel. Je vous laisse le soin de lire la [ doc officielle ] ( http://documentcloud.github.com/backbone/ ) ,
34+ ou même le [ code commenté] ( http://documentcloud.github.com/backbone/docs/backbone.html ) car celui ci est très clair .
3535Pour ceux qui ne le connaissent pas encore, Backbone possède : un Routeur pour gérer des URLs,
3636des modèles et des collections qui ne partagent pas le même cycle de vie que les vues,
37- des vues qui sont misent à jours automatiquement dès que le modèle change,
37+ des vues qui sont mise à jours automatiquement dès que le modèle change,
3838un système d'événements simple mais efficace, un modèle objet très pratique, ... et tout ça dans 5Ko :)
3939
4040Ce qui m'a plu dans l'utilisation faite de Backbone chez DocumentCloud, c'est la simplicité et la facilité
@@ -43,9 +43,9 @@ qui vous permettra de mettre en place des projets fronts conséquents
4343(comme celui de [ DocumentCloud] ( http://www.documentcloud.org/public/search/ ) ).
4444
4545Cet article se détache des présentations du type
46- [ How to build large scale jQuery applications] ( http://addyosmani.com/blog/large-scale-jquery/ ) qui je trouve bien pensé
46+ [ How to build large scale jQuery applications] ( http://addyosmani.com/blog/large-scale-jquery/ ) qui je trouve bien pensées
4747mais plus complexe à appliquer. Je trouve l'idée d'utiliser RequireJs et un PubSub intéressante,
48- mais au final cela entraine une surcouche de complexité qui n'est pas nécessaire pour toute les applications.
48+ mais au final cela entraine une surcouche de complexité qui n'est pas nécessaire pour toutes les applications.
4949
5050Vous êtes préssé ? Aller voir [ le code de Backbonist] ( https://github.com/Backbonist/Backbonist ) ,
5151ou l'exemple du [ TODO] ( https://github.com/Backbonist/todo-example )
@@ -194,7 +194,7 @@ dc.model.Document = Backbone.Model.extend({
194194{% endhighlight %}
195195
196196
197- En plus, comme chacun de nos fichiers est contenu dans un objet, on ne risquera pas de pourrire la globale window ;)
197+ En plus, comme chacun de nos fichiers est contenu dans un objet, on ne risquera pas de pourrir la globale window ;)
198198Plus besoin d'entourer notre code dans un fonction auto appelante :
199199
200200{% highlight javascript %}
@@ -221,7 +221,7 @@ Dans le cas de notre application, il y a 2 sortes de dépendances :
221221* à la lecture du fichier, les variables doivent être connues par l'interpréteur JavaScript.
222222
223223Comme nos fichiers commenceront tous par ` dc.xxx.xxxx = Backbone.XXXXX.extend({ ` , il sera facile pour nous de
224- gérer l'ordre dans l'index.html afin qu'il n'y ai pas de problèmes de dépendances.
224+ gérer l'ordre dans l'index.html afin d'éviter les problèmes de dépendances.
225225
226226Les dépendances qui se trouvent à l'intérieur des fonctions (initialize, render...) seront résolues plus tard.
227227
@@ -236,9 +236,9 @@ modules qui seront utilisés par toute l'application et les modules qui ne seron
236236
237237#### Dépendances partagées globalement
238238
239- Si on défini un module comme quelque chose pouvant être appelé par n'importe quel autre module dans l'application.
239+ Si on définit un module comme quelque chose pouvant être appelé par n'importe quel autre module dans l'application.
240240Il est important d'instancier ces modules dans un ordre précis (un module peut dépendre d'un autre module),
241- c'est pour cela que l'on instanciera ces modules dans une fichier unique, par exemple le routeur.
241+ c'est pour cela que l'on instanciera ces modules dans un fichier unique, par exemple le routeur.
242242Ces modules seront accessibles par toute l'application.
243243
244244<p class =" center " >
@@ -297,7 +297,7 @@ Dans une application, nous avons toujours besoin de découper des modules en sou
297297une relation de dépendance entre les deux.
298298
299299Mais comme cette relation est du type parent - enfant, ce sera toujours via le module parent que les enfants pourront
300- discuté entre eux ou avec le parent.
300+ discuter entre eux ou avec le parent.
301301
302302<p class =" center " >
303303 <img src =" /public/img/2012-02-25-backbone-tips-from-document-cloud/dependences-hierarchiques.png " border =" 0 " />
@@ -384,7 +384,7 @@ dc.ui.Document = Backbone.View.extend({
384384});
385385{% endhighlight %}
386386
387- Je vous entends crier au loin, mais c'est fortement coupler ça !!!
387+ Je vous entends crier au loin, mais c'est fortement couplé ça !!!
388388
389389Comme il n'y a pas de typage fort en javascript vous vous en moquez! C'est comme si vous utilisiez des interfaces
390390en Java. Si vous voulez remplacer un module par un autre, il suffit que les deux modules possèdent les mêmes signatures
@@ -401,7 +401,7 @@ quelles sont les méthodes publiques :
401401
402402
403403Après vous pouvez communiquer via des événements, mais il faudra un peu plus de travail pour synchroniser plusieurs
404- événements. De plus, les appels seront moins facile à repérer dans le code.
404+ événements. De plus, les appels seront moins faciles à repérer dans le code.
405405
406406Le problème avec les événements en JS, c'est que l'on perd vite le contrôle de l'application et tout parait magique.
407407
@@ -412,7 +412,7 @@ Je ne vous interdit pas d'utiliser les événement, mais faîtes le avec parcimo
412412
413413Quand vous utilisez Backbone, vous créez des classes filles de Backbone.View, Backbone.Model, Backbone.Collection, ...
414414
415- Alors pourquoi ne pas créer ses propres classe mère :
415+ Alors pourquoi ne pas créer ses propres classes mères :
416416
417417[ js/ui/accounts/account_dialog.js] ( https://github.com/lyonjs/documentcloud/blob/master/public/javascripts/ui/accounts/account_dialog.js ) :
418418
@@ -561,7 +561,7 @@ Franchement c'est tellement rare ça alors profitez en !
561561
562562Vous pouvez avoir une utilisation minimaliste de Backbone.
563563
564- Regarder par exemple la HomePage de DocumentCloud < https://github.com/lyonjs/documentcloud/blob/master/public/javascripts/home/home.js >
564+ Regardez par exemple la HomePage de DocumentCloud < https://github.com/lyonjs/documentcloud/blob/master/public/javascripts/home/home.js >
565565
566566Ou bien le modèle Documents de Backbone < https://github.com/lyonjs/documentcloud/blob/master/public/javascripts/model/documents.js > .
567567
@@ -639,7 +639,7 @@ Si vous n'avez pas de Backend, choisissez plutôt un des [builds scripts de HTML
639639Si vous utilisez un Backend en JAVA, [ Wro4J] ( http://code.google.com/p/wro4j/ ) est un projet sérieux
640640que vous pouvez utiliser sans risque.
641641
642- Et n'oubliez pas de servir vos assets JS et CSS avec la compression GZIP activé :)
642+ Et n'oubliez pas de servir vos assets JS et CSS avec la compression GZIP activée :)
643643
644644
645645### Conclusion
@@ -653,4 +653,4 @@ Découvrez également l'écosystème autour de Backbonist:
653653* [ Un compilateur JST fonctionnant avec Handlebars, jQuery-tmpl, underscore ou simplement des strings] ( https://github.com/Backbonist/universal-jst )
654654* [ Un serveur HTTP qui force les navigateurs à se réactualiser quand les sources changent] ( https://github.com/Backbonist/serveAndWatch )
655655* [ Un script de build qui lit sa conf dans l'index.html] ( https://github.com/Backbonist/no-build-conf-build-script )
656- * [ Le meilleur IDE au monde, ViM, configuré pour du développement Web] ( https://github.com/Backbonist/ViM-for-web-dev )
656+ * [ Le meilleur IDE au monde, ViM, configuré pour du développement Web] ( https://github.com/Backbonist/ViM-for-web-dev )
0 commit comments