31.05.2006

La grande réconciliation

Il est grand temps.

Je dois maintenant me réconcilier avec notre ami à tous, le JavaScript. Ce qu'on appelle désormais le Web 2.0, est maintenant dans l'antichambre du développement d'application web. Les sites web vont offrir, de plus en plus, des expériences riches et remplies de tous les gizmos que vous pourrez trouver dans une application desktop (Vous avez entendu parler d'AJAX?). Pis encore, les clients vont arriver dans nos bureaux, les yeux complètements exorbités de plaisir par ce qu'un designer a pu leur montrer, en nous disant: "Putain de merde je VEUX ceci sur mon site!!". De 2 choses, l'une, ce qu'il demande n'est vraiment pas applicable pour son site (*soupir*), alors on devra le consoler et le reconduire chez lui; ou encore, il nous faudra le faire, et là ça pourrait faire mal: on se devra de connaître le JavaScript.

Le JavaScript est, pour ceux qui ne connaissent pas, ce langage dynamique, interprété, dont la machine virtuelle est inclue dans tous les fureteurs sérieux du monde moderne. Certains le confondent avec Java, avec qui il n'a de commun qu'une bonne partie de la syntaxe. Pour le reste, ce sont 2 univers différents. S'exécutant dans le fureteur, ce langage sert principalement à interagir avec le DOM (Document Object Model), qui est une représentation logique de la page web que vous avez demandé, et qui vous est présentée.

Pourquoi le titre de cette note parle de réconciliation? C'est que ce diable de JavaScript a mauvaise réputation. Lorsqu'on dit «JavaScript» à un néophyte, il dira: "Bordel! Ces pop-up qui empoisonnent tous les sites pornos!!". Un érudit de la programmation dira, lui: "pff! De la merde, oui! Langage poche non-typé, et ce n'est même pas cohérent d'un fureteur à un autre!". Bon, ces personnages ont raisons tous les 2. À la défense de JavaScript, je dépose certains arguments. Tout d'abord, la question des pop-up (et autres irritants dérivés) est dû à une mauvaise utilisation du langage et de ses fonctionnalités. Ce problème se règlera de lui-même car la nouvelle popularité de cette technologie va attirer de meilleurs designers, et l'importance que JavaScript prendra dorénavant dans une application web fera en sorte qu'une attention particulière sera portée à ce que l'on fait avec. Ensuite, pour réfuter les arguments de l'érudit, de un, l'organisme webstandards.org et le W3C ont standardisé le DOM, ce qui permet une utilisation quasi-universelle d'un fureteur à un autre (en autant que ce fureteur s'attarde à implanter les standards). De deux, langage poche et non-typé, c'est vrai ... mais c'est un langage de script, faut-il s'attendre à la richesse et la lourdeur d'un langage compilé classique?

Voilà donc. Et là, je n'ai pas encore parlé de la puissance d'AJAX (LE buzzword par excellence de la conférence JavaOne 2006). Mais si je parle de cela aujourd'hui, c'est que j'ai décidé de m'y mettre. Apprendre le JavaScript correctement en ayant une attitude nouvelle, voilà la tâche que je me suis assigné. Pour y arriver, je me suis tracé un chemin (de croix? nan! attitude nouvelle!) d'apprentissage vers l'intégration de cette technologie dans mon travail de développeur d'application web. Je me fais donner un coup de main par 3 bouquins, qui constituent autant d'étapes vers mon but:


  • Étape 1 - DOM Scripting
    Ici je réapprends le JavaScript autrement.

  • Étape 2 - AJAX in Action
    Notions de base, compréhension, et exemples de cette utilisation particulière de JavaScript.

  • Étape 3 - Pro JSF and AJAX
    Une fois que je connais mon JavaScript, je sais comment parler au serveur en mode asynchrone (AJAX), me reste qu'à enrober tout cela dans des composants JSF, déployable dans une application web de classe entreprise, c'est mon métier après tout.


J'ai la ferme conviction que le côté présentation des applications web est en mouvement ces jours-ci. Et je trouve cette mouvance vachement excitante. C'est un peu ce qu'on reprochait au web: son manque de richesse au niveau de l'interactivité, c'est-à-dire cette même ritournelle de toujours faire un round-trip au serveur et, ensuite, rafraichir la page.

Et si tout ceci n'est que feu de paille, je me serai, quand même, bien amusé entre-temps ... mais j'en doute!

JS. ( <-- JavaScript ... la pognez-vous? hehehe ... drôle)

Spécification du DOM par le W3C
webstandards.org (organisme de propagande des nouveaux standards du web)

21.03.2006

JEdit

medium_made-with-jedit-9.pngCes jours ci je me suis lancé une mission: nettoyer mon ordinateur de tous les logiciels que je n'ai pas payé! Impossible me direz vous? Pas si sûr. Contrairement à ce que plusieurs pourrait penser, ce qui m'a causé le plus de problèmes est ce petit éditeur de texte que l'on se sert pour tout et rien. Vous savez un genre de Notepad, mais en mieux. J'avais toujours utilisé jusqu'à aujourd'hui Editplus, duquel j'avais un keygen qui me permettait une utilisation complète pour un coût, ma foi, fort inexistant (je sais, je sais ...). En plus, pour ajouter à la honte, Editplus ne coûtait que 30$ US. Pour l'utilisation massive que j'en faisait, j'aurais saprement dû plonger dans ma poche pour encourager les braves qui sont allé au front en compétitionnant le très monopolistique Notepad.

Mais qu'est ce qui faisait d'Editplus un outil tant chéri? Une floppée de fonctions toutes les plus utiles les unes que les autres. Comme:


  1. permettre l'ouverture de plusieurs fichiers

  2. reconnaissance couleur de la syntaxe de plusieurs langages de programmation

  3. enregistrement de macros pour automatiser des tâches éreintantes

  4. configuration d'outils externes, compilateur java par exemple

  5. fonctionnalité de recherche avancée, incluant un interpréteur d'expressions régulières

  6. intégration au shell de Windows XP dans le menu contextuel (right-click menu pour les franglais)

  7. Un fureteur HTML intégré qui permet de visualiser rapidement un document HTML


... Et j'en passe. Mais maintenant, au lieu de payer pour toutes ces années de loyaux services, j'ai décidé de changer. Mais changer pour moins efficace n'était pas une option. Je suis tombé sur un superbe outil du nom de JEdit. Il me fournit toutes les fonctionnalitées de mon précédent ami, mais en plus il est gratuit. C'est un logiciel développé en java, donc ++ on le retrouvera sur tous les types de systèmes d'exploitation, mais -- étant interprété, il est moins rapide qu'un Editplus compilé en natif. Qu'à cela ne tienne, je me lance! Je désinstalle Editplus, j'installe JEdit (le site web aussi me semble prendre tout son temps, à moins que cela soit attribuable à une nouvelle folie créée par cet article). Premières impressions, je suis pleinement satisfait. Mon choix me semble être le bon, parce que bien que la lenteur soit perceptible, sur un ordinateur rapide et bien barraqué cette lenteur s'avère acceptable compte tenu du fait de la gratuité du truc.

Si des gens ont meilleur à proposer, je vous écoute. En attendant, je m'amuse bien à configurer ce nouvel éditeur et à le mettre à ma main. Gageons que même si vous me trouvez autre chose, j'aurai mis tellement de temps à glander avec JEdit, qu'il me sera fort improductif de le balancer par la fenêtre.

JS.

http://www.editplus.com
http://www.jedit.org
Pour ceux qui voudrait en savoir plus sur Notepad