« Technique » : différence entre les versions
sur le Dico des Ados : ton dictionnaire collaboratif, libre et gratuit !
+temps passé |
|||
| (26 versions intermédiaires par 5 utilisateurs non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
== Voir aussi == | |||
{{Special:Prefixindex|prefix=Dico:Technique/|hideredirects=1|stripprefix=1}} | |||
== Procedure for a minor update == | |||
The following procedure uses git-iterate available at https://github.com/Seb35/git-iterate, installed on wmch-dicoado1 in /usr/local/bin. | |||
Example below for the update from 1.43.2 to 1.43.5. | |||
<syntaxhighlight lang="shell"> | |||
cd /opt/mediawiki | |||
cp -a 1.43.2 1.43.5 | |||
cd 1.43.5 | |||
git fetch --all | |||
git status -s # should be without "Changes to be committed" neither "Changes not staged for commit", else check if some changes need to be transported to the new version, especially in `includes/` | |||
git branch -vv # the active branch should be REL1_43 | |||
git tag -l|grep 1.43 # there should be 1.43.5 | |||
git reset --keep 1.43.5 # safe command: if it cannot be changed without modifying any unrecorded file, then nothing will be done | |||
git iterate extensions skins -- branch -vv # for information, the current branch of the extensions and skins, should be REL1_43 in most cases but some may be master or main or something else | |||
git iterate --unclean extensions skins -- status -s # if any extension or skin is modified, check if these changes need to be transported to the new version | |||
git submodule update --init --recursive -- extensions skins | |||
git iterate --not-submodule --clean --branch=REL1_43 extensions skins -- merge --quiet --ff-only # update REL1_43 branches to their last commit | |||
git iterate --not-submodule --clean extensions skins -- br # is there any un-updated extensions/skins? probably some to be updated manually | |||
git iterate --unclean extensions skins -- status # is there any un-updated extensions/skins? should be updated manually | |||
composer update --no-dev | |||
</syntaxhighlight> | |||
The extensions currently installed not following the branch REL1_43 are: | |||
* Antispam (branch master and custom commits for maintenance) | |||
* GoogleRichCards (branch master) | |||
* MetaDescriptionTag (branch master) | |||
* PDFEmbed (version 3.0.1) | |||
* SemanticMediaWiki (version 6.0.1, installed via Composer) | |||
Other special extensions: | |||
* SemanticMediaWiki: the version of the extension SemanticMediaWiki is fixed in composer.local.json in the root directory. Check particularly this extension, and modify the requested version if needed (see the [https://github.com/SemanticMediaWiki/SemanticMediaWiki/blob/master/docs/COMPATIBILITY.md compatibility matrix] and the [https://github.com/SemanticMediaWiki/SemanticMediaWiki/releases recent releases]). | |||
* PageForms: branch REL1_43 but there are 4 specific commits fixing some bugs: | |||
** commit 4fa7800926e644a661cef43a19caf5ab38323a3b: fix a bug with some forms | |||
** commit b18534ffe07bc1b8e32b2f5f30707336c2eb87e0: Compatibility with SMW 5.x | |||
** commits 42b2743533e459d5be46ea57c06c058b68831071 and f2352282c66849efbb6aef9c590c13132f0299b0: cherry-picked from official commits e86d7020731f7c32451396dcb92f6f860daeb645 and 178b0e484c2604749a49be06bc51b03e28141a92 (backport to REL1_43) | |||
Then modify in <code>/etc/mediawiki/versions-prod.php</code>: | |||
<syntaxhighlight lang="shell"> | |||
sudo vi /etc/mediawiki/versions-prod.php | |||
</syntaxhighlight> | |||
== Mise à jour MediaWiki 1.39 == | == Mise à jour MediaWiki 1.39 == | ||
| Ligne 31 : | Ligne 77 : | ||
#13 /var/www/dicoado.demo/fr/httpdocs/w/index.php(47): wfIndexMain() | #13 /var/www/dicoado.demo/fr/httpdocs/w/index.php(47): wfIndexMain() | ||
#14 {main} -->{| class="wikitable" | #14 {main} --> | ||
==Tableau des factures de support == | |||
{| class="wikitable sortable" | |||
!factures num !! heures | |||
|- | |||
|'''TOTAL''' || ''50'' | |||
|- | |||
| FAC-2025-12 || 20 | |||
|- | |||
| FAC-2024-9 || 10 | |||
|- | |||
| 2023,017 || 10 | |||
|- | |||
| 2023.019 || 10 | |||
|} | |||
{| class="wikitable" | |||
|+ | |+ | ||
!Date | !Date | ||
!Task | !Task heures consommées : 47.75 | ||
- 50 heures achetées | |||
= | |||
!duration | !duration | ||
hours | hours | ||
| Ligne 40 : | Ligne 106 : | ||
!Status | !Status | ||
|- | |- | ||
| | | | ||
|TOTAL heures consommées | |||
|47.75 | |||
| | |||
| | |||
|- | |||
| | |||
|Fournir une [https://gitlab.wikimedia.org/repos/wikimedia-ch/wmch-infrastructure/-/tree/main/servers/dicoado1/conf/mediawiki?ref_type=heads#install-one-new-language documentation permettant de créer de nouveaux wiki] | |||
|inclus presta 2023 | |||
| | |||
|✔️ | |||
|- | |||
| | |||
|Réunion & Points UX | |||
|inclus presta 2023 (1h) | |||
| | |||
|✔️ | |||
|- | |||
| | |||
|Skin sur Central : Reprendre le style qu’il y a sur FR | |||
| | |||
| | |||
| | |||
|- | |||
| | |||
|Installation d’un répertoire centralisé de fichiers + 5 heures UX Design inclus. | |||
|inclus presta 2023 | |||
| | |||
|✔️ | |||
|- | |||
| | |||
|Renommage et fusions globaux (essentiel) : vérifier la procédure de renommage et de fusion d’un compte utilisateur global. | |||
|inclus presta 2023 | |||
| | |||
|✔️ | |||
|- | |||
| | |||
|[https://fr.dicoado.org/dico/Sp%C3%A9cial:Droits_des_utilisateurs_globaux Permissions globales] (essentiel) : un compte utilisateur peut avoir des droits sur tous les wikis ; une politique pour les permissions globales sera mise en place, en même temps ou plus tard. | |||
|inclus presta 2023 | |||
| | |||
|✔️ | |||
|- | |||
|2025-11-18 | |||
|Résolution d’un problème dans PageForms : les champs de type tokens ne proposaient pas l’autocomplétion et ça affichait le GIF d’attente indéfiniment (2 commits de PageForms backportés dans REL1_43) | |||
|0.75 | |||
|Sébastien | |||
| | |||
|- | |||
|2025-11-14 | |||
|Résolution de petits problèmes (cf Telegram : erreur lors de l’envoi d’emails) + écriture sur le wiki de la doc technique de màj mineure | |||
|1 | |||
|Sébastien | |||
| | |||
|- | |||
|2025-11-13 | |||
|Mise à jour MW 1.43.2 → 1.43.5 + documentation technique de la màj mineure + résolution de petits problèmes (cf Telegram : 2 icônes manquantes, changement du nom du site hors fr, question sur le script de maintenance run.php) | |||
|2 | |||
|Sébastien | |||
| | | | ||
|- | |||
|2025-09-24 | |||
|Suppression des images de FR transférées sur Central, retrait du logo SMW en bas des pages suite à la mise à jour, mise en place d’une exécution hebdomadaire du script updateSpecialPages.php, documentation | |||
|1.25 | |||
|Sébastien | |||
| | |||
|- | |||
|2025-09-24 | |||
|Mise à jour SMW 5.0.2 → 6.0.1 | |||
|1.25 | |||
|Sébastien | |||
| | |||
|- | |||
|2025-07-01 | |||
|[màj 1.43] Mise en prod, correction de problèmes dans VEForAll (qui ne s’activait pas) et SemanticMediaWiki [https://github.com/SemanticMediaWiki/SemanticMediaWiki/issues/6153 #6153] | |||
|5 | |||
|Sébastien | |||
| | |||
|- | |||
|2025-06-13 | |||
|[màj 1.43] Correction de problèmes sur 1.43.1, dans PageForms notamment | |||
|3 | |||
|Sébastien | |||
| | |||
|- | |||
|2025-06-04 | |||
|[màj 1.43] Préparation de 1.43.1 | |||
|6 | |||
|Sébastien | |||
| | |||
|- | |||
|2025-05-15 | |||
|[màj 1.43] Téléchargement de l’installation actuelle en 1.39 | |||
|2 | |||
|Sébastien | |||
| | |||
|- | |||
|2025-04-23 | |||
|UX Design ''inclus 2023'' | |||
|inclus presta 2023 (0.75h) | |||
|Mathis | |||
| | |||
|- | |||
|2024-08-02 | |||
|Choix extensions/outils contre le spam | |||
|0.25 | |||
|Nicolas | |||
| | |||
|- | |||
|2024-07-29 | |||
|Analyse pic d'activité sur serveur. | |||
|0.5 | |||
|Seb | |||
| | |||
|- | |||
|2024-07-XX | |||
|MàJ 1.39.7 | |||
|3 | |||
| | |||
|en cours | |||
|- | |||
|2024-07-1X | |||
|Serveur mail | |||
|0.75 | |||
| | |||
|en attente d'infos | |||
|- | |||
| | |||
|voir demande sur tg du 19 juin | |||
| | |||
| | |||
| | |||
|- | |||
|2024-03-11 | |||
|Re-résolution de problème graphique : | |||
* Barre de formulaire | |||
* Checkboxes | |||
|1,5 | |||
|Mathis | |||
|Done | |||
|- | |- | ||
|2024-01-16 | |2024-01-16 | ||
| Ligne 57 : | Ligne 257 : | ||
* place des notifications | * place des notifications | ||
Documentation des changements locaux sur le skin Foreground [https://phabricator.wikimedia.org/T348426#9423688] | Documentation des changements locaux sur le skin Foreground [https://phabricator.wikimedia.org/T348426#9423688] | ||
| | |1,5 | ||
|Mathis + Seb | |Mathis + Seb | ||
|Done | |Done | ||
| Ligne 66 : | Ligne 266 : | ||
* header | * header | ||
* script Masonry | * script Masonry | ||
| | |2 | ||
|Mathis + Seb | |Mathis + Seb | ||
|Done | |Done | ||
| Ligne 72 : | Ligne 272 : | ||
|2023-12-20 | |2023-12-20 | ||
|Étude de divers problèmes graphiques : icônes FontAwesome | |Étude de divers problèmes graphiques : icônes FontAwesome | ||
| | |6 | ||
|Mathis + Seb | |Mathis + Seb | ||
|Done | |Done | ||
| Ligne 228 : | Ligne 428 : | ||
* Install memcached and use it as main cache | * Install memcached and use it as main cache | ||
* Install an HTTP cache to replace $wgUseFileCache; might be [https://httpd.apache.org/docs/2.4/en/caching.html with Apache] or Varnish or something else | * Install an HTTP cache to replace $wgUseFileCache; might be [https://httpd.apache.org/docs/2.4/en/caching.html with Apache] or Varnish or something else | ||
---- | |||
== Farm == | |||
This is the '''{{souligné|initial proposition for MediaWikiFarm and options to be chosen}}'''. | |||
=== Files === | |||
Actual: | |||
/etc | |||
/apache2 | |||
/sites-enabled | |||
/home | |||
/www-dicoado | |||
/storage | |||
/images <- - - - - - - - - images for fr.dicoado.org | |||
/var | |||
/www | |||
/dicoado | |||
/fr | |||
/httpdocs <- - - - - - - Apache DocumentRoot | |||
/w <- - - - - - - - - - contains MediaWiki 1.39.5 | |||
/LocalSettings.php | |||
/cache <- - - - - - - contains all l10n_cache-*.cdb | |||
/images → /home/www-dicoado/storage/images | |||
Target with MediaWikiFarm: | |||
/etc | |||
/apache2 | |||
/sites-enabled (CHANGED: add the new websites/virtual hosts) | |||
/mediawiki (NEW) | |||
/farms.yml (NEW) | |||
/CommonSettings.yml (NEW) | |||
/PrivateSettings.yml (NEW) | |||
/frSettings.yml (NEW) | |||
/deSettings.yml (NEW) | |||
/itSettings.yml (NEW) | |||
/enSettings.yml (NEW) | |||
/home | |||
/www-dicoado | |||
/storage | |||
/fr (NEW) | |||
/images (NEW) | |||
/cache (NEW) | |||
/tmp (NEW) | |||
/assets (NEW) | |||
/config (NEW) | |||
/de (NEW) | |||
/images (NEW) | |||
/cache (NEW) | |||
/tmp (NEW) | |||
/assets (NEW) | |||
/config (NEW) | |||
/it (NEW) | |||
/images (NEW) | |||
/cache (NEW) | |||
/tmp (NEW) | |||
/assets (NEW) | |||
/config (NEW) | |||
/en (NEW) | |||
/images (NEW) | |||
/cache (NEW) | |||
/tmp (NEW) | |||
/assets (NEW) | |||
/config (NEW) | |||
/rm (NEW) | |||
/images (NEW) | |||
/cache (NEW) | |||
/tmp (NEW) | |||
/assets (NEW) | |||
/config (NEW) | |||
/opt (NEW) | |||
/mediawiki (NEW) | |||
/1.39.5 (NEW) | |||
/1.39.5-test (NEW) | |||
/var | |||
/cache (NEW) | |||
/mediawikifarm (NEW) | |||
=== Config === | |||
2 URLs: | |||
* (?<lang>fr|de|en|it)\.dicoado\.org | |||
* (?<lang>fr|de|en|it)\.demo\.dicoado\.org | |||
Multiple choices about organising the configuration files: | |||
# Keep like currently the LocalSettings.php and add some <code>"if( $lang === 'fr' ) { } else if( $lang === 'de' ) { }</code> | |||
#* PRO: the current order of the various thematics is kept (but there is no real ordering currently) | |||
#* CON: could add confusion if there are many "if/else" | |||
#* PRO: it keep the maximum expressivity (=ability to characterise very fine situations) | |||
# We use a PHP array (or YAML): ''(prefered for MediaWikiFarm)'' | |||
#* PRO: More "orthogonal", may be easier to understand because there are no PHP, and it fully uses the hierarchical configuration (define global settings, then specific settings) | |||
#* PRO: The configuration is considered as data instead of code, which is also the trend for MediaWiki more generally (see the [[:mediawikiwiki:MediaWiki 1.38/New configuration system|experimental configuration system]]) | |||
#* PRO: We can keep an order in the thematics | |||
#* CON: Light learning to understand the logic | |||
#* CON: Less expressivity; but if we want to keep the PHP expressivity, we can use a dedicated PHP file (there is such feature in MediaWikiFarm) | |||
#:2 possible organisations: | |||
#* '''''(a)''''' InitialiseSettings.yml + PrivateSettings.yml + ExecSettings.php: all non-private parameters for all languages in the 1st, the private settings in the 2nd, the 3rd is a raw PHP file to keep PHP expressivity (option) | |||
#* '''''(b)''''' CommonSettings.yml + frSettings.yml + PrivateSettings.yml + ExecSettings.php: the 1st contains all commun parameters, the 2nd the parameters for the language "fr" (resp. other languages), the 3rd the private settings, the 4th is a raw PHP file to keep PHP expressivity (option) | |||
Notes: | |||
* all filenames (CommonSettings.yml, InitialiseSettings.yml, ExecSettings.php…) are completely arbitrary | |||
* The Wikimedia Foundation has something like the organisation '''''(a)''''' but with some thematic files (partly like organisation '''''(b)''''') – keep in mind it’s a '''huge''' wiki farm: | |||
** [https://noc.wikimedia.org/conf/highlight.php?file=InitialiseSettings.php InitialiseSettings.php: main file with a PHP array for config for all wikis] | |||
** [https://noc.wikimedia.org/conf/highlight.php?file=CommonSettings.php CommonSettings.php]: raw PHP file with PHP code to use PHP expressivity (like ExecSettings.php above) | |||
** extension-specific arrays for [https://noc.wikimedia.org/conf/highlight.php?file=ext-CirrusSearch.php CirrusSearch], [https://noc.wikimedia.org/conf/highlight.php?file=ext-GrowthExperiments.php GrowthExperiments], [https://noc.wikimedia.org/conf/highlight.php?file=ext-ORES.php ORES], [https://noc.wikimedia.org/conf/highlight.php?file=Wikibase.php Wikibase] | |||
** they partly splitted between production and labs (their pre-production), and between their 2 main datacenters (eqiad in North Virginia, codfw in Texas) | |||
** they have a PrivateSettings.php (unpublished :-) | |||
** most of their config is available [https://noc.wikimedia.org/conf/ here] (mirror [https://phabricator.wikimedia.org/source/mediawiki-config/browse/master/wmf-config/ of Phabricator]) | |||
* MediaWikiFarm is quite flexible: there may be as much config files as wished, and each config file could apply either to a single wiki either to all wikis either to some wikis defined in the config file itself (see InitialiseSettings.yml below) | |||
* Array formats: | |||
** PHP: maybe slightly more difficult to read than YAML, but it’s possible to use PHP syntax like constants (<syntaxhighlight lang="php" inline>CACHE_NONE</syntaxhighlight>, <syntaxhighlight lang="php" inline>CACHE_MEMCACHED</syntaxhighlight>…) or class names (<syntaxhighlight lang="php" inline>MediaWiki\Deferred\DeferredUpdates::class</syntaxhighlight> | |||
** YAML: the syntax must be known (see [https://en.wikipedia.org/wiki/YAML Wikipedia]), it’s not possible to use the constants and class names (only the basic types string, number, boolean, null, which is 99% of the values) | |||
** JSON: quite equivalent to YAML, but keep in mind it’s not possible to use comments in JSON | |||
==== Organisation '''''(a)''''' ==== | |||
InitialiseSettings.yml with a YAML array: | |||
<syntaxhighlight lang="yaml"> | |||
# Website name | |||
wgSitename: | |||
fr: 'Le Dico des Ados' | |||
de: 'Das Wörterbuch der Jugendlicher' | |||
wgMetaNamespace: | |||
fr: 'Dico' | |||
de: 'Wörterbuch' | |||
wgServer: | |||
fr: 'https://fr.dicoado.org' | |||
de: 'https://de.dicoado.org' | |||
# Path settings | |||
wgScriptPath: | |||
default: '/w' | |||
wgArticlePath: | |||
default: '/dico/$1' | |||
wgUsePathInfo: | |||
default: false | |||
</syntaxhighlight> | |||
---- | |||
InitialiseSettings.php with a PHP array: | |||
<syntaxhighlight lang="php"> | |||
<?php | |||
return [ | |||
// Website name | |||
'wgSitename' => [ | |||
'fr' => 'Le Dico des Ados', | |||
'de' => 'Das Wörterbuch der Jugendlicher', | |||
], | |||
'wgMetaNamespace' => [ | |||
'fr' => 'Dico', | |||
'de' => 'Wörterbuch', | |||
], | |||
'wgServer' => [ | |||
'fr' => 'https://fr.dicoado.org', | |||
'de' => 'https://de.dicoado.org', | |||
], | |||
// Path settings | |||
'wgScriptPath' => [ | |||
'default' => '/w', | |||
], | |||
'wgArticlePath' => [ | |||
'default' => '/dico/$1', | |||
], | |||
'wgUsePathInfo' => [ | |||
'default' => false, | |||
], | |||
]; | |||
</syntaxhighlight> | |||
==== Organisation '''''(b)''''' ==== | |||
CommonSettings.yml: | |||
<syntaxhighlight lang="yaml"> | |||
# This file contains commun settings for all wikis | |||
# Path settings | |||
wgScriptPath: '/w' | |||
wgArticlePath: '/dico/$1' | |||
wgUsePathInfo: false | |||
</syntaxhighlight> | |||
---- | |||
frSettings.yml: | |||
<syntaxhighlight lang="yaml"> | |||
# This file is about fr.dicoado.org | |||
# Website name | |||
wgSitename: 'Le Dico des Ados' | |||
wgMetaNamespace: 'Dico' | |||
wgServer: 'https://fr.dicoado.org' | |||
</syntaxhighlight> | |||
---- | |||
deSettings.yml: | |||
<syntaxhighlight lang="yaml"> | |||
# This file is about de.dicoado.org | |||
# Website name | |||
wgSitename: 'Das Wörterbuch der Jugendlicher' | |||
wgMetaNamespace: 'Wörterbuch' | |||
wgServer: 'https://de.dicoado.org' | |||
</syntaxhighlight> | |||
=== To be decided === | |||
# Is there remarks about the files organisation? see [[#Files]] | |||
# What is the prefered organisation of the config? see [[#Config]] | |||
#* 1. Raw PHP files like currently OR | |||
#* 2. YAML/PHP arrays like Wikimedia/MediaWikiFarm and possibly a small raw PHP file | |||
#** In case of 2, something more like organisation '''''(a)''''' or '''''(b)''''' (or a mix) | |||
#** In case of 2, what prefered format for arrays: PHP or YAML files | |||
Dernière version du 18 novembre 2025 à 12:51
Voir aussi[modifier le wikicode]
Procedure for a minor update[modifier le wikicode]
The following procedure uses git-iterate available at https://github.com/Seb35/git-iterate, installed on wmch-dicoado1 in /usr/local/bin.
Example below for the update from 1.43.2 to 1.43.5.
cd /opt/mediawiki
cp -a 1.43.2 1.43.5
cd 1.43.5
git fetch --all
git status -s # should be without "Changes to be committed" neither "Changes not staged for commit", else check if some changes need to be transported to the new version, especially in `includes/`
git branch -vv # the active branch should be REL1_43
git tag -l|grep 1.43 # there should be 1.43.5
git reset --keep 1.43.5 # safe command: if it cannot be changed without modifying any unrecorded file, then nothing will be done
git iterate extensions skins -- branch -vv # for information, the current branch of the extensions and skins, should be REL1_43 in most cases but some may be master or main or something else
git iterate --unclean extensions skins -- status -s # if any extension or skin is modified, check if these changes need to be transported to the new version
git submodule update --init --recursive -- extensions skins
git iterate --not-submodule --clean --branch=REL1_43 extensions skins -- merge --quiet --ff-only # update REL1_43 branches to their last commit
git iterate --not-submodule --clean extensions skins -- br # is there any un-updated extensions/skins? probably some to be updated manually
git iterate --unclean extensions skins -- status # is there any un-updated extensions/skins? should be updated manually
composer update --no-dev
The extensions currently installed not following the branch REL1_43 are:
- Antispam (branch master and custom commits for maintenance)
- GoogleRichCards (branch master)
- MetaDescriptionTag (branch master)
- PDFEmbed (version 3.0.1)
- SemanticMediaWiki (version 6.0.1, installed via Composer)
Other special extensions:
- SemanticMediaWiki: the version of the extension SemanticMediaWiki is fixed in composer.local.json in the root directory. Check particularly this extension, and modify the requested version if needed (see the compatibility matrix and the recent releases).
- PageForms: branch REL1_43 but there are 4 specific commits fixing some bugs:
- commit 4fa7800926e644a661cef43a19caf5ab38323a3b: fix a bug with some forms
- commit b18534ffe07bc1b8e32b2f5f30707336c2eb87e0: Compatibility with SMW 5.x
- commits 42b2743533e459d5be46ea57c06c058b68831071 and f2352282c66849efbb6aef9c590c13132f0299b0: cherry-picked from official commits e86d7020731f7c32451396dcb92f6f860daeb645 and 178b0e484c2604749a49be06bc51b03e28141a92 (backport to REL1_43)
Then modify in /etc/mediawiki/versions-prod.php:
sudo vi /etc/mediawiki/versions-prod.php
Mise à jour MediaWiki 1.39[modifier le wikicode]
https://demo.fr.dicoado.org/dico/Dico:Accueil
Tableau des tâches[modifier le wikicode]
Intervenants Wiki Valley : Seb35 (SB)
Tableau des factures de support[modifier le wikicode]
| factures num | heures |
|---|---|
| TOTAL | 50 |
| FAC-2025-12 | 20 |
| FAC-2024-9 | 10 |
| 2023,017 | 10 |
| 2023.019 | 10 |
| Date | Task heures consommées : 47.75
- 50 heures achetées = |
duration
hours |
Worker | Status |
|---|---|---|---|---|
| TOTAL heures consommées | 47.75 | |||
| Fournir une documentation permettant de créer de nouveaux wiki | inclus presta 2023 | ✔️ | ||
| Réunion & Points UX | inclus presta 2023 (1h) | ✔️ | ||
| Skin sur Central : Reprendre le style qu’il y a sur FR | ||||
| Installation d’un répertoire centralisé de fichiers + 5 heures UX Design inclus. | inclus presta 2023 | ✔️ | ||
| Renommage et fusions globaux (essentiel) : vérifier la procédure de renommage et de fusion d’un compte utilisateur global. | inclus presta 2023 | ✔️ | ||
| Permissions globales (essentiel) : un compte utilisateur peut avoir des droits sur tous les wikis ; une politique pour les permissions globales sera mise en place, en même temps ou plus tard. | inclus presta 2023 | ✔️ | ||
| 2025-11-18 | Résolution d’un problème dans PageForms : les champs de type tokens ne proposaient pas l’autocomplétion et ça affichait le GIF d’attente indéfiniment (2 commits de PageForms backportés dans REL1_43) | 0.75 | Sébastien | |
| 2025-11-14 | Résolution de petits problèmes (cf Telegram : erreur lors de l’envoi d’emails) + écriture sur le wiki de la doc technique de màj mineure | 1 | Sébastien | |
| 2025-11-13 | Mise à jour MW 1.43.2 → 1.43.5 + documentation technique de la màj mineure + résolution de petits problèmes (cf Telegram : 2 icônes manquantes, changement du nom du site hors fr, question sur le script de maintenance run.php) | 2 | Sébastien | |
| 2025-09-24 | Suppression des images de FR transférées sur Central, retrait du logo SMW en bas des pages suite à la mise à jour, mise en place d’une exécution hebdomadaire du script updateSpecialPages.php, documentation | 1.25 | Sébastien | |
| 2025-09-24 | Mise à jour SMW 5.0.2 → 6.0.1 | 1.25 | Sébastien | |
| 2025-07-01 | [màj 1.43] Mise en prod, correction de problèmes dans VEForAll (qui ne s’activait pas) et SemanticMediaWiki #6153 | 5 | Sébastien | |
| 2025-06-13 | [màj 1.43] Correction de problèmes sur 1.43.1, dans PageForms notamment | 3 | Sébastien | |
| 2025-06-04 | [màj 1.43] Préparation de 1.43.1 | 6 | Sébastien | |
| 2025-05-15 | [màj 1.43] Téléchargement de l’installation actuelle en 1.39 | 2 | Sébastien | |
| 2025-04-23 | UX Design inclus 2023 | inclus presta 2023 (0.75h) | Mathis | |
| 2024-08-02 | Choix extensions/outils contre le spam | 0.25 | Nicolas | |
| 2024-07-29 | Analyse pic d'activité sur serveur. | 0.5 | Seb | |
| 2024-07-XX | MàJ 1.39.7 | 3 | en cours | |
| 2024-07-1X | Serveur mail | 0.75 | en attente d'infos | |
| voir demande sur tg du 19 juin | ||||
| 2024-03-11 | Re-résolution de problème graphique :
|
1,5 | Mathis | Done |
| 2024-01-16 | Résolution de problème graphique :
|
0,5 | Mathis | Done |
| 2023-12-22 | Résolution de divers problèmes graphiques :
Documentation des changements locaux sur le skin Foreground [1] |
1,5 | Mathis + Seb | Done |
| 2023-12-21 | Résolution de divers problèmes graphiques :
|
2 | Mathis + Seb | Done |
| 2023-12-20 | Étude de divers problèmes graphiques : icônes FontAwesome | 6 | Mathis + Seb | Done |
| 2023-12-12 | Aspects esthétiques | 2 | Mathis | Done |
Warning en bas des pages Deprecated: Use of BaseTemplate::getFooterIcons was deprecated in MediaWiki 1.35. [Called from foregroundTemplate::execute in /var/www/dicoado.demo/fr/httpdocs/w/skins/foreground/Foreground.skin.php at line 227] in /var/www/dicoado.demo/fr/httpdocs/w/includes/debug/MWDebug.php on line 381
Problème très mineur, peut être ignoré (comme tous les deprecated qui sont des avertissements que la fonctionnalité marche encore, mais que ça ne sera plus le cas lors des prochaines mises à jour majeures). (lors de la mise en prod, il faudra bien paramétrer |
||||
| 2023-12-08 | Icônes manquantes sur le formulaire d’édition, par exemple près de "Rechercher dans le Wiktionnaire" (ça a peut-être un lien avec le warning dans la console JS "Glyph bbox was incorrect")
La différence est que l’ancien site a FontAwesome 5.15.1 dans cette feuille de style qui définit la classe CSS "fas" (celle qui est utilisée dans le Modèle:Liens externes article) et le site de demo (avec le skin Foreground REL1_39) a FontAwesome 4.7.0 dans cette feuille de style qui ne définit pas la classe CSS "fas", juste "fa". En regardant l’historique du fichier assets/stylesheets/font-awesome.css dans https://github.com/thingles/foreground puis dans https://github.com/wikimedia/mediawiki-skins-Foreground, j’ai l’impression que la version 5.15.1 est une modification locale, est-ce bien cela ? Réponse affirmative de Vivian sur Telegram. Corrigé en copiant l’ancien fichier skins/foreground/assets/stylesheets/font-awesome.css et l’ancien répertoire skins/foreground/assets/webfonts dans l’installation 1.39. L’idéal serait de soumettre officiellement le changement à l’auteur du skin foreground. |
4,5 | SB | Corrigé localement |
| 2023-12-08 | https://demo.fr.dicoado.org/dico/Sp%C3%A9cial:AjouterDonn%C3%A9es/Ajouter_un_mot/wikifier
Impossible d'enregistrer les modifications faites depuis un formulaire. Un clic sur le bouton Enregistrer ne fait rien. Le bandeau en bas est un peu trop grand |
SB | Corrigé | |
| 2023-12-08 | En mode wikicode en cliquant sur le crayon pour passer en mode VE
|
SB | Corrigé | |
| 2023-12-08 | Dans la console JavaScript, il y a une erreur "variable pf non définie" qui fait planter le module "ext.pageforms.rating" | SB | Corrigé | |
| 2023-12-08 | Quand on modifie un mot avec le formulaire exemple https://demo.fr.dicoado.org/w/index.php?title=infundibuliforme&action=formedit
Notice: Uninitialized string offset: 35 in /var/www/dicoado.demo/fr/httpdocs/w/extensions/PageForms/includes/PF_FormPrinter.php on line 1004 Notice: Uninitialized string offset: 33 in /var/www/dicoado.demo/fr/httpdocs/w/extensions/PageForms/includes/PF_FormPrinter.php on line 1004 |
SB | Corrigé | |
| 2023-12-08 | Test fonctionnement extensions. (voir erreur ci dessus) | 0.5 | NN MB | |
| 2023-12-04- | Revue des erreurs et bugs, gestion de projet | 1 | NN SB | |
| On page Dico:Accueil
Bug : $wgShowExceptionDetails = true; at the bottom of LocalSettings.php n'affiche rien :( Solution : Commentaire de $wgUseFileCache = true; # Obsolète depuis 15 ans TODO : A Remplacer par mécanisme de cache d'Apache |
0.5 | |||
| Extension Variables https://www.mediawiki.org/wiki/Topic:Xstgpcsbv122qkpe
utilisée dans les modèles Article, Liens externes, Liens externes articles, Lowercase title, Traduction, Uppercase title, Wikimedia Commons. Est elle vraiment utile ? |
||||
| GoogleRichCards ("A laisser si on peut") | ||||
| ExtRegexFun
PHP Notice: Undefined property: Parser::$mExtRegexFun in /var/www/dicoado.demo/fr/httpdocs/w/includes/debug/DeprecationHelper.php on line 211, referer: https://demo.fr.dicoado.org/dico/Dico:Accueil |
extension useful ?
could be replaced by Extension ReplaceText. | |||
| See on Special:Version
Deprecated: Use of InternalParseBeforeSanitize hook (used in VariablesHooks::onInternalParseBeforeSanitize) was deprecated in MediaWiki 1.35. [Called from MediaWiki\HookContainer\HookContainer::run in /var/www/dicoado.demo/fr/httpdocs/w/includes/HookContainer/HookContainer.php at line 137] in /var/www/dicoado.demo/fr/httpdocs/w/includes/debug/MWDebug.php on line 381 |
0 | ✔️ | ||
| 2023-12-05 | Special:Drilldown/Article
Solution : installer dernière version REL de 1.39 de Cargo Erreur interne [5b1396ff76f420a500bfe25e] /w/index.php?title=Sp%C3%A9cial:Drilldown/Article&limit=250&offset=0 TypeError: Argument 2 passed to Wikimedia\Rdbms\Database::assertQueryIsCurrentlyAllowed() must be of the type string, null given, called in /var/www/dicoado.demo/fr/httpdocs/w/includes/libs/rdbms/database/Database.php on line 936 Backtrace: from /var/www/dicoado.demo/fr/httpdocs/w/includes/libs/rdbms/database/Database.php(1365) #0 /var/www/dicoado.demo/fr/httpdocs/w/includes/libs/rdbms/database/Database.php(936): Wikimedia\Rdbms\Database->assertQueryIsCurrentlyAllowed() #1 /var/www/dicoado.demo/fr/httpdocs/w/includes/libs/rdbms/database/Database.php(1711): Wikimedia\Rdbms\Database->query() POUR LA SUITE VOIR COMMENTAIRE CI-DESSOUS |
0.75 | SB | ✔️ |
| 2023-12-05 | Error message on top of main page :
Deprecated: Use of InternalParseBeforeSanitize hook Hook |
0.25 | SB | ✔️ |
Performance[modifier le wikicode]
Ideas to improve performance:
- Activate HTTP/2 in Apache
- Install memcached and use it as main cache
- Install an HTTP cache to replace $wgUseFileCache; might be with Apache or Varnish or something else
Farm[modifier le wikicode]
This is the initial proposition for MediaWikiFarm and options to be chosen.
Files[modifier le wikicode]
Actual:
/etc
/apache2
/sites-enabled
/home
/www-dicoado
/storage
/images <- - - - - - - - - images for fr.dicoado.org
/var
/www
/dicoado
/fr
/httpdocs <- - - - - - - Apache DocumentRoot
/w <- - - - - - - - - - contains MediaWiki 1.39.5
/LocalSettings.php
/cache <- - - - - - - contains all l10n_cache-*.cdb
/images → /home/www-dicoado/storage/images
Target with MediaWikiFarm:
/etc
/apache2
/sites-enabled (CHANGED: add the new websites/virtual hosts)
/mediawiki (NEW)
/farms.yml (NEW)
/CommonSettings.yml (NEW)
/PrivateSettings.yml (NEW)
/frSettings.yml (NEW)
/deSettings.yml (NEW)
/itSettings.yml (NEW)
/enSettings.yml (NEW)
/home
/www-dicoado
/storage
/fr (NEW)
/images (NEW)
/cache (NEW)
/tmp (NEW)
/assets (NEW)
/config (NEW)
/de (NEW)
/images (NEW)
/cache (NEW)
/tmp (NEW)
/assets (NEW)
/config (NEW)
/it (NEW)
/images (NEW)
/cache (NEW)
/tmp (NEW)
/assets (NEW)
/config (NEW)
/en (NEW)
/images (NEW)
/cache (NEW)
/tmp (NEW)
/assets (NEW)
/config (NEW)
/rm (NEW)
/images (NEW)
/cache (NEW)
/tmp (NEW)
/assets (NEW)
/config (NEW)
/opt (NEW)
/mediawiki (NEW)
/1.39.5 (NEW)
/1.39.5-test (NEW)
/var
/cache (NEW)
/mediawikifarm (NEW)
Config[modifier le wikicode]
2 URLs:
- (?<lang>fr|de|en|it)\.dicoado\.org
- (?<lang>fr|de|en|it)\.demo\.dicoado\.org
Multiple choices about organising the configuration files:
- Keep like currently the LocalSettings.php and add some
"if( $lang === 'fr' ) { } else if( $lang === 'de' ) { }- PRO: the current order of the various thematics is kept (but there is no real ordering currently)
- CON: could add confusion if there are many "if/else"
- PRO: it keep the maximum expressivity (=ability to characterise very fine situations)
- We use a PHP array (or YAML): (prefered for MediaWikiFarm)
- PRO: More "orthogonal", may be easier to understand because there are no PHP, and it fully uses the hierarchical configuration (define global settings, then specific settings)
- PRO: The configuration is considered as data instead of code, which is also the trend for MediaWiki more generally (see the experimental configuration system)
- PRO: We can keep an order in the thematics
- CON: Light learning to understand the logic
- CON: Less expressivity; but if we want to keep the PHP expressivity, we can use a dedicated PHP file (there is such feature in MediaWikiFarm)
- 2 possible organisations:
- (a) InitialiseSettings.yml + PrivateSettings.yml + ExecSettings.php: all non-private parameters for all languages in the 1st, the private settings in the 2nd, the 3rd is a raw PHP file to keep PHP expressivity (option)
- (b) CommonSettings.yml + frSettings.yml + PrivateSettings.yml + ExecSettings.php: the 1st contains all commun parameters, the 2nd the parameters for the language "fr" (resp. other languages), the 3rd the private settings, the 4th is a raw PHP file to keep PHP expressivity (option)
Notes:
- all filenames (CommonSettings.yml, InitialiseSettings.yml, ExecSettings.php…) are completely arbitrary
- The Wikimedia Foundation has something like the organisation (a) but with some thematic files (partly like organisation (b)) – keep in mind it’s a huge wiki farm:
- InitialiseSettings.php: main file with a PHP array for config for all wikis
- CommonSettings.php: raw PHP file with PHP code to use PHP expressivity (like ExecSettings.php above)
- extension-specific arrays for CirrusSearch, GrowthExperiments, ORES, Wikibase
- they partly splitted between production and labs (their pre-production), and between their 2 main datacenters (eqiad in North Virginia, codfw in Texas)
- they have a PrivateSettings.php (unpublished :-)
- most of their config is available here (mirror of Phabricator)
- MediaWikiFarm is quite flexible: there may be as much config files as wished, and each config file could apply either to a single wiki either to all wikis either to some wikis defined in the config file itself (see InitialiseSettings.yml below)
- Array formats:
- PHP: maybe slightly more difficult to read than YAML, but it’s possible to use PHP syntax like constants (
CACHE_NONE,CACHE_MEMCACHED…) or class names (MediaWiki\Deferred\DeferredUpdates::class - YAML: the syntax must be known (see Wikipedia), it’s not possible to use the constants and class names (only the basic types string, number, boolean, null, which is 99% of the values)
- JSON: quite equivalent to YAML, but keep in mind it’s not possible to use comments in JSON
- PHP: maybe slightly more difficult to read than YAML, but it’s possible to use PHP syntax like constants (
Organisation (a)[modifier le wikicode]
InitialiseSettings.yml with a YAML array:
# Website name
wgSitename:
fr: 'Le Dico des Ados'
de: 'Das Wörterbuch der Jugendlicher'
wgMetaNamespace:
fr: 'Dico'
de: 'Wörterbuch'
wgServer:
fr: 'https://fr.dicoado.org'
de: 'https://de.dicoado.org'
# Path settings
wgScriptPath:
default: '/w'
wgArticlePath:
default: '/dico/$1'
wgUsePathInfo:
default: false
InitialiseSettings.php with a PHP array:
<?php
return [
// Website name
'wgSitename' => [
'fr' => 'Le Dico des Ados',
'de' => 'Das Wörterbuch der Jugendlicher',
],
'wgMetaNamespace' => [
'fr' => 'Dico',
'de' => 'Wörterbuch',
],
'wgServer' => [
'fr' => 'https://fr.dicoado.org',
'de' => 'https://de.dicoado.org',
],
// Path settings
'wgScriptPath' => [
'default' => '/w',
],
'wgArticlePath' => [
'default' => '/dico/$1',
],
'wgUsePathInfo' => [
'default' => false,
],
];
Organisation (b)[modifier le wikicode]
CommonSettings.yml:
# This file contains commun settings for all wikis
# Path settings
wgScriptPath: '/w'
wgArticlePath: '/dico/$1'
wgUsePathInfo: false
frSettings.yml:
# This file is about fr.dicoado.org
# Website name
wgSitename: 'Le Dico des Ados'
wgMetaNamespace: 'Dico'
wgServer: 'https://fr.dicoado.org'
deSettings.yml:
# This file is about de.dicoado.org
# Website name
wgSitename: 'Das Wörterbuch der Jugendlicher'
wgMetaNamespace: 'Wörterbuch'
wgServer: 'https://de.dicoado.org'
To be decided[modifier le wikicode]
- Is there remarks about the files organisation? see #Files
- What is the prefered organisation of the config? see #Config
- 1. Raw PHP files like currently OR
- 2. YAML/PHP arrays like Wikimedia/MediaWikiFarm and possibly a small raw PHP file
- In case of 2, something more like organisation (a) or (b) (or a mix)
- In case of 2, what prefered format for arrays: PHP or YAML files