Animation

JSTweener est une librairie de gestion des transitions (tween en anglais) basé sur la classe Tweener utilisée dans le code ActionScript de Flash.

$fx() est une librairie JavaScript légère (moins de 4Ko) d'animation d'éléments HTML. Elle vous permet de modifier n'importe qu'elle propriété CSS progressivement avec un paramétrage simple. Vous pouvez aussi combiner les effets en les enchainant ou en les synchronisant. Enfin, de nombreux callbacks vous offrent beaucoup de liberté dans la gestion de vos effets.

Cette librairie vous offre beaucoup de possibilités pour améliorer leur page Facebook avec juste une ou deux lignes de code. Toutes les animations sont basées sur les CSS, donc une bonne connaissance de CSS est utile.
A noter qu'il existe une version open-source fonctionnant en dehors de Facebook.

Audio / Vidéo

SoundManager importe et améliore l'API Sound de Flash et la rend disponible en JavaScript. La portion Flash est cachée et donc invisible, que ce soit pour le développeur ou l'utilisateur.

L'API JavaScript de Flowplayer vous permet de contrôler facilement et efficacement une ou plusieurs instances de Flowplayer dans une page HTML.
Flowplayer se compose de deux parties : l'objet SWF Flowplayer, inclue dans un objet Flash et une librairie JavaScript qui transforme les instructions simples de l'API en interaction plus complexe avec l'objet SWF (qui contrôle l'objet Flash).

Cookies

Cette librairie vous permet de récupérer et de manipuler les cookies HTTP dans le navigateur. Vous pouvez récupérer un cookie ou une liste, en créer de nouveaux, en supprimer, tester si le navigateur les accepte... Le framework jQuery n'est pas nécessaire pour utiliser la librairie, mais sa présence ajoute des fonctionnalités, comme créer un cookie à chaque remplissage d'un champ de formulaire ou le remplissage automatique d'un formulaire avec les valeurs des cookies.

Un script simple et facile d'utilisation permettant la gestion des cookies.

Cryptographie

Une implémentation en JavaScript de l'algorithme MD5.

Bases de données

Taffy DB est une librairie AJAX libre. Compatible avec les principales librairies AJAX, ses principales fonctionnalités sont : une interface CRUD (Create, Read, Update, Delete), le tri, les boucles, la gestion de requêtes avancées, etc.

AciveRecord.js est un outil de mapping objet-relationnel compatible avec tous les navigateurs. Son vocabulaire est proche de celle d'ActiveRecord pour Ruby, mais en utilisant la syntaxe et les bonnes pratiques JavaScript. Il peut être utilisé à partir d'un mappage chargé en mémoire ou avec un environnement SQL sur une plateforme Jaxer (SQLite et MySQL), AIR d'Adobe (SQLite) ou Google Gears (SQLite).

Date / Heure

Cette librairie open-source vous permet de manipuler les dates et les heures facilement. Elle supporte plus de 150 formats et propose entre autres de fixer une date, de la parser, de la modifier, de faire des comparaisons, etc.

Débogage / Traçage

Firebug est probablement l'extension de débogage la plus populaire de Firefox. Firebug Lite est l'alternative pour tester ses pages sur Internet Explorer, Opera et Safari. Il s'agit d'un script JavaScript à inclure pour obtenir certaines fonctionnalités de Firebug.

Utilitaire de traçage open-source. Il vous permet, à travers une console assez réussie, d'afficher différents messages de débogage.

NitobiBug est un outil d'accès aux objets JavaScript basé sur le navigateur (similaire à Firebug). Il peut être utilisé dans différents navigateurs (IE6+, Safari, Opera, Firefox) et offre un outil stable et puissant pour développer des applications AJAX riches.

Polices / Texte / Typographie

strokeText.js est une librairie non intrusive fonctionnant avec les principaux navigateurs (Firefox 1.5 +, IE6 +, Opera 9 +, et Safari). La librairie propose une API d'écriture de texte pour Canvas et VML. La police intégrée sans serif est adaptée au SVG pour un rendu identique.

Cette librairie vous permet d'intégrer vos polices afin d'éviter d'avoir à les afficher sous forme d'images. Au lieu d'utiliser une image ou du Flash pour afficher vos polices, utilisez typeface.js et écrivez votre code HTML / CSS comme si vos visiteurs avaient la police installée.

Remplacement rapide de texte à l'aide de Canvas et VML. Pas besoin de Flash ni d'images.

Coupe automatiquement les mots en fin de ligne sur votre site, ou sur tous les sites si vous l'utilisez en plugin.

Validation de formulaire

Cette librairie open-source légère vous permet d'effectuer des validations de champs de formulaire facilement et efficacement. Deux versions sont disponibles : une basée sur le framework Prototype et une autonome.

Librairie non intrusive qui offre toutes les validations usuelles de formulaires sans avoir besoin de connaissances en programmation.

Validanguage est une librairie open-source, non intrusive à gestion d'héritage, développée pour devenir le framework de validation de formulaires de référence.

Flash

SWFObject est une librairie facile d'emploi et respectant les standards pour intégrer du contenu Flash, elle utilise un script JavaScript très léger.

Une librairie compatible pour IE et Firefox qui rend disponible l'API Flash depuis vos scripts JavaScript. Du fait de la similarité des deux langages, coder du Flash en JavaScript est étonnamment facile. En plus de cela, les performances semblent être particulièrement satisfaisantes.

Une librairie qui permet d'utiliser pleinement le moteur d'exécution d'Adobe Flash 8.

Graphiques / Diagrammes

Une librairie d'affichage de diagrammes. Elle supporte les canvas HTML, mais aussi le SVG avec Adobe SVG Viewer ou le support natif des navigateurs.

Une librairie libre qui vous permet de créer des graphiques variés sous différentes formes, barres, camemberts, linéaires. Il vous suffit d'ajouter le fichier jscharts.js, d'intégrer vos données en XML ou dans un tableau JavaScript et ça s'affiche !

  • Flot (nécessite jQuery)

Une librairie d'affichage de données pour jQuery. Affiche graphiquement vos données à la volée. Flot fonctionne avec IE6+, Firefox 2+, Safari 3+, Opera 9.5+ et Konqueror 4+.

Voir un tutoriel : Visualisation professionnelle de vos données avec Flot et jQuery

Tables HTML

Cette librairie vous permet de rendre vos tables HTML triables. Elle est non intrusive (utilisation du DOM) et peut trier selon beaucoup de formats.

Vous permet de trier une table HTML par drag and drop (glisser / déplacer).

Une librairie de gestion du clavier et de la délégation d'événements pour vos tables HTML. Vous pouvez manier vos tables presque comme avec Excel pour les éditer par exemple.

Gestion des images / Visualisation / Dessin

Processing.js utilise JavaScript pour dessiner des formes et manipuler des images grâce à l'élément canvas du HTML 5. Le code est léger et simple à utiliser. Un outil idéal pour visualiser des données, créer des interfaces utilisateur et développer des jeux pour le Web.

Cette librairie va vous simplifier le travail sur les graphiques vectoriels pour le Web. Elle utilise les formats SVG et VML pour créer des graphiques. Elle est compatible pour Firefox 3.0+, Safari 3.0+, Opera 9.5+ et Internet Explorer 6.0+.

Cette librairie vous permet d'effectuer différentes actions sur les images avec un peu de JavaScript. Les effets disponibles comprennent : la désaturation/niveaux de gris, l'inversion, la rotation, l'ajustement de la luminosité et du contraste, le recadrage et bien d'autres.

Une librairie de graphique vectorielle très performante. Dessinez des lignes, des cercles, des ellipses, des lignes brisées, des polygones, des rectangles...

Ajoutez des reflets sur les images de vos pages. Du JavaScript non intrusif qui vous permet de garder votre code propre. Compatible avec les principaux navigateurs : Internet Explorer 5.5+, Firefox 1.5+, Safari, Chrome et Opera 9+. Sur les navigateurs plus anciens, le code utilise le principe de dégradation élégante, ainsi, vos visiteurs ne se rendront compte de rien. Tout cela en moins de 5ko !

Les librairies CVI utilisent du code non intrusif et sont compatibles avec les principaux navigateurs : Firefox 1.5+, Opera 9+, Internet Explorer 6+ et Safari. Les scripts sont fournis sous licence Netzgestade Software License Agreement. La licence permet l'utilisation pour des sites privés ou non commerciaux. Il existe aussi des licences commerciales. Les librairies incluses sont : bevel.js, corner.js, curl.js, edge.js, filmed.js, glossy.js, instant.js, reflex.js, shiftzoom.js, snapfit.js, slided.js, sphere.js.

Une librairie multi navigateurs qui ajoute le drag'n'drop et d'autres fonctionnalités DHTML à vos calques et images.

Les dernières versions des navigateurs Firefox, Safari, Chrome et Opera supportent la balise HTML5 <canvas> pour permettre l'utilisation de commandes de dessin 2D. ExplorerCanvas apporte les mêmes fonctionnalités pour Internet Explorer. Pour l'utiliser, vous n'avez qu'à placer un simple script sur vos pages existantes.

Fourni aux développeurs un ensemble de classes pour rendre le développement 3D plus accessible sans pour autant avoir à étudier en profondeur les mathématiques 3D. Nécessite un navigateur supportant Canvas 3D (Firefox 3.5+).

Librairie graphique open-source de dessin avancé. Dessinez des courbes de Bézier cubiques ou générales et des courbes ouvertes ou fermées en passant par des points donnés. Ne nécessite ni framework, ni plugin, ni SVG ni VML.

Clavier

Facilite l'ajout de raccourcis claviers à votre application JavaScript.

Une classe JavaScript de gestion de la navigation au clavier pour les widgets AJAX.

Cartes

Mapstraction est une librairie qui fourni une API commune pour différents services de cartographie, permettant de passer facilement de l'une à l'autre. Vous n'avez à programmer qu'une seule application, puis passer d'un prestataire à l'autre en fonction de vos besoins.

Maths

Librairie JavaScript de calcul vectoriel et matriciel qui vous évite de multiplier les boucles et la gestion de tableaux complexes. Comprend des classes de gestion de vecteurs et matrices de dimensions quelconques et de modélisation de lignes et plans dans l'espace. Vous permet d'écrire du code orienté objet facile à lire et représentatif de l'objet mathématique qu'il utilise.

Expressions régulières

Cette librairie ajoute des fonctionnalités aux expressions régulières natives, compatible tous navigateurs, incluant des fonctions de remplacement et une syntaxe améliorée. Diverses méthodes utiles et une puissante méthode de construction récursives sont aussi présentes.

Cette librairie vous permet le chaînage des résultats d'expressions régulières vous permettant une recherche itérative.

URL

Cette librairie facilite la construction et la décomposition des URL en tenant compte de leurs divers éléments. La librairie crée un objet URL depuis une chaîne de caractères ou window.location. Toutes les parties sont manipulables et l'URL peut être facilement reconstruite.

Ce script prend en argument un tableau de paramètres et retourne la chaîne encodée au format UED. Cette chaîne peut alors être envoyée par POST ou GET.

Divers

Une librairie qui vous sera utile pour toutes les tâches habituelles en JavaScript : pop-up, onglets, infobulles, césure, présentation de listes etc. Tout ça sans avoir à apprendre JavaScript. Si vous connaissez déjà la syntaxe CSS, c'est l'outil qu'il vous faut.

Une librairie très utile pour utiliser les dernières normes du Web (CSS 3, HTML 5) tout en prenant en compte les navigateurs plus anciens.

Une librairie qui permet à IE7 de se comporter selon les standards. Elle règle les différences d'interprétation HTML et CSS et gère la transparence des images PNG pour IE6-.

Un moteur de sélection d'éléments selon la syntaxe CSS facilement intégrable dans un librairie tierce. Cette librairie supporte quasiment tous les sélecteurs CSS3, y compris des formes peu usuelles (comme ".foo\+bar" par exemple) et retourne le résultat selon l'ordre du document.

Une librairie de création de coins arrondis, principalement utile pour IE.

Une librairie de gestion des images PNG pour IE6. Les PNG peuvent être intégrés soit dans une balise <img \> soit dans une propriété CSS background-image, dans ce cas, les propriétés additionnelles de position et répétition sont correctement prises en compte.

Cette librairie vous permet de déterminer quels réseaux sociaux sont utilisés par vos visiteurs.

Une librairie de coloration syntaxique pour les exemples de code sur vos sites.

Une librairie qui porte en JavaScript certaines fonctions PHP usuelles. En incluant cette librairie, vous pourrez utiliser côté client vos fonctions PHP préférées. Très utile pour les développeurs PHP confrontés à l'émergence des besoins côté client.

Propositions des lecteurs de cet article

LINQ est une fonctionnalité du framework .NET 3.5 qui permet de faire des requêtes sur les données avec une syntaxe inspirée de SQL.
LINQ to JavaScript (JSLinq) est une implémentation de LINQ pour les objets JavaScript. Elle est construite en ajoutant des méthodes sur l'objet JavaScript Array. Si vous utilisez des tableaux, vous pouvez utiliser JSLinq.

Functionnal est une librairie facilitant la programmation fonctionnelle en JavaScript. Elle définit des fonctions globales telles que map, reduce (ou foldl) et select (ou filter). Elle ajoute aussi des fonctions comme curry, rcurry, partial (application partielle d'une fonction), compose, guard et until. Toutes ces fonctions acceptent des chaînes pour argument, par exemple 'x -> x+1', 'x+1' ou '+1' pour remplacer le verbeux function(x){return x + 1;}.

CurvyCorners est une librairie JavaScript gratuite permettant d'ajouter des coins arrondis à vos éléments HTML de type block. Elle prend en charge l'anti-aliasing, les bordures et les images de fond (background-image).

Conclusion et remerciements

J'espère que ces librairies sauront vous aider et vous simplifier le développement JavaScript.
J'ai essayé de rendre cette liste la plus complète possible, cependant, si vous connaissez des librairies qui vous semblent manquer, n'hésitez pas à les proposer pour enrichir cet article.

Autres articles de la série :

Un grand merci à ram-000 pour sa relecture avisée et ses conseils précieux !