Read this documentation in english: Switch a CMS to a newer version of php
Cette page est destinée à vous accompagner pour modifier la version PHP utilisée par votre site.
Les étapes sont similaires d'un CMS à l'autre. Dans le cadre de cette documentation, nous ne couvrirons que les plus communément utilisés:
- Wordpress
- Drupal
- Joomla
- Nextcloud
Vous trouverez également des liens vers la documentation officielle de SPIP dans la section Ressources externes.
Notez que la modification de la version PHP n'a pas d'impact direct sur le contenu de votre site (fichiers / bases de données), et peut être modifiée à nouveau en tout temps en cas de problèmes liés au changement de version.
Si vous êtes déjà en mesure d'établir que votre site fonctionnera correctement avec la version php visée, vous pouvez vous rendre directement à la section "Changer de version php". Vous pouvez également consulter notre FAQ "Changer la version PHP d'un sous-domaine".
Veuillez noter que tout thème, module ou extension personnalisés pourraient avoir un niveau de compatibilité différent.
Résumé des étapes
Afin de pouvoir suivre cette procédure, vous devez pouvoir vous connecter au panneau de contrôle AlternC de votre compte d'hébergement. Si vous avez oublié votre mot de passe, vous pouvez en demander un nouveau en suivant le lien request new password depuis la page de connexion.
Quel que soit le type de CMS utilisé, les étapes restent globalement les mêmes:
- Vérifier la version de son CMS
- Vérifier la compatibilité de son CMS avec une version récente de PHP
- Faire une sauvegarde intégrale (fichiers et bases de données)
- Effectuer une mise à jour si nécessaire
- Changer la version de php
- Vérifier le bon fonctionnement du site
Si vous avez des doutes ou questions lors de l'une de ces étapes, vous pouvez contacter le support afin d'obtenir de l'aide.
Si une mise à jour est nécessaire et que ne souhaitez pas la faire vous-même, notre équipe de développement web pourrait vous fournir un devis afin de prendre en charge ce travail, selon son expertise et ses disponibilités. Dans ce cas, veuillez vous assurer de nous contacter plus tôt que tard, le calendrier de l'équipe web étant plutôt chargé!
Vérifier la version de son CMS
Dans la plupart des cas, la version courante est visible depuis le panneau d'administration de votre CMS, ou encore dans les fichiers de configuration du site.
Wordpress
- se connecter au panneau d'administration
- généralement indiquée en bas à droite du panneau admin, à moins qu'une mise à jour ne soit disponible
visible depuis la page d'accueil du tableau de bord dans la boîte "D'un coup d'oeil" (ex.: WordPress 5.9.3 avec le thème TwentyTwenty)
Drupal
- se connecter au panneau d'administration
- se rendre dans "Rapports" puis dans "Tableau de bord"
- la version est indiquée en haut du tableau (ex.: Drupal 6.60)
Joomla
- se connecter au panneau d'administration
- se rendre dans la section "Informations", "Aide", "Site" ou "Système" (selon la version) puis dans l'onglet "Informations système"
- Trouver la ligne "Joomla version"
Nextcloud
- se connecter au panneau d'administration
- aller dans les paramètres depuis le menu utilisateur (en haut à droite)
- à gauche, sous la section "Administration", aller sur "Overview"
MediaWiki
Il y a différentes manières de vérifier la version de Mediawiki selon les versions:
visiter le site à l'adresse suivante: monsite.wiki/Special:Version
- vérifier le code source de n'importe quelle page:
- faire CTRL+U ou aller dans les menus du navigateur pour afficher le code source (en général sous "outils")
faire une recherche (CTRL+F) pour trouver la balise HTML "generator" indiquant la version (ex.: <meta name="generator" content="MediaWiki 1.34.4"/>)
- dans le fichier de configuration
si le fichier "DefaultSettings.php" existe: rechercher la variable wgVersion qui indique la version (ex.: $wgVersion = '1.25.1';)
sinon, ouvrir le fichier "/includes/Defines.php" et rechercher MW_VERSION (ex.: define( 'MW_VERSION', '1.37.1' );)
Vérifier la compatibilité de son CMS avec une version php
Il est vivement recommandé de viser la version php 8.1 autant que possible.
- php 7.0 a atteint sa fin de vie en décembre 2017 et les dernières mises à jour de sécurité ont été effectuées en décembre 2018
- php 7.3 a atteint sa fin de vie en décembre 2020 et les dernières mises à jour de sécurité ont été effectuées en décembre 2021
Notez que ce tableau n'est pas à jour, désolé"
Une fois que vous connaissez la version utilisée, vous pouvez vérifier dans le tableau ci-dessous si votre CMS est prêt à utiliser la version php souhaitée.
Si votre CMS supporte une version plus récente de php, vous pouvez directement vous rendre à la section "Changer de version php".
Pour SPIP:
- PHP 8.1: SPIP 4.1+
- PHP 7.3: SPIP 3.2+
- PHP 7.0: SPIP 3.1+
Pour plus de détails sur la compatibilité entre versions, veuillez visiter la page correspondant à votre CMS dans la section #Ressources_externes.
Effectuer une sauvegarde complète
Avant tout changement, quelque soit le type de CMS utilisé, une sauvegarde s'impose.
La plupart des CMS offrent des extensions facilitant cette procédure (ex.: X-cloner ou UpdraftPlus pour Wordpress).
Cette procédure ne couvre pas les dizaines de plugins existants. Elle couvre seulement la méthode pour une sauvegarde manuelle, commune à la plupart des CMS.
Pour plus de détails, vous pouvez consulter les pages dédiées aux sauvegardes dans la documentation officielle de votre CMS (voir section #Ressources_externes).
Dans la très grande majorité des cas, il s'agira de sauvegarder:
- une/des base.s de données
- les fichiers du site
Notez que, quoi qu'il arrive, nous sauvegardons l'intégralité de vos données chaque jour (conservées 5 jours). Si quelque chose devait mal se passer, il sera toujours possible de nous demander une restauration (frais applicables), mais faites vite, car nos sauvegardes sont effacées après 5 jours.
Base de données
Pour lister les bases de données existantes, cliquez sur "Bases de données" dans le panneau latéral.
Pour afficher tous les détails (utilisateur, mot de passe, permissions...), ou encore accéder à PhpMyAdmin pour visualiser le contenu de la base de données, cliquez sur "Afficher les paramètres".
Vous pouvez également accéder à PhpMyAdmin directement depuis le menu latéral, sous "Bases de données".
Si vous n'avez qu'une base de données, vous pouvez passer à l'étape suivante afin de la sauvegarder.
Si vous avez plusieurs bases de données et n'êtes pas certain.e de laquelle sauvegarder, continuez avec la section ci-dessous.
Determiner le nom de la base de données à sauvegarder
Les informations de connexion à la base de données sont en général configurées dans un fichier situé à la racine de votre site.
Si vous ne connaissez pas le nom de la base de données à sauvegarder ou que vous en avez plusieurs de créées, il vous faudra déterminer quelle base de données est reliée à votre site.
- Wordpress
- Fichier: wp_config.php
- information à rechercher:
define('DB_NAME', 'nom_base_de_donnees');
- Drupal
- fichier: sites/default/settings.php
- information à rechercher:
$databases['default']['default'] = [ 'database' => 'nom_base_de_donnees', ... ];
- Joomla
- fichier: configuration.php
- information à rechercher:
$db = 'nom_base_de_donnees';
- Nextcloud
- fichier: config.php
- information à rechercher:
'dbname' => 'nom_base_de_donnees',
fichier: LocalSettings.php
- information à rechercher:
$wgDBname = 'nom_base_de_donnees';
Pour accéder aux fichiers, cliquez sur le "Gestionnaire de fichiers" dans le panneau latéral, naviguez jusqu'au dossier racine de votre site et repérez le fichier de configuration de votre CMS.
Cliquez sur le fichier afin d'en visualiser le contenu. Ex.:
Si vous n'êtes pas certain.e de savoir quel est le dossier racine de votre site, vérifiez la section #Fichiers afin de déterminer où se trouve votre site.
Exporter la base de données
Connectez-vous à PhpMyAdmin depuis les paramètres de la base de données, ou bien depuis le panneau latéral (section MySQL > PhpMyAdmin).
Dans l'interface de gestion de base de données PhpMyAdmin, cliquez sur le nom de votre base de données à gauche.
Cliquez ensuite sur l'onglet "Exporter" en haut.
Laissez les paramètres par défaut (rapide/SQL) et cliquez sur "Exécuter" afin de sauvegarder la base de données sur votre ordinateur.
Fichiers
Les fichiers situés dans le répertoire racine de votre site doivent également être archivés.
En cliquant sur votre domaine dans le panneau latéral de alternC afin de l'éditer, vous devriez voir une entrée "hébergé localement..." et un dossier associé: il s'agit du répertoire racine de votre site.
Vous pouvez directement cliquer sur ce dossier afin d’accéder au gestionnaire de fichiers. Vous pouvez également passer par le panneau latéral et cliquer sur "Gestionnaire de fichiers".
Si vous ne voyez rien, votre site est probablement en HTTPS, l'entrée étant alors dans les options avancées. Vous pouvez toujours accéder aux fichiers directement par le gestionnaire. S'il n'est pas en HTTPS, il n'est peut-être pas hébergé localement (il pourrait être sur un serveur privé, par exemple). N'hésitez pas à nous contacter en cas de question à ce sujet.
Une fois dans le gestionnaire de fichiers, dans le dossier racine, cliquez sur "Télécharger ce répertoire" en bas de page afin de télécharger une archive de vos fichiers. Cela peut prendre un moment selon la taille de vos fichiers.
Mise à jour
Cette documentation ne saurait malheureusement couvrir toutes les étapes spécifiques de mise à jour pour chaque CMS existant.
Nous vous invitons à consulter pour cela la documentation officielle de votre CMS dans la section #Ressources_externes de votre CMS.
Dès la mise à jour effectuée vers une version de votre CMS supportant la version php cible, vous pouvez passer à l'étape finale consistant à changer de version PHP pour votre site.
- wordpress: il est recommandé de mettre à jour le coeur en premier, puis le thèmes, les extensions et enfin les traductions
- drupal: il est recommandé de mettre à jour les modules avant le coeur
Changer de version php
Avant de changer la version de PHP, nous vous recommandons de baisser temporairement le TTL (time to live) de votre domaine à 600s afin que les changements prennent effet plus rapidement. De cette façon, vous pourrez revenir plus vite à une version fonctionnelle en cas de problème.
Pour cela, cliquez sur l'onglet "Configuration" depuis l'édition du domaine. Prenez note du TTL actuel afin de le remettre à sa valeur d'origine une fois terminé:
Patientez la durée du TTL d'origine avant de faire des changements (habituellement, 3600s/1h).
Lorsque vous êtes prêt.e à changer de version, éditez votre domaine, et cliquez sur modifier:
Copiez le contenu chemin vers le dossier racine de votre site dans le champ correspondant à la version php cible, et cochez le bouton radio de celle-ci puis validez.
Exemple de changement de version de php 7.3 à php 8.1:
Vérifier maintenant le bon fonctionnement de votre site (sans oublier de laisser le temps au changement de se propager)!
En cas de problème, effectuez l’opération inverse afin de revenir à la version précédemment utilisée.
Si tout est beau, félicitations, vous avez terminé et vous pouvez remettre le TTL de votre domaine à sa valeur d'origine!
DNS externe
Si votre zone DNS n'est pas gérée par alternC, voici les entrées dont vous aurez besoin (A ou CNAME):
- PHP 8.1
- A: 199.58.80.35
- CNAME: lb-php81.koumbit.net
- PHP 7.3
- A: 199.58.80.31
- CNAME: lb-php73.koumbit.net
Ressources externes
Wordpress
Tableau complet de la compatibilité php: https://make.wordpress.org/core/handbook/references/php-compatibility-and-wordpress-versions/
Mise à jour (FR): https://fr.wordpress.org/support/article/updating-wordpress/
Mise à jour (EN): https://wordpress.org/support/article/updating-wordpress/ (extended: https://wordpress.org/support/article/upgrading-wordpress-extended-instructions/)
Sauvegarde complète (FR): https://fr.wordpress.org/support/article/wordpress-backups/
Sauvegarde complète (EN): https://wordpress.org/support/article/wordpress-backups/
Drupal
Mise à jour (FR): https://www.drupal.org/fr/docs/user_guide/fr/security-update-core.html
Mise à jour (EN): https://www.drupal.org/docs/user_guide/en/security-update-core.html
Mise à jour modules (FR): https://www.drupal.org/fr/docs/user_guide/fr/security-update-module.html
Mise à jour modules (EN): https://www.drupal.org/docs/user_guide/en/security-update-module.html
Mise à jour thèmes (FR): https://www.drupal.org/fr/docs/user_guide/fr/security-update-theme.html
Mise à jour thèmes (EN): https://www.drupal.org/docs/user_guide/en/security-update-theme.html
Sauvegarde complète (FR): https://www.drupal.org/fr/docs/user_guide/fr/prevent-backups.html
Sauvegarde complète (EN): https://www.drupal.org/docs/user_guide/en/prevent-backups.html
Joomla
Mise à jour (FR): https://docs.joomla.org/Portal:Upgrading_Versions/fr
Mise à jour (EN): https://docs.joomla.org/Portal:Upgrading_Versions
Sauvegarde complète (FR): https://docs.joomla.org/Backup_Basics_for_a_Joomla!_Web_Site/fr
Sauvegarde complète (EN): https://docs.joomla.org/Backup_Basics_for_a_Joomla!_Web_Site
SPIP
Prérequis (FR) : https://www.spip.net/fr_article4351.html
Prérequis (EN) : https://www.spip.net/en_article6659.html
Mise à jour (FR): https://www.spip.net/fr_article1318.html
Mise à jour (EN): https://www.spip.net/en_article2154.html
Nextcloud
Mise à jour (EN): https://docs.nextcloud.com/server/latest/admin_manual/maintenance/upgrade.html
Sauvegarde complète (EN): https://docs.nextcloud.com/server/latest/admin_manual/maintenance/backup.html
Préquis système (dernière version): https://docs.nextcloud.com/server/latest/admin_manual/installation/system_requirements.html
- Pour les prérequis d'une version spécifique, cliquer sur "v:latest" en bas du panneau de gauche afin de changer de version
Aller dans Installation > System requirements depuis le panneau de gauche
MediaWiki
Tableau complet de la compatibilité php: https://www.mediawiki.org/wiki/Compatibility#PHP
Mise à jour (FR): https://www.mediawiki.org/wiki/Manual:Upgrading/fr
Mise à jour (EN): https://www.mediawiki.org/wiki/Manual:Upgrading
Sauvegarde complète (FR): https://www.mediawiki.org/wiki/Manual:Backing_up_a_wiki/fr
Sauvegarde complète (EN): https://www.mediawiki.org/wiki/Manual:Backing_up_a_wiki