Installation
Prérequis
Magento 2.4.x. PHP 8.1–8.5. Compatible avec le thème par défaut Luma et avec le thème Hyvä. Nécessite le module gratuit codingrow/module-core, installé automatiquement. Aucune clé à saisir : le module s'active automatiquement sur votre domaine.
Étapes d'installation
- Demandez le module sur la page produit avec votre seul email : vous recevez par email les identifiants Composer (ils sont aussi dans votre espace client). Enregistrez-les depuis la racine de votre projet Magento :
composer config http-basic.repo.codingrow.com <username> <password> composer config repositories.codingrow composer https://repo.codingrow.comcomposer require codingrow/module-custom-404-maintenancebin/magento module:enable Codingrow_Custom404Maintenancebin/magento setup:upgrade— en mode production, aussisetup:di:compile,setup:static-content:deployetcache:flush.- Il n'y a aucune clé à coller : le module s'active automatiquement sur votre domaine, passez directement à la configuration ci-dessous.
setup:upgrade installe aussi le skin de la page de maintenance dans pub/errors. S'il n'y parvient pas (permissions des fichiers), exécutez une fois bin/magento codingrow:c404m:deploy avec l'utilisateur propriétaire des fichiers Magento.
Configuration
Ouvrez Admin → Stores → Configuration → Codingrow Extensions → Custom 404 & Maintenance. Chaque champ peut être défini au niveau Default, Website et Store View : utilisez le sélecteur Scope en haut à gauche pour avoir des textes ou un design différents par langue.
| Réglage | Rôle | Remarques |
|---|---|---|
| 404 Page | ||
| Enable custom 404 page | Remplace la page 404 de Magento. | Oui/Non. |
| Show large "404" number | Grand chiffre coloré au-dessus du titre. | Utilise la couleur d'accent. |
| Title / Message | Les textes de la page. | Vide = texte par défaut traduit. HTML de base accepté dans le message (b, strong, i, em, a, br, p, ul, ol, li, span). |
| Show search box | Recherche dans le catalogue de la boutique. | — |
| "Back to home" button label | Texte du bouton. | Vide = texte par défaut. |
| Maintenance Page | ||
| Installation status | Indique si le skin est installé dans pub/errors. | Doit afficher Installed (voir Page de maintenance). |
| Enable custom maintenance page | Affiche votre page pendant la maintenance. | Oui/Non par store view. |
| Title / Message | Les textes de la page. | Comme pour la page 404. |
| Highlighted note | Courte note dans la couleur d'accent. | Par ex. "De retour à 14 h". |
| Auto-reload page every (seconds) | Recharge automatiquement la page du visiteur. | 0 = jamais ; 60 = chaque minute. |
| Design | ||
| Logo / Logo max width | Logo de la boutique, logo personnalisé ou aucun. | Logo de la boutique = celui défini dans Content → Design → Configuration. |
| Background | Couleur unie, dégradé de deux couleurs ou image plein écran. | Assombrissement de l'image de 0 à 90 %. |
| Content box | Aucun, clair ou sombre. | — |
| Font / Title size / Alignment | Typographie des deux pages. | — |
| Couleurs du texte, d'accent et du texte des boutons | Couleurs, chacune avec sélecteur de couleur. | Accent = chiffre 404, liens, boutons, note. |
Désinstallation
Restaurez la page de maintenance standard de Magento avant de supprimer le module :
bin/magento codingrow:c404m:deploy --uninstall
composer remove codingrow/module-custom-404-maintenance
bin/magento setup:upgrade
Si vous supprimez le module sans --uninstall, la page de maintenance continue d'afficher la dernière version générée jusqu'à la suppression du skin. Pour revenir simplement aux pages standard sans désinstaller, réglez Enable custom 404 page et/ou Enable custom maintenance page sur No.
Guide d'utilisation
Page 404
Lorsqu'une adresse n'existe pas, au lieu de la page CMS « 404 Not Found », la boutique affiche une page plein écran avec le logo, un grand « 404 » facultatif, le titre, le message, un champ de recherche facultatif et un bouton « Retour à l'accueil ». La réponse conserve le statut HTTP 404, porte noindex et n'est jamais mise en cache : les moteurs de recherche ne l'indexent pas.
Page de maintenance
Pendant la maintenance (bin/magento maintenance:enable), Magento ne tourne pas et c'est pub/errors/503.php qui répond. Le module :
- installe un skin dans
pub/errors/codingrow_c404m/et l'active danspub/errors/local.xml(unlocal.xmlexistant est sauvegardé danslocal.xml.codingrow_c404m.bak) ; - pré-génère le HTML de la page pour chaque store view ;
- pendant la maintenance, choisit la store view de la requête (MAGE_RUN_CODE du serveur web → domaine/chemin → cookie de la boutique → langue du navigateur → boutique par défaut) et sert sa page avec HTTP 503 et
Retry-After. Si la page n'est pas activée pour cette store view, la page standard de Magento est affichée.
Le HTML est régénéré automatiquement lorsque vous enregistrez la section, lorsque le logo change dans Content → Design → Configuration et à chaque maintenance:enable. Les IP exclues avec --ip continuent de voir la boutique.
pub/errors (normal et sûr sur les serveurs sécurisés). Exécutez une fois bin/magento codingrow:c404m:deploy avec l'utilisateur propriétaire des fichiers Magento, puis rechargez la page de configuration : elle doit indiquer Installed.
Design
Le design s'applique aux deux pages : logo (logo de la boutique, logo personnalisé — jpg, png, gif, svg, webp — ou aucun) avec largeur maximale ; arrière-plan en couleur unie, dégradé de deux couleurs ou image plein écran avec assombrissement de 0 à 90 % ; encadré du contenu aucun, clair ou sombre ; police, taille du titre et alignement ; couleur du texte, couleur d'accent (chiffre 404, liens, boutons, note) et couleur du texte des boutons, chacune avec sélecteur de couleur. La page est en HTML/CSS autonome et n'utilise pas le thème : elle est identique sur Hyvä et Luma.
Aperçu en direct
Le groupe Live Preview affiche la page 404 ou la page de maintenance, en Desktop ou Mobile, mise à jour pendant que vous modifiez les champs et avec le scope sélectionné — avant d'enregistrer. Les images tout juste téléversées (logo personnalisé, image d'arrière-plan) apparaissent dans l'aperçu après l'enregistrement.
Commande CLI
bin/magento codingrow:c404m:deploy installe ou met à jour le skin de maintenance dans pub/errors et régénère les pages de toutes les store views. Elle n'est nécessaire que si le serveur web ne peut pas écrire dans pub/errors ; les fichiers du skin sont créés avec les permissions 644/755. --uninstall restaure local.xml et supprime le skin, ce qui rétablit la page de maintenance standard de Magento.
Dépannage
- Je vois toujours l'ancienne page 404 : vérifiez que Enable custom 404 page est sur Yes dans le scope de la store view consultée, videz le cache (System → Cache Management) et testez une adresse qui n'existe vraiment pas.
- Pendant la maintenance, je vois la page standard de Magento : Installation status doit être Installed, la page doit être activée pour cette store view et votre IP ne doit pas être exclue avec
--ip. Exécutez ensuitebin/magento codingrow:c404m:deploy. - Mauvaise langue pendant la maintenance : définissez les textes dans le scope de la bonne store view ; si plusieurs store views partagent la même adresse, le cookie de la boutique puis la langue du navigateur décident. Exécutez ensuite
bin/magento codingrow:c404m:deploy. - Le logo ne s'affiche pas : avec Store logo, il provient de Content → Design → Configuration → Header → Logo Image (ou du logo du thème) ; choisissez Custom logo pour en téléverser un et augmentez Logo max width s'il paraît trop petit.
- L'image d'arrière-plan n'apparaît pas dans l'aperçu : les images téléversées apparaissent après l'enregistrement ; vérifiez que Background est réglé sur Image.
Licence
Custom 404 & Maintenance est gratuit et aucune clé n'est à saisir : une fois installé, le module s'active automatiquement sur votre domaine. Il effectue une légère vérification en ligne auprès de codingrow.com, en envoyant uniquement le domaine de la boutique, le produit et la version installée (aucune donnée sur vos clients), et mémorise la dernière réponse : un problème réseau passager ne le désactive donc pas. Le formulaire de la page produit sert uniquement à vous envoyer les identifiants du dépôt Composer de Codingrow, qui permettent de télécharger le module et ses mises à jour.
Si le module devenait un jour payant : les domaines qui l'ont déjà activé restent gratuits, pour toujours, sur toutes les versions publiées jusqu'à cette date — sans changement de domaine ni demande au support. Le journal de Magento indique la dernière version installable gratuitement ; les versions suivantes nécessiteraient une licence.