Je réagis à un article que @_kud a relayé sur Twitter. L’article « Time to remove jQuery » a été écrit par Rogchap fin aôut. Dans cet article, Rogchap explique son souhait de quitter jQuery après l’avoir utilisé, beaucoup, presque à outrance, comme beaucoup d’entre nous. Maintenant il utilisé des micro-librairies pour remplacer jQuery dans les usages que requièrent ses projets. Je souhaitais réagir à son article plus loin que par un simple commentaire. Aussi parce que pendant longtemps comme vous le savez, j’ai tenu sur ce blog, une chronique jQuery et de nombreux articles autour de jQuery. Cet article me sert d’amorce au mien. Sur une sorte de ras le bol de cette mode de défoncer jQuery à la première occasion venue sur des arguments parfois quasi foireux. Parfois justifiés aussi. Un peu d’histoire jQuery a été créé par John Resig en … Continuer la lecture

Salu à tous ! Ça fait des mois que j’ai rien écrit et j’avoue que ça ne m’a pas dérangé. Je pense que je vais ne plus faire que des articles de temps en temps. Aujourd’hui, je vous propose une petite collection d’outils pour Chrome sans lesquelles mon quotidien de développeur serait moins sympathique. Octotree L’idée est d’améliorer la navigation dans un dépôt GitHub en vous proposant sur le côté gauche, une bonne vieille navigation arborescente. C’est tellement plus confortable https://chrome.google.com/webstore/detail/octotree/bkhaagjahfmjljalopjnoealnfndnagc/ Github improved Le titre parle de lui même. Améliorez votre GitHub. https://chrome.google.com/webstore/detail/github-improved/nkbnmpfpclijlllipmfbkkednidgngaa Google Analytics Debugger Je mets en place pas mal de tracking via Google Analytics, au delà du simple copier-coller du tag que tout le monde commence à connaître par coeur. Et c’est un peu la tannée à déboguer parfois. Avec ça, je suis bien plus efficace. https://chrome.google.com/webstore/detail/google-analytics-debugger/jnkmfdileelhofjcijamephohjechhna … Continuer la lecture

En octobre dernier, je participais comme orateur à la Blend Conference. Très bien organisée, le WiFi était au top et surtout, ils ont filmé tous les talks. Dont le mien, du coup. Je vous laisse découvrir la vidéo : https://www.youtube.com/watch?v=rZQNfgK90aE On y parle point-virgule, return, this, tests unitaires, intégration continue, etc. Tout plein de choses bien qui permettent d’éviter l’essentiel des problèmes.

Pour une fois, ce ne sera pas un article de dev ou de culture technique, de perfos ou de tests mais un appel à contributions. En ce moment, au sein de ParisJS, se tient le débat de savoir si ParisJS reste sur EventBrite ou bascule sur Meetup. Le vote se passe ici : https://docs.google.com/forms/d/1OB4jVu0WTdoYsn5IY_Axm50gujPVWxgBNwX1UfrqD90/viewform Le vote et les resultats sont public, mais un pseudo « connu » sur la mailing list / Twitter / etc sera obligatoire pour que le vote soit prit en compte. ParisJS étant une association de fait, c’est l’anarchie, la bonne, celle qui fait que chacun a le droit de mettre son grain de sel pour faire avancer les choses.

Bon, ça va faire 20 ans (en octobre 2014) que les tests unitaires sont un concept publique, il va peut-être falloir s’y mettre. Non ? Alors, on va tester efficacement avec Karma et Jasmine ou Mocha, au choix. Ou autre, vous allez comprendre plus tard. Karma Anciennement connu sous le nom de Testacular. C’est un outil qui va déclencher votre suite de tests, la maintenir en exécution et vous permettre de l’organiser. En gros, vous lui expliquez rapidement le contexte et vous n’avez plus qu’à vous concentrer sur vos tests. Jasmine, Mocha, ce que vous voulez Vous prenez n’importe quel framework de tests compatible avec Karma. Je ne connais pas de framework de test un minimum publique qui ne soit pas compatible. Personnellement j’ai un faible pour Mocha même si je m’amuse avec Jasmine en ce moment. Vous pouvez même utiliser les … Continuer la lecture

Salut à tous ! Aujourd’hui, l’idée, c’est de vous aider à choisir vos plugins pour jQuery et faire le tri dans ce gigantesque fourre-tout. Critère 1 : Communauté Comme pour tous les systèmes de plugins, si le plugin n’est pas sur GitHub/BitBucket, c’est déjà mal barré. Si en plus il n’a que peu d’étoiles/forks, laissez tomber, ça veut dire que personne ne l’utilise. C’est qu’il y a sûrement une raison. Critère 2 : Peu voire pas de CSS Le style, ça se manipule avec le CSS, pas avec le JS. Énormément de plugins font juste des modifs de CSS (genre rendre votre site responsive, si si). Sortez vous les doigts des fesses et faites le avec la bonne chose, c’est à dire directement en CSS. En plus de bousillez inutilement vos performances, ces plugins font souvent très mal le travail. Critère 3 … Continuer la lecture

Vous venez ou allez lancer un service web ? C’est bien ! Qu’il soit intuitif c’est bien aussi. Mais prendre la peine d’expliquer à vos « clients » comment ils fonctionnent, c’est mieux ! Les outils suivants permettent de mettre en place une visite guidée de votre site. Vous placez plein de petites étapes ordonnées un peu partout assez facilement et voilà, votre visiteur est beaucoup plus en confiance. Peu importe votre framework CSS Un super outil qui ne gère malheureusement pas le multipage : IntroJS. Bootstrap Si, pour construire votre service, vous vous êtes basés sur Bootstrap, je vous recommande vivement l’usage d’un outil tel que Bootstrap Tour. Il gère le multipages et d’autres trucs cools. Je sais qu’il y a notamment aussi un plugin tiers pour Drupal. Foundation Le plugin jQuery Joyride est ce qu’il vous faut. Directement développé par les … Continuer la lecture

Sitespeed est un outil de mesure de la vitesse et des performances de votre site. La différence avec WebPageTest se situe dans l’idée que Sitespeed est beaucoup plus simple à installer en local et n’est pas prévu (de base) pour pouvoir être à la disposition de tous sur l’internet mondial. Vous pouvez avoir instance privée sur votre poste sans soucis. Autre particularité, WebPageTest va vous donner en sortie une page pas réellement exploitable automatiquement et selon un temps de réponse parfaitement aléatoire. Alors que Sitespeed lui pourra au choix sortir du HTML ou XML compatible JUnit. Pratique pour exploiter sous Jenkins ou autre outil d’intégration continue.

Salut à tous, Je viens (enfin) de créer le compte Twitter de BeerJS sur Paris : https://twitter.com/BeerJS_Paris Et tant qu’à faire le GitHub correspondant parce que c’est toujours plus sympa quand un truc de devs est sur GitHub : https://github.com/beerjs/paris

Je l’ai déjà évoqué à de multiples reprises sur ce blog, mais je vais le refaire. La mise en cache est une pratique clé pour les performances. L’idée est simple : mettre dans une variable locale une autre variable contenue dans une autre. Pas besoin que l’élément mis en cache soit très bas dans l’arborescence de son objet. Même au premier niveau vous aurez un gain si l’objet parent tout en haut est global. Exemple : var App = function () { controllers : [ one : {}, two : { some : "value" } ] }; if(undefined !== App.controllers[0].some) { App.controllers[0].some = "thing"; } Ici le script va d’abord vérifier si monObjet est local. Non. Il va donc remonter d’un score et non, toujours pas. Encore un scope, on arrive en global, et là on y est. Cette recherche … Continuer la lecture