Les bibliothèques de développement incluses dans Joomla

Au fil de son évolution, Joomla! intégre de nombreuses bibliothèques facilitant le travail des développeurs pour doter le CMS de nombreuses fonctionnalités.

Ces biliothèques garantissent qu’il n’y aura pas de conflits entre les différents plugins, modules ou composants développés.

Trop souvent encore des extensions mal développées n’utilisent pas ces bibliothèques mais les chargent avec elles, provoquant des risques parfois critiques d’erreurs, de conflits mais qui dans tous les cas ralentissent les performances du site.

En ouvrant le capot de Joomla, on découvre de nombreuses bibliothèques facilitant le travail des développeurs pour doter le CMS Opensource de nombreuses fonctionnalités supplémentaires.

Ces biliothèques garantissent qu’il n’y aura pas de conflits entre les différents plugins, modules ou composants développés les utilisants.

Malheureusement, trop souvent encore des extensions mal développées n’utilisent pas ces bibliothèques mais les chargent avec elles, provoquant des risques parfois critiques d’erreurs, de conflits mais qui dans tous les cas ralentissent les performances du site.

Voici la liste, présente dans la version Joomla 3.2 des libraries disponibles pour étendre Joomla.

Les bibliothèques Javascript

Mootools et Mootools More
Framework javascript compact, historique depuis la version 1.5 de Joomla, il peut être désactivé facilement dans les templates
jQuery et jQuery UI (Core, Widget, Mouse, Position, and Sortable)
Framework javascript compact, très largement répandu
Bootstrap
Frame CSS et javascript, optimisé pour le Responsive Web Design

Les bibliothèques PHP

Simple Pie – Remplacée par JFeed
Bibliothèque de génération des flux RSS
PHP Mailer
Moteur d’envoi d’email
PHP UTF-8
Permet l’internationalisation des contenus avec l’encodage UTF8 des caractères
IDNA Convert
Permet l’internationalisation des noms de domaines avec l’encodage UTF8 des caractères
FOF
Permet le développement rapide d’applications
Password Compat
Compatibilité des mots de passe
Captcha
Permet la protection des formulaires en utilisant le service Recaptcha
LDAP
Permet la connection aux services d’annuaires sur un serveur. Utilisée pour le développement d’un Intranet basé sous Joomla
Midrodatas
Permet l’implémentation facilité des extraits enrichis
Facebook
Permet le développement d’extensions intégrant Facebook
Github
Permet de développer en mode collaboratif en utilisant la plateforme Github
Google
Permet le développement d’extensions intégrant Google+
Keychain
Permet la gestion des clés publiques et clés privées pour les connexions à des services externes
Linkedin
Permet le développement d’extensions intégrant Linkedin
Mediawiki
Permet le SSO entre Joomla! et Mediawiki
OAuth1 et OAuth2
Permet le développement d’extensions connectées à des plateformes utilisant ces protocoles
Openstreet Map
Permet d’intégrer dans Joomla! les cartes interactives OpenStreetMap
Twitter
Permet le développement d’extensions intégrant Twitter
DI Container
Modifie la gestion des dépendances de classes à l’instar du Symfony2

Toutes ces bibliothèques rendent Joomla! indiscutablement à la hauteur des plus performants CMS.

Sur la base de Joomla! et de ses multiples bibliothèques, il est possible de développer des applications web modernes, riches, sécurisées et s’intégrant à de très nombreux services externes.