Archives de catégorie : JavaScript

Je me suis livré à un petit exercice, j’ai fait le diff entre la semaine dernière et cette semaine sur la table de compatibilité ES6 de Kangax. Bon alors pour les incultes (sans méchanceté), la table de Kangax, c’est toutes les fonctionnalités apportées par ES6 passées au crible sous chaque moteur JS, navigateur et autres pour voir si elles sont supportées. Soit ça : https://kangax.github.io/compat-table/es6/ Je voulais voir si il y avait eu du progrès et quelles étaient les nouveautés. Et il y en a un peu. Seule l’équipe de Webkit a vraiment fourni de la progression cette semaine. On a donc au menu : Meilleur support de destructuring pour Webkit (+1 point sur 32, soit 26/32) L’opérateur Spread est désormais complètement supporté dans le destructuring. Du coup on peut faire ça : var [a, …b] = [3, 4, 5]; // a===3 … Continuer la lecture

Les événements où rencontrer des candidats le groupe meetup ParisJS la conférence annuelle DotJS les événements dédiés au recrutement : Paris Startup Job Fair RemixJobs Day Les sites où diffuser une annonce les job boards français généralistes : RemixJobs Human Coders Choose Your Boss les sites internationaux : le thread mensuel Who is Hiring? sur Hacker News Stack Overflow Careers GitHub Jobs Jobs in Tech LinkedIn Jobs JavaScript Ninja Jobs si c’est pour faire du Angular : AngularJobs si c’est pour faire du Ember : EmberJS JobBoard si c’est pour faire du Node : Node Jobs si vous êtes une startup : @frstartupjobs sur Twitter AngelList Jobs Startup Developer Jobs le job board de Paris & Co (si vous êtes dans un de leurs incubateurs et pépinières) le job board de NUMA si vous êtes une entreprise où il fait bon … Continuer la lecture

Hum, deux articles parlant du passé en moins de 2 mois. Je me fais vieux ou… ah non, c’est vrai, je bosse dans le web, c’est normal, les choses changent vite Bon alors, si vous ne l’avez pas encore lu, je vous invite à lire l’article de Dave Methvin annonçant jQuery 3.0 : http://blog.jquery.com/2014/10/29/jquery-3-0-the-next-generations/ Quelques « petits » changements, le terme est ironique. Alors on commence par l’adoption de SemVer (Semantic Versionning). Pour ceux qui ne connaissent pas, le principe est simple, on change de numéro à chaque changement de fonction, selon l’importance de la variation : Majeure.Mineure.Patch. Au delà de ce changement pas ridicule, on a aussi : Fin de la grille de compatibilité spécifique Jusque là, jQuery faisait cavalier seul pour déterminer quel navigateur était supporté par la 2.x, et lesquels par la 1.x. Pour rappel, la 1.x supporte encore les … Continuer la lecture

Cet article traînait dans les brouillons depuis un an. Je le publie aujourd’hui, mais il est possible que certaines choses soient passées d’actualité. Ne vous en formalisez pas svp. Il y a plus d’un an, je me suis sérieusement intéressé à Mocha, un framework de tests unitaires pour JavaScript. J’utilisais jusque là un mix entre node-unit et QUnit mais je n’étais pas satisfait pour de banales raisons personnelles du genre style de code ou inefficacité de QUnit. Alors Mocha, c’est là, pour démarrer. C’est un package node assez simple à installer : npm install -g mocha Il est très basique. C’est à dire que vous pouvez : suggérer un bloc de tests ; proposer un test ; créer une série d’assertions ; choisir l’outil d’assertions à utiliser ; choisir le type de rapports générés ; l’utiliser dans un navigateur ; … Continuer la lecture

J’adore râler, en fait même, carrément insulter les développeurs qui ne mettent pas les points-virgules en fin d’instruction. Mais il faut dire une chose. D’une certaine façon, ils ont raison. Tout simplement parce que ça force à une certaine qualité de code. Ça force à bien déclarer ses variables, à bien utiliser les accolades et pour faciliter la maintenance à avoir un code qui ressemble à quelque chose. Sinon ça déconne à toute vitesse et alors vous n’avez plus le choix. Sauf que parmi les premières choses que fait un minifier, c’est de faire sauter les ; qu’il jugera inutile pour mettre d’autres structures de code. Utilisables mais illisibles au quotidien. Lisez du code minifié, vous allez rire pour le maintenir. Du coup, quand je vois les mecs sur Github qui codent comme des gros dégueulasses qui pisseraient dans le … Continuer la lecture

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

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

Il y a peu, j’ai rencontré un problème. Je travaillais sur une appli one-pae assez lourde avec AngularJS et j’avais besoin qu’elle soit accessible sur mobile ou en dégradé sur du IE8 par exemple. J’ai donc fait le choix du lazy loading de mes composants. Et là, la doc de AngularJS n’en parle tout simplement pas. Lazy loading Le lazy loading, c’est tout simplement le chargement d’éléments quand on en a besoin et non immédiatement. Ressource Je suis tombé sur ce site : http://ify.io/lazy-loading-in-angularjs/. Il explique bien la solution mais j’ai plusieurs soucis avec celle-ci : j’utilise curl ; j’utilise UI-Router. Curl J’ai utilisé mon outil de comparaison de loaders de scripts pour déterminer ce que j’avais besoin et en l’occurrence, curl est mon favori. De ce côté là inverser $script par curl n’est pas compliqué pour un sou. Il suffit … Continuer la lecture

Une réalité du travail dans le monde du commerce, que ce soit « B2B » ou « B2C » (skills bullshit bingo et anglicismes de merde + 1), c’est que vous vous retrouvez en général vite à lier des partenariats et avoir besoin de collecter des infos depuis leurs média à eux. Dans mon cas, j’avais besoin d’échanger des données depuis d’autres sites, notamment pour prendre des demandes clients (affiliation). Hors nous connaissons tous la règle dite de Same Origin Policy Cette règle interdit tout échange via XHR sur un autre domaine que celui où est exécuté le script. Pour contrer ça, il existe JSONP, jQuery propose évidemment son exploitation. Tout comme ExtJS, Mootools, qooxdoo, … JSONP JSONP, ça veut dire tout simplement JSON Padding. Ou encore tout simplement, du JSON encapsulé. Comment ça marche ? C’est très simple. Au lieu d’aller charger du JSON, … Continuer la lecture

Venez discuter JavaScript entre confrères, le mardi 10 décembre au Lock Groove. A partir de 19h30. Le Lock Groove Bar ambiance rock psychédélique années beatles/Jackson five. On peut y discuter tranquille, manger de bonnes choses pas trop chères et boire de bonnes bières originales pour pas cher. Pour ceux qui ne boivent pas de bière ou d’alcool tout simplement, il y a aussi ce qu’il faut. Alors, vous venez ?