LTS ou STS ?… Telle est la question !

Written by | 28 February 2014 | Published in 2014 March
Un nouveau site doit être construit et vous êtes confronté à une question. Construire ce site avec l’actuelle version de support à long terme (LTS) ou avec la dernière version de support à court terme (STS) ? La réponse est, bien sûr, ça dépend. Votre expérience sera différente selon le choix que vous ferez. Cet article va couvrir les différentes catégories de propriétaires de site, et ce qu’ils attendent pour leurs sites, les points clés à prendre en considération et quelques exemples de scénarios.
LTS ou STS ?… Telle est la question ! Illustration par Helvecio da Silva

 

Cet article a été écrit en collaboration par Jennifer Gress et Duke Speer. Il a été construit sous forme d’un débat mais nous avions tendance à être trop souvent d’accord. Voir le profil de Jennifer Gress co-auteur de l'article.

Nous utilisons les termes LTS et STS à la place des numéros spécifiques des versions, de sorte que cet article puisse être utilisé en tant que référence, peu importe la future série majeure de versions que vous envisagez d'utiliser. Les concepts et les considérations s'appliquent au-delà de Joomla 2.5 (LTS en février 2014) et 3.x (STS en février 2014) ; ils devraient s’appliquer lorsque les séries 4.5 (future LTS), et 5.x (future LTS) seront les versions courantes.
Les facteurs que vous devez prendre en considération restent et resteront les mêmes.

La philosophie de conception de Joomla! est que tous les changements qui affectent les extensions tierces sur la manière dont elles fonctionnent et utilisent le code du noyau de Joomla! (l'API) sont verrouillés lors du lancement de la série (x.0), d'où l'énorme effort nécessaire au maintien de la rétrocompatibilité à partir de ce point. Donc, une fois que l'extension a été adaptée pour une nouvelle série STS, le travail devrait être terminé et rien ne devrait pouvoir "casser" l'extension pour le reste de la série. En pratique, il y a tellement de changements et d'améliorations apportés régulièrement, que cela ne se passe pas toujours parfaitement, et les nouvelles versions ont donc besoin d'être testées dans l'environnement de votre site, sur un site de tests, avant de faire les mises à jour sur votre site en production.


Lorsqu’il faut choisir entre LTS ou STS pour un site, les propriétaires de sites tendent à s'inscrire dans trois catégories.

Soit ils veulent :

  1. Etre à l'abri de l'avenir autant que possible : Ils veulent utiliser la dernière version de Joomla! disponible le jour du déploiement et sont prêts à payer (avec soit une prise en main par un support soit en payant) pour une maintenance post-déploiement. Quelques-uns peuvent vouloir se vanter d'avoir la dernière version de Joomla! et de pouvoir utiliser les dernières fonctionnalités, mais la plupart souhaite l'assurance de l'avenir et veulent un cycle de support disponible le plus longtemps possible ; ils souhaitent également utiliser la version qui est activement développée et améliorée, qu'ils perçoivent aussi comme la plus sûre. Ils n'ont aucune idée des nouvelles fonctionnalités qu'ils souhaiteraient sur les futures versions mineures, mais ils aiment l'idée que lorsqu'une fonctionnalité sera ajoutée au noyau de Joomla!, elle leur sera accessible sans migration. L'implémentation pourrait être aussi simple que d'appuyer sur le bouton "publier".
  2. Mettre en place et oublier : Ils ont des ressources très limitées et généralement des besoins incompatibles mais relativement faibles. Ils ont besoin d'un budget de déploiement faible et insistent pour ne pas avoir à payer, ou à passer du temps, sur une maintenance post-déploiement. Aucun de leur besoin ne nécessite les fonctionnalités ajoutées aux versions STS de Joomla!. Ils comprennent que la durée de vie d'une LTS est courte et que passer de STS en STS est plus coûteux que de faire une migration dans les années à venir. La mise à jour en un clic d'une LTS vers la prochaine LTS pour les composants n'est pas perçue comme un gros travail et installer un autre template, avec les surcharges appropriées, est justement une opportunité pour rafraichir le look. C'est un site statique qui ne nécessite que les mises à jour de sécurité, il est donc préférable de le construire avec la version LTS actuelle, ainsi l'interface utilisateur restera toujours la même. Chaque mise à jour en un clic peut être appliquée par eux-mêmes sans aucun risque de casser l'affichage du site.
  3. Laisser les experts décider : Ils adhèrent à l'idée que les designers de sites sont des experts, qu'ils choisiront les logiciels les plus adaptés pour leur site web, et vont laisser leurs besoins de fonctionnalités et de design leur dicter la version appropriée. Pour ce type de propriétaire de sites, nous sommes sur une décision basée sur les conditions pré-requises. A la date de l'examen, il est possible que certaines fonctionnalités soient mieux implémentées ou puissent seulement être implémentées dans la version LTS ; qu'une extension importante ne soit pas compatible ou nécessite encore du travail sous la version STS, ou, que certaines fonctionnalités soient bientôt disponibles nativement dans la version STS telle qu'une amélioration de la sécurité.

Maintenant que nous connaissons la tolérance au risque qu'ont les propriétaires de sites web et même si le choix vient du designer, il est temps de choisir entre LTS et STS.

Points clés à considérer :

Spécifications techniques d'hébergement

Le serveur répond-il aux pré-requis minimum pour faire fonctionner la dernière version STS ? Si ce n'est pas le cas, et s'il n'est pas possible de changer, vous n’aurez pas le choix. Vous devrez utiliser la version LTS qui aura typiquement des spécifications plus anciennes et moins élevées que votre hébergeur remplira plus facilement. Parfois dans l'année qui suit, vous pouvez espérer que votre hébergeur mette ses serveurs à jour, ou vous devrez changer d'hébergeur avant de mettre à jour vers la prochaine LTS. Vous pouvez voir les pré-requis actuels de Joomla! sur cette page : https://www.joomla.org/about-joomla/technical-requirements.html


Disponibilité des extensions

Vérifiez que toutes les extensions que vous souhaitez utiliser avec une version STS de Joomla! soient compatibles avec cette version. (Gardez à l'esprit que votre template est une extension). Visitez les sites des développeurs et assurez-vous que les développeurs des extensions que vous avez sélectionnées testent leurs extensions tout au long de la période qui précède chaque sortie de STS au lieu d'attendre que les utilisateurs leur remontent les problèmes. Souvenez-vous que de choisir d'utiliser une version STS signifie devoir installer chaque version STS menant jusqu'à la prochaine version LTS. Pour chaque STS, bien que cela soit assez rare, vous pouvez avoir à réinstaller/mettre à jour chaque extension tierce que vous utilisez (y compris le template et ses surcharges HTML).


Budget

Si vous construisez votre nouveau site web avec la version LTS actuelle, vous devrez peut-être faire une "mini-migration" lors du passage vers la prochaine LTS lorsqu'elle sortira. Les données du core de Joomla! pourront être mises à jour via une "mise à jour en un clic", mais ce ne sera pas le cas des données des extensions tierces qui ne vont pas se mettre à jour "en un clic", car Joomla! peut avoir subi des changements qui peuvent "casser" certaines extensions, même bien codées, car le système "en un clic" apporte des modifications apportées par la nouvelle API. La majorité des extensions tierces devront être désinstallées puis réinstallées, et leurs données migrées au nouveau format. Vérifiez pour chaque extension les étapes nécessaires à la mise à jour. Vous devrez budgétiser le temps nécessaire ainsi que les éventuels frais d'abonnements pour accomplir cette tâche avant que la version Joomla! utilisée sur votre site n'arrive en fin de vie (EOL - "End of Life").

Si vous construisez un nouveau site web en utilisant le cycle de version STS en cours, vous devrez chiffrer du temps, de l'argent, ou les deux pour tester et installer toutes les versions de la série jusqu'à ce que la version LTS soit installée sur votre site. Vous aurez peut-être à apporter des changements d'affichage ou de CSS ou gérer les bugs au fil du temps (qu'ils soient en relation avec le core de Joomla! ou avec les extensions tierces), et cela vous prendra également du temps. Vous devez planifier de prendre le temps pour tester toutes les mises à jour des sorties STS sur un site de tests avant de simplement les installer sur le site en production, ou alors vous devrez vous préparer à restaurer une sauvegarde complète du site si vous rencontrez des problèmes.

Choisir quand commencer à utiliser une version STS vous aidera à déterminer le temps et les efforts à budgétiser. Si la STS est à x.2, vous n'êtes qu'à quelques étapes de la prochaine LTS. Si vous commencez votre projet avec x.0, vous aurez plus d'étapes (x.1, x.2, x.3, x.5) pour arriver jusqu'à la LTS.

Si vous ne voulez pas rencontrer de bugs, ou de fonctionnalités qui ne fonctionnent pas dès la première fois, vous devriez utiliser une LTS à l'opposé d'une STS. Si vous ne voulez pas avoir de migration à faire (mais peut-être simplement une mini-migration) alors envisagez d'utiliser les versions STS de Joomla!.

Il n'y a aucune réponse unique, car les sites sont tous différents les uns des autres. Et si nous regardions quelques scénarios et opinions sur le choix à faire entre STS et LTS ?

Exemples de scénarios :

Scénario #1

Site web simple utilisant seulement les extensions natives, Akeeba Backup, JCE et un template.

Duke : Joomla! STS. Même pour une version STS « x.0.0 », c'est l’opportunité de suivre les nouveaux développements, avec un site réel, et pour les designers de mettre un site STS dans votre portfolio. Laissez passer quelques semaines après la sortie de la première version, et suivez le rapport de bugs. Si les bugs sont importants, patientez jusqu'à la prochaine version qui corrigera ces bugs ; sinon, c'est l'occasion de vous faire la main et de vous faire votre expérience avec la nouvelle version du logiciel et ses nouvelles fonctionnalités. Utiliser un template natif (même modifié) est une solution saine. Si la version est sortie depuis plus de 30 jours, la majorité des fournisseurs de templates a pris le temps de créer de nouveaux templates compatibles.


Jenn : Joomla! STS. Je suis d'accord, Akeeba & JCE ont très bien fonctionné sur les versions STS des deux derniers cycles STS et se mettent à jour rapidement si un problème se pose. Egalement, les fournisseurs de templates les plus connus comme RocketTheme mettent rapidement leurs templates à jour avec les versions STS de Joomla!.


Scénario #2

Site web comme celui ci-dessus plus EasyBlog, ou un composant complexe similaire comme SobiPro.

Jenn : Joomla! STS. EasyBlob a un support incroyable et très réceptif proposant des corrections de bugs.

Duke : Encore une fois, nous sommes d'accord, Joomla! STS. Mais j’attendrai peut-être jusqu'à la version "x.1" de la série pour utiliser un composant complexe. La raison est que, même stable, une version "x.0" de Joomla! est la première occasion permettant de tester un grand nombre d'extensions, et de s'assurer qu'elles fonctionnent correctement. Les deux premiers mois après la sortie d'une version "x.0" constitue la période pendant laquelle les développeurs d'extensions s'adaptent aux nouveautés du noyau, mais également aux compatibilités entre extensions. C'est pendant cette période que les problèmes doivent être traités comme gérer quelle version de jQuery ou bibliothèques similaires sont chargées, ou parvenir à un consensus sur les éléments imbriqués appropriés ainsi que les classes Bootstrap à utiliser dans les modules pour produire le HTML que les designers de templates pourront modifier sans rencontrer de problème.

De nombreux designers produisent des templates qui prennent en charge des composants majeurs comme le forum Kunena, K2, JomSocial, ainsi que les principaux composants E-commerce. Et avec les composants complexes préparés pour les versions "x.0", certains comportements pourraient être comparés au "wild wild west". Du temps est nécessaire pour reporter et corriger les bugs, ainsi que pour apporter les dernières révisions et les dernières finitions, afin que les designers de templates puissent travailler sur des extensions stables, et puissent donc proposer des templates stables.

SobiPro est une réécriture intégrale du populaire répertoire Sobi2, permettant ainsi d'anticiper et de bénéficier de toutes les avancés apportées au code du noyau de Joomla!. Les développeurs de logiciels qui profitent de l'opportunité de version récente majeure pour réécrire leur logiciel à partir de zéro et de l'optimiser, plutôt que de le patcher et de le re-patcher depuis Joomla! 1.5, attire mon attention car ils sont plus tournés vers l'avenir. C'est également le signe d'une entreprise qui fonctionne bien et réinvestit donc dans ses produits, et qui sera certainement présente lorsque nous en serons à Joomla! 4 et 5. Alors que je puisse hésiter à utiliser une extension version 1 sur un site en production dont la durée est un paramètre important, je serais certainement un précurseur dans l'adoption de cette extension pour l'aider à se développer au même rythme que Joomla! lui-même.


Scénario #3

Un gros site web. Beaucoup de contenu. Beaucoup d'utilisateurs mettant à jour le contenu en permanence. Site E-commerce avec plus de 1 000 références avec variantes. Site comportant des adhérents avec un composant de réseau social. Template personnalisé. Ne doit pas être endommagé.

Jenn : Joomla! LTS avec une budgétisation en temps ou argent, permettant de passer vers la prochaine LTS lorsqu'elle sortira.

Pourquoi ? Le site se doit d'être stable. Il doit fonctionner. Il possède de nombreux éléments constamment en évolution. Le template devra probablement être mis à jour dans les prochains mois si nous utilisons une version STS. Si nous utilisons une version LTS, il peut attendre quelques temps avant d'être mis à jour, et aura besoin de l'être seulement une fois. Il sera énorme à migrer mais il fonctionnera correctement avec la version LTS actuelle, jusqu'au moment venu où il devra être testé. Le mot "beurk" vient toujours à l'esprit. Ceci étant dit, si toutes les extensions que nous souhaitons utiliser sont disponibles pour la version STS actuelle, ont un historique de mise à jour fiable, ont un excellent support, je choisirai la version STS si je suis certaine de bien avoir saisi comment se passera le futur.

Duke : Qu'a-t-elle dit ? Sérieusement ?

Après que le site soit construit et testé, le risque d'une simple mise à jour en un clic y compris pour un problème critique est vraiment faible, et entièrement testable sur un serveur de développement avant de l'appliquer sur le site en production. Mais, un site critique avec un problème sur la base de données est-il compliqué ? Pourquoi prendre le risque alors qu'il y a tellement de parties en évolution ? A l'heure des sites responsive et de l'importante dépendance au javascript, particulièrement pour calculer et valider les formulaires d'un site E-commerce, il suffit d'un seul module complémentaire mis à jour en un clic avec un fichier javascript mal écrit pour "crasher" le javascript de toutes les autres fonctionnalités du site.

Nous espérons que cet article vous aidera à vous poser les bonnes questions afin d'obtenir les réponses qui vous guideront à faire le bon choix pour vous et votre site. N'hésitez pas à commenter en donnant vos retours, vos choix, ou vos questions. Nous sommes là pour aider, et nous sommes heureux de partager ! Jenn & Duke

Traduction libre par Simon Grange de l'article original : To LTS or STS?... That is the Question! par Duke Speer & Jennifer Gress
Read 11894 times Tagged under French