Compatibilité

From mediawiki.org
This page is a translated version of the page Compatibility and the translation is 100% complete.

MediaWiki fait tout son possible pour maintenir une large compatibilité entre les différentes versions, avec une gamme étendue de logiciels actuels et anciens. En même temps, l'évolution constante et permanente du code et des fonctionnalités du dernier MediaWiki signifie qu'il n'est plus possible de maintenir indéfiniment la compabilité avec les anciennes versions des logiciels.

Si vous désirez suggérer une modification de ce que MediaWiki prend en charge, vous pouvez enregistrer une requête de commentaire ( Rfc ) dans Phabricator.

Logiciel du serveur

Ces sections fournissent un aperçu du logiciel nécessaire sur le serveur pour faire fonctionner MediaWiki.

PHP

La dernière branche stable de MediaWiki (1.41) fonctionne avec PHP 7.4.3 et supérieur.

Pour les versions à venir, voir Politique du support de PHP .

HHVM n'est plus pris en charge depuis MediaWiki 1.34. Il est fortement recommandé de ne pas l'utiliser.

Les serveurs de production Wikipédia et d'intégration continue tournent actuellement sur la version 7.4 de PHP avec pour projet de mettre à jour vers PHP 8.1 prochainement. Les développeurs MédiaWiki sont encouragés à développer en utilisant PHP 8.1 et les images Docker de MediaWiki utilisent PHP 8.1.

Si la distribution de votre système d'exploitation a une version PHP non prise en charge, vous pouvez utiliser un dépôt de paquets de la communauté :

MediaWiki n'est pas compatible avec PHP 7.4.0 - 7.4.2 dû à un bogue upstream. Remplacer par PHP 7.4.3+. Voir tâche T246594 pour plus d'informations.
1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 1.29 1.30 1.31 1.32 1.33 1.34 1.35 1.36 1.37 1.38 1.39 1.40 1.41 master
 8.2.0+
 8.1.0+
 8.0.0+ 
 7.4.3+ 
 7.3.19+ 
 7.2.x 
 7.1.x 
 7.0.x 
 5.6.x 
 5.5.9+ 
1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 1.29 1.30 1.31 1.32 1.33 1.34 1.35 1.36 1.37 1.38 1.39 1.40 1.41 master
 5.5.0–5.5.8 
 5.4.x 
 5.3.3+ 
 5.3.2 
 5.2.3+ 
 5.1.x 
 5.0.x 
1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 1.29 1.30 1.31 1.32 1.33 1.34 1.35 1.36 1.37 1.38 1.39 1.40 1.41 master

Base de données

MediaWiki est compatible avec plusieurs types de serveurs de bases de données. L'usage de MySQL ou MariaDB est recommandé.

L'utilisation d'autres logiciels de bases de données n'est pas recommandée dans la production. La prise en charge diffère selon la version de MediaWiki qui va de douteux à stable. MediaWiki inclut des abstractions de base de données pour PostgreSQL et SQLite, qui sont généralement bien maintenues.

Depuis MediaWiki 1.36, il ne prend en charge que les mises à jour effectuées depuis au plus, les deux dernières versions LTS uniquement (voir phab:T259771). Les mises à niveau à partir d'anciennes versions de MediaWiki devront être effectuées en plusieurs étapes. Ceci signifie que si vous voulez mettre à niveau avec 1.41 depuis 1.34 ou une version antérieure, vous devrez d'abord mettre à jour votre wiki 1.34 à 1.35 (ou 1.39), et, de 1.35 (ou 1.39), vous pourrez passer à 1.41.
Depuis le version 1.34 , MediaWiki ne prend plus en charge l'utilisation de Oracle ni de Microsoft SQL Server .
1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 1.29 1.30 1.31 1.32 1.33 1.34 1.35 1.36 1.37 1.38 1.39 1.40 1.41 master
 MariaDB 10.3.0+
 MariaDB 10.1.0+ 
 MySQL 5.7.0+
 MySQL 5.5.8+ 
 MySQL 5.0.3+ 
MySQL 4.x 
MySQL 3.x 
 SQLite 3.8.0+
 SQLite 3.3.7+ 
 SQLite 3+ 
1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 1.29 1.30 1.31 1.32 1.33 1.34 1.35 1.36 1.37 1.38 1.39 1.40 1.41 master
 PostgreSQL 10+
 Postgres 9.4+ 
 Postgres 9.2+ 
 Postgres 8.3+ 
 Postgres 8.1 
1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 1.29 1.30 1.31 1.32 1.33 1.34 1.35 1.36 1.37 1.38 1.39 1.40 1.41 master

Mettre à jour

Depuis MediaWiki 1.36, il ne prend en charge que les mises à jour effectuées depuis au plus, les deux dernières versions LTS uniquement (voir phab:T259771). Les mises à niveau à partir d'anciennes versions de MediaWiki devront être effectuées en plusieurs étapes. Ceci signifie que si vous voulez mettre à niveau avec 1.41 depuis 1.34 ou une version antérieure, vous devrez d'abord mettre à jour votre wiki 1.34 à 1.35 (ou 1.39), et, de 1.35 (ou 1.39), vous pourrez passer à 1.41.

Serveur web

MediaWiki est largement compatible avec les principaux serveurs web pouvant exécuter une version compatible de PHP. Apache est le logiciel serveur le plus utilisé et le plus testé. Nginx est également un bon choix.

Extensions MediaWiki et habillages

Tant qu’une extension ou qu'un habillage sont correctement maintenus, leur branche master doit être compatible avec la branche master de MediaWiki. Pour déterminer la compatibilité avec les versions plus anciennes de MediaWiki, les règles communes suivantes sont utilisées par les extensions et les habillages :

  • branche master (clé : master) : la branche master de l’extension ou de l'habillage est compatible avec à la fois avec la version actuelle et avec les versions antérieures de MediaWiki. Des modifications sont apportées au code source de l'extension et de l'habillage pour assurer la compatibilité arrière lorsque c'est nécessaire.
  • branches de version (clé : rel) : pour chaque version de MediaWiki, il existe une branche associée dans l’extension ou l'habillage. Donc par exemple, si vous utilisez MediaWiki 1.41, vous devez utiliser la branche REL1_41 de l’extension ou de l'habillage.
  • branches des versions de support à long terme (clé : ltsrel) : pour chaque version de MediaWiki qui est une version de support LTS à long terme (voir la Politique du cycle de vie des versions), il existe une branche associée pour l'extension ou l'habillage. Ainsi, par exemple, si vous utilisez MediaWiki 1.39, vous devez utiliser la branche REL1_39 de l'extension. Si vous utilisez une version non LTS de MediaWiki, vous devrez généralement utiliser la branche de l'extension ou de l'habillage de la version LTS précédente. Par exemple, les wikis MediaWiki 1.34 utilisant une extension ltsrel ou un habillage utiliseront généralement la branche REL1_31 de cette extension ou de cet habillage. Cependant, il n'y a aucune garantie de compatibilité.

Le champ compatibility policy de l’infobox Extension indique quelle règle est appliquée par une extension donnée. Utilisez les clés respectives indiquées ci-dessus pour spécifier l’information.

Certaines extensions peuvent avoir des méthodes de compatibilité spécifiques, par exemple :

Navigateurs

Information générale

Chaque page web commence en mode Basique, où seul le HTML est rendu. On peut supposer que le CSS réussit pour les lecteurs visuels et doit être utilisé pour la présentation. La couche Moderne définit les améliorations et les interactions optionnelles écrites côté client JavaScript. Cette couche peut ne pas se charger, arriver plus tard ou pas du tout; y compris dans les navigateurs modernes. Cela dépend de diverses circonstances. Pour en savoir plus, consultez les directives de l'ingénierie de MediaWiki.

Les exigences JavaScript pour la catégorie Moderne sont mises en œuvre via un test de fonctionnalité dans le module de démarrage, inspiré de l'approche couper la moutarde.

Le nombre de navigateurs différents qui existent dans le monde est en constante augmentation. Il en existe trop pour tous les prendre en charge et les tester activement. Pour déterminer nos pratiques pour la prise en charge des navigateurs, nous les répartissons sur trois niveaux de maintenance. Chaque niveau représente une catégorie différente de navigateurs.

En pratique la seule différence entre les grades des navigateurs c'est l'investissement que nous y faisons pour les tests et le support. Tous les navigateurs reçoivent les mêmes réponses des serveurs et essaieront de charger le niveau Moderne s'ils satisfont aux capacités JavaScript requises.

Grade A

Les navigateurs Grade A reçoivent le niveau de support le plus élevé. MediaWiki tire avantage des possibilités qu'ont les navigateurs récents, tout en offrant un repli souple pour les navigateurs plus anciens. Les nouvelles fonctionnalités développées (dégradées ou pas) doivent fonctionner sur ces derniers.

Les navigateurs de cette catégorie sont connus (liste disponible ci-dessous) et le comportement du logiciel avec ces navigateurs est testé activement. Les problèmes rencontrés par les utilisateurs avec ces navigateurs sont traités avec une priorité élevée.

Grade C

Les navigateurs Grade C doivent recevoir les fonctionnalités du noyau de la plateforme MediaWiki. Nos réponses HTTP sont compatibles avec ces navigateurs (par exemple les fonctionnalités HTTP sur lesquelles nous nous appuyons, le codage des caractères et les formats d'image utilisés par le contenu ; doivent fonctionner dans ces navigateurs). Pour l'interface utilisateur, cela signifie que le contenu est présenté sous forme lisible, et que les actions sur le contenu et le compte peuvent être réalisées, mais les fonctionnalités Javascript peuvent fonctionner ou pas.

Les navigateurs de cette catégorie sont connus (listes ci-dessous) et sont rarement testés. Les problèmes que les utilisateurs rencontrent dans ces navigateurs sont abordés avec une priorité élevée. Toutefois, l'atténuation peut se concentrer pour assurer que la fonctionnalité disponible n'est pas remise en cause; si c'est acceptable du point de vue produit, cela peut entraîner la désactivation (temporaire ou pas) de l'amélioration plutôt que de la correction pour ces navigateurs.

Grade X

Ce groupe représente tous les autres navigateurs (également connus sous le nom de Grade X). Cela comprend :

MediaWiki traite ces navigateurs comme des navigateurs de Grade A et de Grade C : il y n'a aucun filtre d'agent utilisateur, et ces navigateurs peuvent utiliser les fonctionnalités Javascript s'ils réussissent la suite de tests de fonctionnalités du niveau Moderne.

Les navigateurs qui ne se trouvent dans aucun autre groupe appartiennent à cette catégorie comprenant :

  • Navigateurs moins populaires, dérivés ou construits à partir des navigateurs modernes connus (par exemple Samsung Internet, UC Browser, Vivaldi et Iceweasel)
  • Versions bêta des navigateurs modernes. Ils sont considérés de Grade X s'ils n'ont pas encore été testés par nous. En les considérant capables, cela permet d'avoir une expérience utilisateur optimale avec ces navigateurs et cela facilite les tests upstream
  • Navigateurs ou versions des navigateurs qui ne sont plus développés ou maintenus, et qui sont incompatibles avec les normes modernes de l'Internet. Ceux-ci peuvent recevoir le mode Basique ou ne pas même pouvoir se connecter au serveur web.

Ces principaux utilisateurs des nouveaux navigateurs et de ceux qui sont en cours d'évolution, ont une chance d’avoir l’expérience proposée aux navigateurs modernes.

Les navigateurs qui ne sont pas assez populaires pour justifier le coût de maintenance supplémentaire pour le développement de logiciels ; les problèmes que les utilisateurs perçoivent dans ces navigateurs seulement sont considérés comme de faible priorité.

Table de prise en charge des navigateurs

Ordinateur de bureau

Les principes et les différentes catégories décrites ci-avant s’appliquent au noyau MediaWiki et à ses extensions. La matrice ci-dessous de prise en charge du navigateur applique ces catégories dans le contexte du noyau MediaWiki, dans l'infrastructure de la Fondation Wikimedia, et dans toute extension Mediawiki ayant choisi de suivre cette catégorisation. Les extensions individuelles peuvent avoir leur propre matrice de prise en charge répartissant les navigateurs dans les différentes catégories prises en charge. Voir aussi le tableau de bord d’analyse de la répartition de l'utilisation des navigateurs.

Matrice de compatibilité des navigateurs comme depuis avril 2023 v · d · e
Navigateurs Chrome Opera Edge Edge ancien Firefox Internet Explorer Safari iOS Android
Moderne (grade A) Last three years' versions (2021) Aucun Last three years' versions (2021) None 11.1+ (2018) 11.3+ (2018) 5+ (2014)
Basique (grade C) 31+ (2013) 18+ (2013) 79+ (2020) 12+ (2015) 39+ (2014) 11 (2013) 9.1+ (2015) 9+ (2015) 5+ (2014)[note 1]
Inconnu (grade X) Tous les autres navigateurs
Practical implications comme depuis février 2024
Platform Minimum OS or device Supported modern browser
Android Moto G (1st generation) (2013)
Google Nexus 4 (2012)
Android 5.1, Chrome 88+
Samsung Galaxy S5 (2014) Android 6.0, Chrome 88+
iOS iPhone 5s (2013) iOS Mobile Safari 11.3 - 12 (2018-2023)[note 2]
Linux Debian 10 Buster (2019) firefox-esr 102, chromium 90
Ubuntu 18.04 LTS (2018) firefox (current), chromium-browser (current)
macOS OS X 10.9 Mavericks (2013-2016) Firefox 78 ESR (2020). The default Safari 7 is unsupported.
macOS 10.13 High Sierra (2017-2020) Safari 11.1, current Firefox, Chrome 88+
macOS 10.15 Catalina (2019-2022) Safari 13.1, current Firefox, Chrome 88+
Windows Windows 7 (2009-2020) Edge 84+, current Firefox, Chrome 88+

Liste des modifications (en commençant par la plus récente) :

  • As of 2023, the support targets have been re-stated; for Chrome and Chrome-based browsers, this is now the last three years' versions (covering three years rather than three months); for Firefox, this is now the current and previous LTS versions (reaching approximately the same time range). T178356
  • As of MediaWiki 1.41, Modern support is removed for Internet Explorer 11, macOS and iOS Safari 9–10, and Firefox 39–53. T178356
  • Depuis MediaWiki 1.39, le support basique est supprimé pour Internet Explorer 9-10, Firefox 27-38, et Android 4.3-4.4 T293298, T297313, T290815
  • Depuis MediaWiki 1.36, le support basique est arrêté pour Firefox 3-26, Internet Explorer 8, Safari 3-8, iOS (Safari) 5-8, Android 3.0-4.2, Chrome 1-30, et Opera 15-18. T248061, T262946, T266866
  • Depuis MediaWiki 1.36, le support moderne est arrêté pour Android 4.1-4.2, iOS 6.1-8, et Safari 5.1-8. T266866
  • Depuis MediaWiki 1.35, le support basique pour Internet Explorer 6 et 7 est arrêté, ainsi que pour Android 2. T232563, T249788
  • Depuis MediaWiki 1.31, JavaScript pour Internet Explorer 10 est désactivé. T187869
  • Depuis MediaWiki 1.29, JavaScript pour Internet Explorer 9 est dédactivé ainsi qu'avec les autres navigateurs non-ES5. T128115
  • Depuis MediaWiki 1.27, JavaScript pour Internet Explorer 8 est désactivé T118303, message des ambassadeurs Wikitech
  • Depuis MediaWiki 1.24, le JavaScript pour Internet Explorer 6 et 7 a été désactivé. gerrit:152072, gerrit:152128, message des ambassadeurs Wikitech

Version mobile

L'équipe Web de la Fondation Wikimedia utilise une matrice de prise en charge un peu moins large pour les habillages spécifiques aux mobiles, par exemple le thème Minerva , et/ou les extensions conçues pour fonctionner uniquement sur les appareils mobiles, par exemple MobileFrontend . La table de prise en charge est une compilation des données fournies par le tableau de bord d’analyse de la répartition des agents utilisateur. Si l’utilisation du navigateur dépasse les 5 %, une expérience moderne (Grade A) est prise en charge. Une prise en charge élémentaire (Grade C) est proposée pour tous les agents dépassant 0,1 % durant les douze derniers mois. Sur mobile, nous essayons de fournir un Grade B. Les utilisateurs du grade B peuvent ou non avoir JavaScript et nous ne faisons pas de tests du même niveau que pour le grade A, c’est pourquoi nous fixons une priorité plus basse aux bogues. La liste des navigateurs modernes prenant en charge l'interface utilisateur pour mobiles (MobileFrontend) est définie dans le fichier .browserlistsrc.

Tous ceux qui ne figurent pas dans la liste ou qui sont plus anciens, sont considérés comme des navigateurs de prise en charge de base.

Voir aussi

Notes

  1. Note this refers to the stock Android browser. For Chrome for Android, provided that you're running Chrome 31+, it requires Android 4.0+(2011).
  2. iOS 11 dropped support for iPhone 5 and older devices

Références