Guide Joomla v1.0.0
Display By Device ajoute deux commutateurs à chaque module Joomla : mobile uniquement, bureau uniquement. Filtrage côté serveur, aucune table, aucune dépendance.
Présentation
Display By Device ajoute deux commutateurs à chaque module Joomla : mobile uniquement, bureau uniquement. Filtrage côté serveur, aucune table, aucune dépendance.
Prérequis
- Joomla 4.4, 5 ou 6 selon la version du paquet.
- PHP 8.1 ou version ultérieure recommandée.
- Une sauvegarde récente avant toute installation ou mise à jour.
Installation
- Téléchargez le paquet ZIP sans le décompresser.
- Dans Joomla, ouvrez Système → Installation → Extensions.
- Déposez le fichier ZIP dans la zone d’installation, puis attendez le message de confirmation.
- Ouvrez le composant depuis le menu Composants. Si le paquet contient un plugin, vérifiez son état dans Système → Gestion → Plugins.
- Contrôlez les autorisations du composant avant de l’ouvrir aux équipes.
Configuration initiale
- Ouvrez le tableau de bord de l’extension.
- Accédez aux Options pour définir les réglages globaux.
- Attribuez les droits Créer, Modifier, Supprimer et Administrer aux groupes concernés.
- Créez un premier élément de test et vérifiez son affichage côté site lorsqu’une vue publique est fournie.
- Activez les tâches planifiées ou plugins du paquet uniquement lorsqu’ils sont nécessaires.
Fonctionnalités
Deux commutateurs par module
Le plugin ajoute un onglet « Affichage par appareil » au formulaire d'édition de module, avec deux interrupteurs : « Mobile uniquement » et « Bureau uniquement ». Les deux sont sur Non par défaut : tant que vous n'y touchez pas, absolument rien ne change sur votre site.
Intégré au gestionnaire de modules
Les champs sont injectés par l'événement onContentPrepareForm, et uniquement dans le formulaire com_modules.module. Aucun override de template, aucun code court à insérer, aucun champ personnalisé à créer au préalable.
Filtrage côté serveur
Sur l'événement onAfterModuleList, les modules qui ne correspondent pas à l'appareil sont retirés de la liste avant que Joomla ne les rende. Ce n'est pas un masquage CSS : le HTML du module n'est jamais produit.
Détection déléguée au cœur de Joomla
Le plugin n'écrit aucune expression régulière maison. Il interroge Browser::getInstance()->isMobile(), la classe de détection livrée avec Joomla : un singleton qui analyse l'en-tête User-Agent une seule fois par requête, quel que soit le nombre de modules de la page.
Portée d'exécution réglable
Un seul paramètre global, trois valeurs : site uniquement, administration uniquement, ou les deux (valeur par défaut). Le plugin s'arrête également tout de suite si le document en cours n'est pas du HTML — vos flux, vos exports et vos réponses JSON ne sont jamais touchés.
Empreinte nulle
Aucune table créée, aucune requête SQL, aucune lecture de paramètre d'URL, aucun appel réseau, aucun CSS ni JavaScript ajouté à vos pages. Trois fichiers PHP, 318 lignes en tout, commentaires compris.
Installez le paquet
Une archive ZIP de 8,6 Ko dans Extensions → Installer. Elle dépose trois fichiers PHP, le manifeste et quatre fichiers de langue. Aucune table n'est créée, aucune migration n'est jouée.
Activez le plugin
Dans le gestionnaire de plugins, activez le plugin système « Yapuka Display By Device ». C'est le seul élément à activer : le paquet ne contient ni composant, ni module, ni second plugin.
Premiers usages
- Commencez avec un cas simple et des données non sensibles.
- Validez le résultat avec l’équipe qui utilisera l’extension.
- Documentez les choix propres au site : rôles, automatisations, modèles et intégrations.
- Déployez progressivement, puis surveillez les journaux et retours utilisateurs.
Captures d’écran


Dépannage
- L’extension n’apparaît pas après installation
- Vérifiez le message d’installation, l’état du composant et des plugins, puis videz le cache Joomla/WordPress.
- Une action est refusée
- Contrôlez les droits du groupe utilisateur, le jeton de session et les éventuelles restrictions de sécurité.
- Le rendu ne correspond pas au site
- Testez avec le cache désactivé, inspectez les substitutions de template et recherchez un conflit CSS ou JavaScript.
- Une intégration externe échoue
- Vérifiez l’URL, les identifiants, les quotas et les journaux sans copier de secret dans une demande d’assistance.
Mise à jour et désinstallation
Avant une mise à jour, sauvegardez les fichiers et la base de données, lisez les changements de version, puis testez sur une copie du site. Pour désinstaller, exportez d’abord les données utiles. La suppression d’un paquet peut retirer plusieurs composants, modules ou plugins associés.