- L’influence de jQuery sur le Web est indéniable
- Depuis sa première présentation en 2006, il est immédiatement devenu un outil de base pour les développeurs Web
- Il simplifie la manipulation des documents HTML, la gestion des événements, les animations, etc.
- Il a continué à jouer un rôle majeur dans l’évolution des standards du Web et des fonctionnalités des navigateurs
- Avec l’arrivée des frameworks JavaScript modernes, les développeurs qui choisissent jQuery pour de nouveaux projets sont moins nombreux, mais son usage reste encore très élevé à l’échelle mondiale
- Selon une analyse des résultats d’une enquête IDC, 90 % de l’ensemble des sites Web utilisent jQuery
- Parmi eux, environ un tiers utilisent une ancienne version
- L’équipe jQuery et la fondation OpenJS travaillent à résoudre ce problème dans le cadre de la campagne Healthy Web checkup
- Ce guide explique pourquoi il est important de maintenir jQuery à jour et accompagne le processus de mise à niveau
Pourquoi la mise à niveau de jQuery est importante pour la sécurité
- Vulnérabilités de sécurité
- La base de code de jQuery peut contenir diverses vulnérabilités, du XSS au RCE
- L’équipe jQuery fournit des correctifs et des mises à jour dès qu’elles sont découvertes
- Passer à la dernière version permet d’appliquer ces correctifs de sécurité et de réduire le risque d’exploitation par des attaquants
- Bonnes pratiques de sécurité
- Les nouvelles versions de jQuery intègrent des bonnes pratiques et des améliorations de sécurité pour atténuer les menaces courantes
- La mise à niveau permet d’adopter ces bonnes pratiques et de renforcer la posture de sécurité de l’application
- Exigences de conformité
- De nombreux secteurs et cadres réglementaires imposent de maintenir les logiciels à jour et de corriger rapidement les vulnérabilités connues
- Ne pas mettre à niveau jQuery pour résoudre des problèmes de sécurité peut entraîner une non-conformité à ces exigences
Support des navigateurs
- jQuery 1.x, 2.x et 3.x ont chacun une liste différente de navigateurs pris en charge
- Cependant, compte tenu de l’usage actuel du marché des navigateurs, les navigateurs pris en charge par jQuery 3.x, comme IE 9+, suffisent dans presque tous les cas
- jQuery 4.x continuera à prendre en charge IE11, même si Microsoft a annoncé la fin officielle du support
Comment mettre à niveau jQuery
- L’équipe jQuery propose le plugin jQuery Migrate afin de rendre la mise à niveau de jQuery aussi simple que possible
- Il s’agit d’un outil de développement qui génère dans la console du navigateur des messages d’avertissement pouvant être utilisés pour identifier et corriger les problèmes de compatibilité
- Il rétablit temporairement des fonctionnalités et comportements obsolètes afin que l’ancien code continue de fonctionner avec la nouvelle version de jQuery, tout en permettant de corriger les problèmes de compatibilité
- jQuery Migrate existe en deux versions, 1.x et 3.x (pas de 2.x)
- Une seule version doit être utilisée à la fois
- En cas de mise à niveau depuis une version antérieure à jQuery 1.9, il peut être nécessaire d’utiliser successivement les deux versions
- Par exemple, si la version actuelle de jQuery est 1.4.4
- il faut d’abord passer à jQuery 1.12.4 avec jQuery Migrate 1.x, puis
- utiliser jQuery Migrate 3.x pour passer à la dernière version de jQuery (actuellement 3.7.1)
- Si la version actuelle est 2.2.4, seul jQuery Migrate 3.x est nécessaire pour passer à la dernière version de jQuery
Comment utiliser jQuery Migrate
- Ajouter d’abord jQuery Migrate à la page après le chargement de jQuery
- Tester ensuite le site Web ou l’application
- Lors de l’utilisation de différentes API jQuery, jQuery Migrate enregistre dans la console des messages d’avertissement concernant les éléments obsolètes ou les changements majeurs
- Corriger chaque avertissement un par un
- Enfin, lorsqu’aucun avertissement n’est plus enregistré dans la console et que tous les changements majeurs ont été traités, supprimer jQuery Migrate : la migration est alors terminée
- Pour plus de détails, consulter le README de jQuery Migrate
Guide de mise à niveau de jQuery
- Les jQuery Upgrade Guides peuvent être utiles pour obtenir des informations détaillées sur les changements majeurs ou pour consulter la liste complète des changements majeurs de chaque version
- Les guides de mise à niveau pour jQuery 1.9, 3.0 et 3.5 répertorient tous les changements majeurs introduits dans ces versions
- La plupart des changements majeurs listés ne s’appliqueront probablement pas à votre code, mais ces guides apportent du contexte et des explications pour chacun d’eux
Remarques sur les futures versions de jQuery
- L’arrivée de jQuery 4.0 peut faire se demander à quoi ressemblera le processus de mise à niveau vers jQuery 4.x
- La réponse est qu’il sera identique à une mise à niveau vers jQuery 3.x et pourra se faire en une seule étape
- Autrement dit, il n’est pas nécessaire de passer d’abord à jQuery 3.x avant de passer à jQuery 4.x
- Il sera possible de passer directement de jQuery 1.9+ à jQuery 4.x
- Un guide de mise à niveau pour jQuery 4.0 est également prévu
Avis de GN⁺
- Comme jQuery reste encore très utilisé sur de nombreux sites Web, la mise à niveau de version est un enjeu important pour les développeurs Web
- Continuer à utiliser une ancienne version peut exposer directement à des vulnérabilités nouvellement découvertes et provoquer aussi des problèmes de performances
- Toutefois, dans le cas de systèmes legacy utilisant d’anciennes versions de jQuery, la mise à niveau peut demander beaucoup de temps et de coûts
- Dans ce cas, réduire les risques par des méthodes comme l’application des seuls correctifs de sécurité peut aussi être une option
- Il est possible de mettre à niveau facilement en utilisant notamment le plugin Migrate, mais des problèmes de compatibilité peuvent survenir
- C’est particulièrement vrai pour du code legacy fortement dépendant de jQuery
- Une migration progressive est nécessaire pour résoudre cela
- Pour un nouveau projet, il peut être préférable de concevoir l’architecture de manière à ne pas dépendre de jQuery
- Utiliser Vanilla JS ou des frameworks frontend modernes est une approche plus tournée vers l’avenir
- Pour les développeurs qui ont utilisé jQuery jusqu’ici, profiter de cette occasion pour essayer de nouvelles technologies peut aussi aider à élargir leurs compétences
3 commentaires
Ne pas mettre à niveau jQuery ou ne pas corriger les problèmes de sécurité
--> Ne pas mettre à niveau jQuery ou ne pas corriger les problèmes de sécurité