En 2005, le dé­ve­lop­peur Valerio Proietti a publié sous le nom Moo.fx. un add-on pour Prototype, ancien leader des fra­me­works Ja­vaS­cript. Déçu des pos­si­bi­li­tés de Prototype, il décide donc de dé­ve­lop­per son propre framework qu’il lance fi­na­le­ment en décembre 2006 (version 0.87) avec une licence libre MIT sous le nom de MooTools (de l’anglais My Object Oriented Tools). Aujourd’hui une équipe de plus de 20 dé­ve­lop­peurs et con­cep­teurs sont engagés dans le dé­ve­lop­pe­ment de ce framework Ja­vaS­cript. D’après w3techs.com 3,1 pourcent des uti­li­sa­teurs (Janvier 2017) utilisent MooTools comme outil pour les projets Web, loin derrière les leaders du marché que sont Bootstrap et JQuery, les deux outils de Ja­vaS­cript les plus po­pu­laires dans le monde.

Qu’est-ce que MooTools ?

Le framework MooTools est un outil compact et modulable dédié à Ja­vaS­cript pour les dé­ve­lop­peurs aguerries et pro­fes­sion­nels de Ja­vaS­cript. Doté d’une interface de pro­gram­ma­tion (API, de l’anglais Ap­pli­ca­tion Pro­gram­ming Interface) élégante et bien do­cu­men­tée et d’une forte orien­ta­tion objet, il se distingue par ses pos­si­bi­li­tés d’ap­pli­ca­tions flexibles. Ce framework fournit diverses classes et fonctions dis­po­nibles pour aider un dé­ve­lop­peur dans la pro­gram­ma­tion et la con­cep­tion de projets Web modernes : cet outil permet en effet de sim­pli­fier con­si­dé­ra­ble­ment le processus de création. Grace à une cons­truc­tion modulable, le framework est fa­ci­le­ment ex­ten­sible. De plus, l’uti­li­sa­teur a la pos­si­bi­lité d’inclure des com­po­sants spé­ci­fiques dont il a besoin, c’est pourquoi les ap­pli­ca­tions de MooTools disposent d’un haut degré de clarté et de compacité.

Aperçu des prin­ci­paux com­po­sants du framework MooTools

Con­trai­re­ment à un Ja­vaS­cript ordinaire (basé sur Prototype), MooTools est construit avec un système d’ar­chi­tec­ture de classes servant de base pour une pro­gram­ma­tion orientée objet et affiliée à la base pour tous les com­po­sants du framework. Ce système permet ainsi non seulement une ex­ten­si­bi­lité facile mais aussi une pos­si­bi­lité d’écriture du code source mo­di­fiable et flexible. Grâce à ces classes pré­dé­fi­nies et mo­di­fiables, il est possible de réaliser en même temps et ra­pi­de­ment des objets, plugin, éléments HTML, requêtes Ajax etc. Les com­po­sants ci-dessous peuvent aider à améliorer MooTools Ja­vaS­cript :

  • Core : MooTools Core est le cœur du framework Ja­vaS­cript sur lequel tous les com­po­sants sont cons­truits. En plus de la mise en place du concept de classe, Core fournit aussi des fonctions auxi­liaires générales.
  • More : MooTools More est la col­lec­tion of­fi­cielle d’add-ons du framework. Il comporte plusieurs amé­lio­ra­tions qui sim­pli­fient le processus de dé­ve­lop­pent et l’ajout d’autres ca­rac­té­ris­tiques.
  • Class : Le composant Class est la librairie de base pour l’ins­tan­cia­tion d’objets de classes qui sont réu­ti­li­sables et mo­di­fiables.
  • Element : Un composant très important, en effet il contient de nom­breuses amé­lio­ra­tions et une stan­dar­di­sa­tion de comp­ta­bi­lité à l’objet HTML Element. Il contient aussi les fonctions $ et $$.
  • Fx : Modules d’effets qui servent de base à l’animation des éléments de page. Ainsi utiles à la réa­li­sa­tion de dé­fi­le­ment, de sliding et d’autres effets.
  • JSON : Module pour le codage et le décodage des séquences au format JSON (JavaScript Object Notation).

Un module travaille souvent en coo­pé­ra­tion avec un autre module, c’est pourquoi le module Fx. CSS exige d’avoir installé préa­la­ble­ment le module Fx. En général, vous pouvez dans la section de té­lé­char­ge­ment connaitre pré­ci­sé­ment quels com­po­sants sont né­ces­saires pour vous et ainsi té­lé­char­ger de manière per­son­na­li­sée les modules adaptés pour votre framework. Vous pouvez les trouver sous Core et More. Il est également possible de té­lé­char­ger le package de base complet avec toutes les ex­ten­sions dis­po­nibles.

Un bel aperçu du fonc­tion­ne­ment des com­po­sants de MootTools est dis­po­nible avec une dé­mons­tra­tion réalisée par l’équipe de dé­ve­lop­pe­ment de MootTools sur aryweb.nl. Vous y trouverez une pré­sen­ta­tion visuelle des fonctions, effets et formules drag-and-drop (ou glisser-déposer en français), mais aussi avoir un aperçu des lignes de code HTML et CSS pour MooTools Ja­vaS­cript.

MooTools : Ja­vaS­cript comme outil de dé­ve­lop­pe­ment

Dans le milieu des années 90 les éléments dy­na­miques font leur entrée dans le projet du World Wide Web. L’em­pla­ce­ment d’exécution du code source a de plus en plus été déplacé vers le client ou le na­vi­ga­teur. Ini­tia­le­ment l’applet Java était uti­li­sable pour tous les langages. Comme al­ter­na­tive à ce petit programme, l’in­for­ma­ti­cien Brendan Eich développe le langage Ja­vaS­cript Live en 1995 pour le na­vi­ga­teur Netscape 2.0. Les grandes dif­fé­rences entre les deux langages repose d’abord sur le fait que les classes Ja­vaS­cript se subs­ti­tuent aux pro­to­types et ensuite que les lignes de code de pro­gram­ma­tion ne sont pas détachées du code HTML, mais sont di­rec­te­ment mises en œuvre, ce qui est toujours valable jusqu’à main­te­nant.

Ainsi Ja­vaS­cript comme langage de na­vi­ga­teur est devenu le premier con­cur­rent de l’applet Java. Cependant la véritable percée, en parallèle avec le Web 2.0 est liée au dé­ve­lop­pe­ment des na­vi­ga­teurs Web et de l’interface DOM à partir de 2005. Il était tout d’un coup possible de té­lé­char­ger le contenu en arrière-plan en utilisant Ja­vaS­cript et de créer les premières in­ter­faces dy­na­miques dans le na­vi­ga­teur sans add-on et ainsi le besoin constant de com­mu­ni­ca­tion avec le serveur Web est apparu. Dif­fé­rentes bi­blio­thèques et fra­me­works Ja­vaS­cript furent lancés et Ja­vaS­cript au fil de la décennie est ainsi devenu la langue de script la plus largement utilisée pour le dé­ve­lop­pe­ment Web. Dans le même temps, le dé­ve­lop­pe­ment des sites Web est devenu gé­né­ra­le­ment de plus en plus complexe avec un facteur élevé d’in­te­rac­ti­vité. Ce qui a rendu les fra­me­works Ja­vaS­cript comme MooTools, des outils encore plus im­por­tants pour la pro­gram­ma­tion de nouveaux projets Web. Depuis plusieurs années, le langage script est aussi en uti­li­sa­tion du côté serveur.

Pour quel projet le framework MootTools est-il adapté ?

Aujourd’hui, con­trai­re­ment aux sites Web clas­siques et statiques, les éléments in­te­rac­tifs sont devenus une évidence comme tout ce qui peut charmer les uti­li­sa­teurs en créant des concepts innovants et con­vi­viaux. Le temps de char­ge­ment joue également un rôle important, ce qui est en grande partie dépendant de la fréquence avec laquelle l’ap­pli­ca­tion Web accède au serveur pour gérer les demandes entrantes du na­vi­ga­teur. Une raison de l’uti­li­sa­tion gran­dis­sante de framework Ja­vaS­cript comme MooTools est la mul­ti­pli­ca­tion de la mise en œuvre de sites avec une ap­pli­ca­tion Web monopage ou Onepager. Ceci permet en effet d’avoir un site internet qui se compose d’un seul document HTML, le but est ainsi d’éviter le char­ge­ment d’une nouvelle page à chaque action demandée ce qui permet de flui­di­fier et de rendre bien plus agréable l’ex­pé­rience uti­li­sa­teur.

Une nouvelle tendance par­ti­cu­liè­re­ment populaire aujourd’hui est l’uti­li­sa­tion du Sto­ry­tel­ling pour présenter l’in­for­ma­tion d’un site Internet en utilisant donc des éléments in­te­rac­tifs sous la forme d’une petite histoire. Pour une pré­sen­ta­tion avec une ap­pli­ca­tion Web monopage, peu de données avec le serveur Web sont échangées, four­nis­sant une grande per­for­mance générale. Grace au soutien des ap­pli­ca­tions de MooTools Ja­vaS­cript, la plate-forme et les dif­fé­rents na­vi­ga­teurs fonc­tion­nent sans problème.

Avantages et in­con­vé­nients de l’ar­chi­tec­ture Ja­vaS­cript

Avec Ja­vaS­cript comme langage de pro­gram­ma­tion, le framework MootTools est donc bien adapté. De nom­breuses al­ter­na­tives réussies comme par exemple Angular JS ou ember.js montrent bien la forte demande de framework Ja­vaS­cript. Le langage de script est un standard in­con­testé du Web et prend en charge tous les prin­ci­paux na­vi­ga­teurs, il est enfin idéal pour la réa­li­sa­tion de com­po­sants in­te­rac­tifs de sites Web. Pour chaque dé­ve­lop­peur un langage doit lo­gi­que­ment faire partie d’un ré­per­toire à part entière même quand par exemple un système de classes par héritage est manquant. MooTools élimine ce programme et simplifie la pro­gram­ma­tion des éléments ré­cur­rents.

Pour le visiteur du projet Web, l’accent mis sur la réa­li­sa­tion du code source généré du côté client est avan­ta­geux à première vue : en effet les éléments Ja­vaS­cript per­met­tent une in­te­rac­ti­vité forte et une très bonne vitesse de char­ge­ment de la page. Mais compiler le code avec l’ap­pli­ca­tion MooTools qui relève prin­ci­pa­le­ment du côté client, comporte aussi des risques. Cela peut parfois conduire en effet à une dé­gra­da­tion des per­for­mances et même au crash du site lorsque le visiteur possède un appareil peu puissant. Il s’agit alors notamment des appareils mobiles comme les smart­phones. En outre avec certains smart­phones il peut se produire des com­pli­ca­tions liées à des com­po­sants spé­ci­fiques à l’appareil comme l’uti­li­sa­tion de l’écran tactile ou la relative petite taille de l’écran, ce qui n’est pas ou peu testé à l’avance.

Parce-que l’exécution de code contient toujours le risque d’une attaque externe (Tracking, Pishing, etc.), c’est donc toujours un risque pour l’uti­li­sa­teur quand le site Internet est ca­rac­té­risé par une pro­gram­ma­tion du côté client. C’est pour cette raison qu’une partie des visiteurs aujourd’hui utilisent des bloqueurs de script comme NoScript ou JS qui bloquent Ja­vaS­cript et outils. Il est donc important de prêter attention à la sécurité de votre ap­pli­ca­tion Web MooTools afin de créer une confiance entre vous et les visiteurs de votre projet Web.

Uti­li­sa­tion ju­di­cieuse de Ja­vaS­cript : MooTools

MooTools développe une approche orientée objet et amplifie le célèbre langage Web de script pour l’ajuster et réemploi les classes comme par exemple pour Java ou PHP. Avec l’emploi de ce framework vous pouvez augmenter énor­mé­ment l’ef­fi­ca­cité de la mise en œuvre de la pro­gram­ma­tion de Ja­vaS­cript.

La con­cep­tion complète des ap­pli­ca­tions avec MooTools est possible, mais ceci n’est pas né­ces­sai­re­ment adapté à tout type de projet. Même si les nouveaux effets, ani­ma­tions et les com­po­sants AJAX sont de plus en plus im­por­tants dans le dé­ve­lop­pe­ment moderne du Web, il faut cependant s’assurer de la meilleure ex­pé­rience uti­li­sa­teur possible pour votre projet Web. Pour cela, MooTools et Ja­vaS­cript sont des ex­cel­lents outils mais à utiliser avec un bon dosage afin de garder votre projet Internet ac­ces­sible au plus grand nombre d’uti­li­sa­teurs, notamment pour ceux qui utilisent un support moins per­for­mant et robuste, comme certains smart­phones.

Aller au menu principal