Compatibilité
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.42) fonctionne avec PHP 8.1.0 et supérieur.
Pour les versions à venir, voir Politique du support de PHP .
Les serveurs de production Wikimedia utilisent actuellement PHP 7.4 avec pour projet le passage à PHP 8.1 prochainement. Les correctifs pour le noyau MediaWiki sont testés avec PHP 7.4 à la création, et PHP 7.4, 8.1, 8.2 lors de la fusion. 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é :
- Debian (Ubuntu): Sury
- RHEL (Fedora / Rocky / Oracle): Remi / RHEL 9 stream
- SUSE: openSUSE contributors
- Arch (Manjaro): el:archphp
- macOS (Homebrew): shivammathur
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 | 1.42 | 1.43 | master |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
8.3.0+ | |||||||||||||||||||||||||||||||||||||||||||
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 | |||||||||||||||||||||||||||||||||||||||||||
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 | 1.42 | 1.43 | master |
5.5.9+ | |||||||||||||||||||||||||||||||||||||||||||
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 | 1.42 | 1.43 | 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.
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 | 1.42 | 1.43 | 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 | 1.42 | 1.43 | 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 | 1.42 | 1.43 | master |
Mettre à jour
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.42, vous devez utiliser la branche REL1_42 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 Modern (divisée en niveaux de support A, C, et X) définit les évolutions optionnelles et les interactions écrites en JavaScript côté client. Cette couche peut ne pas se charger, arriver plus tard ou pas du tout; même dans les navigateurs modernes. Cela dépend de diverses circonstances. Pour en savoir plus, voir les Directives d'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. La couche moderne nécessite actuellement JavaScript version ES6 (ES2015). Pour les développeurs MediaWiki, cela signifie que vous ne devez pas utiliser la syntaxe des dernières versions JavaScript. Cela est appliqué par les règles ESLint en eslint-config-wikimedia.
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. Pour les navigateurs qui ne réussissent pas le test de fonctionnalité mentionné ci-dessus, le JavaScript moderne n'est pas utilisé du tout.
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 qui sont dérivés ou construits à partir des navigateurs modernes connus (par exemple Samsung Internet, UC Browser, Vivaldi, Opera 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.
Navigateurs | Chrome | Edge | Firefox | Safari | iOS | Android[note 1] | |||
---|---|---|---|---|---|---|---|---|---|
Moderne (grade A) | Versions des trois dernières années (2021) | 11.1+ (2018) | 11.3+ (2018) | 6+ (2015)[note 2] | |||||
Basique (grade C) | 49+ (2016) | 79+ (2020) | 49+ (2016) | 10+ (2016) | 10+ (2016) | 5+ (2014)[note 3] | |||
Inconnu (grade X) | Tous les autres navigateurs |
Plateforme | Système d'exploitation ou dispositif minimum | Navigateur moderne pris en charge |
---|---|---|
Android | Moto G (1ère génération) (2013) Google Nexus 4 (2012) |
Android 5.1, Firefox (current) |
Samsung Galaxy S5 (2014) Google Nexus 5 (2013) Moto G (2nd generation) (2014) |
Android 6.0, Chrome 106, Firefox (current) | |
iOS | iPhone 5s (2013) | iOS Mobile Safari 11.3 - 12 (2018-2023)[note 4] |
Linux | Debian 10 Buster (2019) | firefox-esr 102 |
Ubuntu 18.04 LTS (2018) | Firefox (actuel), [$urL2 navigateur Chrome (actuel)] | |
macOS | OS X 10.11 El Capitan (2015-2018) | Safari 11.1, Chrome 103 |
macOS 10.13 High Sierra (2017-2020) | Safari 13, Firefox 115 ESR, Chrome 116 | |
macOS 10.15 Catalina (2019-2022) | Safari 15, Firefox actuel, Chrome 128 à l'actuel | |
macOS 11 Big Sur (2020-2023) | Safari 16, current Firefox, current Chrome | |
Windows | Windows 7 (2009-2020) | Edge 109, Firefox 115 ESR, Chrome 109 |
Liste des modifications (en commençant par la plus récente) :
- À partir de MediaWiki 1.43 , le support de base est supprimé pour Internet Explorer 11 (IE 11), Edge 12-18, Chrome 31-48, Firefox 39-48, Safari 9 sur macOS et iOS, et Opera. Les versions Chrome d'Opera verront probablement exactement la même expérience qu'avant. T288287
- Depuis 2023, les cibles du support ont été revues; pour Chrome et les navigateurs basés sur Chrome nous sommes dans les trois dernières années pour les versions (couvrant trois ans plutôt que trois mois); pour Firefox, il s'agit actuellement des versions actuelles et précédentes LTS (elles ont approximativement la même durée). T178356
- Depuis MediaWiki 1.41 , la prise en charge Moderne est supprimée pour Internet Explorer 11, macOS et iOS Safari 9-10, et 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 , JavaScript pour Internet Explorer 6 et 7 a été désactivé. gerrit:152072, gerrit:152128, message des ambassadeurs Wikitech
The Wikimedia Foundation also provides an up-to-date browserslist config reflecting the support matrix.
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
- ↑ Refers to Android WebView, based on Chromium since Android 4.4(2013). In Android 5.0+(2014), Chrome WebView can be updated separately without having to update Android versions. For standalone browsers, refer to Chrome and Firefox columns.
- ↑ Chrome 96(2021), which is more than three years old, dropped support for Android 5(2014). Latest versions of Firefox as well as Wikimedia apps support Android 5+(2014).
- ↑ Remarquer que cela fait référence au navigateur Android. Pour Chrome sous Android, à condition que vous exécutiez Chrome 49+, il faut Android 4.1+(2012). Pour Firefox sous Android, à condition que vous exécutiez Firefox 49+, il faut Android 4.0+(2011).
- ↑ iOS 11 support arrêté pour iPhone 5 et les appareils plus anciens