L’importance, pour un développeur web, de connaître le JavaScript

À quelques reprises, dans le passé, je me suis prononcé sur l’importance pour un développeur web de bien maîtriser tous les aspects qui sont reliés à la mise en place d’un site web. Il s’agit bien de faire preuve de polyvalence.

javascript_logo[1]En plus de cela, il faut bien bien être conscient de la direction que prend son environnement de développement. À l’époque, je mentionnais qu’il fallait remarquer que Microsoft prenait un solide penchant pour l’Open Source pour le développement web. Je ne me suis pas trompé vraiment. Surtout depuis l’annonce de l’ouverture du code de .NET la semaine dernière!

Ceci étant dit, loin de moi est la prétention d’être Nostradamus. Toutefois, s’il y a une tendance qui se confirme de plus en plus dans le développement web, c’est celle de l’importance de JavaScript dans ce domaine. JavaScript est passé, en quelques années, d’un langage permettant d’ajouter un extra à une page web à la mécanique permettant de faire fonctionner le web moderne.

Certains, comme Hanselman, pensent même que JavaScript est peu comme l’Assembleur du web. Je suis d’accord avec lui. Ces temps-ci, tout finit par être compilé ou adapté en JavaScript. Pensez notamment à l’impossible que edge.js permet de faire: exécuter du code .NET dans NodeJS et vice versa!

Ce que je veux dire ici c’est que JavaScript est un incontournable et il importe à tous les développeurs web d’en connaître les bases. Si vous ne connaissez pas JavaScript en 2014, vous manquez un bateau et vous prenez du retard.

Si ce n’est pas le cas, je connais des développeurs, comme vous, qui ont eu, eux aussi, de bonnes raisons de ne pas avoir eu à faire de JavaScript dans leur carrière. Alors, ne considérez pas ma dernière affirmation comme une tentative de jouer sur un sentiment de culpabilité.

Ce qu’il doit être appris

En écrivant ce billet, je me suis demandé la chose suivante: si j’avais à conseiller un camarade développeur sur ce qu’il devait regarder pour s’initier à JavaScript, qu’est-ce que je lui dirais de regarder en premier?

Faites l’exercice mental. Je vous le dis que ce n’est pas aussi facile que ça en a l’air. JavaScript est tellement omniprésent que ça rend le processus de sélection difficile sans vouloir traumatiser quelqu’un.

Toutefois, si j’avais à le faire, je me suis dit qu’un point de départ serait celui-ci:

Si vous voulez plus de French Coding, n’hésitez pas à liker la page Facebook ou de me suivre sur Twitter.

Les liens de la semaine – Édition #106

Développement

.NET

Technologie

Web

Science et autres

Extraire les données HTML de son compte Koodo avec NodeJS et CasperJS

Mon billet de la semaine dernière n’était pas un hasard. À temps perdu, j’ai travaillé sur un projet qui me trottait en tête depuis que je suis client du service prépayé de Koodo. Ce projet consiste à utiliser CasperJS afin d’aller y extraire les données d’utilisation de mon forfait prépayé.

La principale motivation de ceci est de me permettre d’avoir accès à mes statistiques d’utilisation autrement que par le site web de Koodo. Ce point est plus une question de préférence qu’un irritant. Il faut savoir que Koodo offre une application iOS pour ses clients afin de consulter les informations de leur compte. Cependant, elle n’est pas accessible pour les clients du prépayé.

De plus, en archivant les données de mon côté, l’objectif sera de développer mes propres statistiques d’utilisations. C’est vraiment plus cette raison qui me motive dans ce projet.

Bienvenue à FrenchCoding.KoodoJS!

Avant tout, je dois dire que j’ai manqué d’inspiration pour ce nom de projet. C’est tout ce qui m’est venu en tête!

KoodoJS est fabriqué avec quatre composants bien distincts:

  • Utilisation de CasperJS et PhantomJS pour aller récupérer les données d’utilisation de mon compte (koodo.js)
  • NodeJS, afin de récupérer les fichiers JSON générés par le script CasperJS et les déposer dans la base de données. (koodoWatch.js)
  • MongoDB, pour stocker les données.
  • Powershell et les tâches automatisées Windows pour exécuter le script CasperJS à intervalles réguliers. (casper-koodo.ps1)

Le fonctionnement de tout cela est bien simple. La tâche automatisée exécute CasperJS à intervalles réguliers afin de produire un fichier JSON avec les données provenant du site de Koodo. Ensuite, une application NodeJS attend le fichier nouvellement créé et l’insère dans une base de données MongoDB.

C’est tout! Pour l’instant… :)

Plans pour l’avenir

Vous en conviendrez probablement avec moi. Après la lecture de mon code source, KoodoJS fait un peu brouillon. Il s’agit de la première étape de quelque chose qui a un peu de potentiel.

Dans les changements que je veux apporter à KoodoJS, il y a ceux-ci:

  • Raffiner un peu le code en place
  • Rendre un API accessible par le web. Actuellement, c’est bien, mais les données sont enregistrées sur mon ordinateur personnel. Pas pratique!
  • Produire des statistiques sur l’historique de consommation. Par exemple:
    • Analyse du rythme de consommation des données et des minutes.
    • Graphiques des statistiques d’utilisation
    • Prévision de coûts pour le forfait prépayé selon l’historique de consommation

Ressources supplémentaires

Les liens de la semaine – Édition #105

Développement

.NET

Technologie

Web

Science et autres

Comment configurer PhantomJS et CasperJS sur un environnement Windows

Il y a de cela un bon moment que je me cherche une excuse pour m’initier au développement avec la librairie PhantomJS. Je me cherchais un projet à développer qui aurait une utilité pour mes besoins de Geek Alpha. Or, dernièrement, j’ai changé de fournisseur de téléphonie cellulaire pour le prépayé de Koodo.

Or, la seule façon d’avoir le solde de l’utilisation de son plan prépayé Koodo est de passer par le site libre-service de Koodo. Vous voyez là où je veux en venir? N’est-ce pas une belle occasion de s’initier à PhantomJS?

Qu’est-ce que PhantomJS?

Vous connaissez PhantomJS? Il s’agit d’une librairie vous permettant de contrôler une instance de l’engin WebKit à l’aide d’un riche API JavaScript. WebKit est l’engin qui propulse le rendu graphique de Safari notamment.

Ce qui est intéressant avec PhantomJS c’est la possibilité de manipuler des pages web avec les mêmes possibilités que le navigateur web que vous utilisez tous les jours. La principale utilité de PhantomJS c’est les possibilités d’automatisation de tests sur le rendu ou le fonctionnement d’un site web.

Pour vous donner une idée, le code suivant permet d’afficher dans une console le titre d’une page web.

CasperJS à la rescousse

CasperJS est une librairie permettant la bonification des fonctionnalités de scriptage ainsi que l’ajout de fonctionnalités permettant les tests unitaires de PhantomJS. CasperJS est un module complémentaire à PhantomJS.

Une image vaut mille mots. Le code suivant est l’équivalent de l’exemple précédent avec CasperJS.

Installer PhantomJS et CasperJS sur Windows

L’installation se divise en deux étapes. La première étant l’installation de PhantomJS et la seconde est l’installation de CasperJS.

PhantomJS

  1. Télécharger la plus récente version pour Windows sur la page de téléchargement sur le site de PhantomJS. https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.8-windows.zip est le lien vers la version la plus récente, pour les paresseux.
  2. Décompressez le contenu de l’archive dans le répertoire c:\phantomjs
  3. Exécutez la commande SET PATH=%PATH%;C:\phantomjs\ afin d’ajouter le répertoire dans votre chemin de commande.

CasperJS

Notez que les instructions sont assez similaires à celles de PhantomJS. En gras, la différence avec les étapes de PhantomJS.

  1. Télécharger la plus récente version pour Windows sur la page de téléchargement sur le site de CasperJS. https://github.com/n1k0/casperjs/zipball/1.1-beta3 est le lien vers la version la plus récente, pour les paresseux.
  2. Décompressez le contenu de l’archive dans le répertoire c:\casperjs
  3. Exécutez la commande SET PATH=%PATH%;C:\casperjs\bin afin d’ajouter le répertoire dans votre chemin de commande.

 

Une fois ces deux installations réalisées, il suffit de redémarrer votre ordinateur afin que les changements au PATH soient appliqués. Pour tester le bon fonctionnement de vos configurations, en ligne de commande, vous pouvez exécuter les commandes suivantes:

  • phantomjs
  • casperjs

Vous avez maintenant tout en main pour vous lancer dans le développement d’interactions programmées avec JavaScript grâce à ces deux librairies. Bonne chance dans vos projets! Pour ma part, je vais me lancer dans l’extraction des données de mon utilisation Koodo et l’enregistrement dans ces données dans MongoDB.

Vous aurez plus de détails très bientôt!

Si vous voulez plus de French Coding, n’hésitez pas à suivre la page Facebook ou de me suivre sur Twitter.

Suivre

Recevez les nouvelles publications par courriel.

Joignez-vous à 345 autres abonnés