Articles

Affichage des articles du février, 2016

Docker & NodeJs

Image
Ici, nous allons plutôt nous pencher sur l'usage de Docker avec un projet NodeJs. Un petit rappel de ce qu'est Docker: il s'agit d'un outils permettant de créer des container systèmes / applicatifs que nous pouvons composer. Le but étant de se créer son propre conteneur, que nous pouvons charger / décharger à notre guise, voir le déployer sur des postes qui aurait un Docker Container afin de réceptionner notre conteneur. Le but ici va être de faire deux petits conteneurs Docker: L'un pour lancer notre application L'autre pour lancer nos tests et récupérer le rapport de tests Les usages sont multiples, car nous pouvons à la fois nous en servir: Lancer nos tests / notre application sur des versions différentes de NodeJs Lancer nos tests / notre application sur des plateformes différentes Lancer nos tests / notre application avec des bases de données différentes Lancer nos tests / notre application sur un environnement que nous ne pourrions...

Apprendre à développer en jouant

Image
Nous avons de la chance de trouver de plus en plus de plateformes proposant d'apprendre une techno ou d'améliorer ses connaissances de développeurs tout en jouant. Nous pouvons citer un mastodonte comme  Coding Game  qui propose tout un tas de défis (plus ou moins compliqués), très amusant et sur une vingtaine de langages de programmations. Un must. Après, il existe des petits jeux tout aussi sympa.  Je peux citer Logical (Or Not)  que j'avais cité sur un article pour expliquer pourquoi ce jeux est intéressant . En l'occurence, il a pour but de nous sensibiliser sur la subtilité des opérateurs conditionnelles JavaScripts. Ensuite, je vais vous citer deux jeux, orientés CSS. Le premier est CSS Diner  qui a pour but de vous familiariser sur la puissance des sélecteurs CSS. Le but étant de sélectionner précisément les éléments demandés dans le bento. Et enfin, Flexbox Froggy  qui lui va nous apprendre à maîtris...

NVM ou la gestion de versions de NodeJs

Image
Indéniablement, NodeJs s'implante dans nos sociétés. Jusqu'à début 2015, nous avions peu de soucis de gestions de versions: les mises à jour apportés en règle générale de petites corrections / améliorations. Donc nous n'avions pas comme sous Android un phénomène de fragmentation à gérer. Et cela aussi bien sur le serveur de production, ou tout simplement pour les développeurs. La fragmentation Depuis 2015, la fusion entre le projet io.js et NodeJs fait que la donne a changé. Très rapidement, depuis la version Node 0.12.X, des évolutions rapides et majeures sont apparus ! Par exemple Node 0.12.X commence à introduire des fonctionnalités ES6, et la version suivante, la 4.X.X introduit elle une très grande partie des dites fonctionnalités ES6. Ce qui amène le développeur à les utiliser et commencer à produire des modules / applications NodeJs en ES6. De même, depuis Node 4.X.X, une refonte de NPM est faite. Et la gestion des modules entre NPM 2 et NPM 3 a fortement...

Faciliter les tests des promises quand nous utilions Mocha, Chai et Sinon

Hop, une petite extension à l'article " Sinon: restorer les espions et stubs automatiquements ". Ici, nous allons voir comment tester des Promises dans nos tests unitaires. Car nous savons que Mocha nous facilite déjà la tâche en nous proposant une mécanique bien spécifique de gestion de l'asynchronisme. Par défaut, nous devons déclarer une variable dans notre "it" afin de pouvoir déclarer à Mocha que notre test est asynchrone, mais aussi de pouvoir dire quand cela se termine: it( 'an unit test with a promise' , function (done) {    myService       .myPromiseFunc(42)       .then( function (response) {          chai.expect(response).equals(21);          done();       })       . catch (done); }); it( 'an unit test with a promise in a fail case' , function (done) ...

NodeJs et SSL: une petite analyse

Le but de cet article est de faire un petit tour d'horizon de l'usage de SSL dans nos applications NodeJs, en l'occurence, quand nous souhaitons faire une application Web, une API REST, ou les deux. Nous allons avoir 6 étapes pour de réalisation d'un serveur NodeJs, avec à chaque fois 12 clients: Un client NodeJs sans certificats SSL - strictSSL à false Un client NodeJs sans certificats SSL - strictSSL à true Un client NodeJs avec un certificat SSL client non fiable - strictSSL à false Un client NodeJs avec un certificat SSL client non fiable - strictSSL à true Un client NodeJs avec un certificat SSL server non fiable - strictSSL à false Un client NodeJs avec un certificat SSL server non fiable - strictSSL à true Un client NodeJs avec un certificat SSL client fiable - strictSSL à false Un client NodeJs avec un certificat SSL client fiable - strictSSL à true Un client NodeJs avec un certificat SSL serveur fiable - strictSSL à false...