Jump to content

Extension:MobileFrontend

From mediawiki.org
This page is a translated version of the page Extension:MobileFrontend and the translation is 100% complete.
Manuel des extensions MediaWiki
MobileFrontend
État de la version : stable
Implémentation Interface utilisateur, Accroche
Description Fournit un affichage adapté aux équipements mobiles
Auteur(s)
Dernière version 2.4.1
Politique de compatibilité Versions ponctuelles alignées avec MediaWiki. Le master n'est pas compatible arrière.
MediaWiki 1.33+[1]
PHP 5.5.9+
Licence Licence publique générale GNU v2.0 ou supérieur
Téléchargement
README
Exemple m.mediawiki.org
  • $wgMFSearchGenerator
  • $wgMFStopRedirectCookieHost
  • $wgMFShowMobileViewToTablets
  • $wgMFLazyLoadImages
  • $wgMFRSSFeedLink
  • $wgMFNamespacesWithLeadParagraphs
  • $wgMFAmcOutreachMinEditCount
  • $wgMFEnableMobilePreferences
  • $wgMFMobileFormatterOptions
  • $wgMFRemovableClasses
  • $wgMFNoindexPages
  • $wgMFShowFirstParagraphBeforeInfobox
  • $wgMFEnableVEWikitextEditor
  • $wgMFVaryOnUA
  • $wgMFLogWrappedInfoboxes
  • $wgMFDisplayWikibaseDescriptions
  • $wgMFEnableJSConsoleRecruitment
  • $wgMobileFrontendFormatCookieExpiry
  • $wgMFLazyLoadSkipSmallImages
  • $wgMFSearchAPIParams
  • $wgMFMobileHeader
  • $wgMFCustomSiteModules
  • $wgMFEnableXAnalyticsLogging
  • $wgMFAutodetectMobileView
  • $wgMFSiteStylesRenderBlocking
  • $wgDefaultMobileSkin
  • $wgMFUseDesktopSpecialEditWatchlistPage
  • $wgMFCollapseSectionsByDefault
  • $wgMFEnableFontChanger
  • $wgMFScriptPath
  • $wgMFEditNoticesConflictingGadgetName
  • $wgMFStopMobileRedirectCookieSecureValue
  • $wgMFAdvancedMobileContributions
  • $wgMFFallbackEditor
  • $wgMFEnableBeta
  • $wgMFSpecialPageTaglines
  • $wgMFQueryPropModules
  • $wgMFAmcOutreach
  • $wgMFBetaFeedbackLink
  • $wgMFDefaultEditor
  • $wgMFManifestBackgroundColor
  • $wgMFManifestThemeColor
  • $wgMFEnableManifest
  • $wgMFEnableWikidataDescriptions
  • $wgMFUseWikibase
  • $wgMFNamespacesWithoutCollapsibleSections
  • $wgMFTrackBlockNotices
  • $wgMobileUrlCallback
  • $wgMFMinCachedPageSize
Téléchargements trimestriels 798 (Ranked 3rd)
Utilisé par les wikis publics 9,025 (Ranked 14th)
Traduire l’extension MobileFrontend sur translatewiki.net si elle y est disponible
Problèmes Tâches ouvertes · Signaler un bogue

L'extension MobileFrontend aide à améliorer la présence des mobiles dans une instance MediaWiki.

Les fonctionnalités comportent :

  • Crée un site séparé dédié aux mobiles, pour le trafic utilisant des appareils mobiles,
  • fournit des transformations de contenu variées afin de rendre votre contenu plus sympathique,
    • Notamment la réduction de section et la réorganisation et la suppression du contenu, y compris en plaçant le paragraphe principal au-dessus de la photo principale ou de la boîte d'informations, même si le paragraphe principal se trouve en dessous dans le code source de la page.
  • simplifie le bas de page sur les mobiles et ajoute un lien vers les versions bureau et mobile du site.
  • fournit une mode bêta avec un système de gestion des fonctions pour ajouter des fonctionnalités expérimentales pour les utilisateurs anonymes.

Cette page est conçue pour les utilisateurs terminaux qui veulent l'installer sur leur instance de développement. Si vous êtes partant pour nous aider, construisez-la et améliorez-la; nous vous encourageons à participer.

Prérequis

Avant d'installer MobileFrontend, si vous faites un usage important des modèles et/ou de styles en ligne (c'est à dire de l'attribut style) vous devez vérifier votre contenu afin qu'il soit compatible avec l'affichage sur mobiles. L'extension TemplateStyles peut être utilisée pour mettre en forme le contenu pour qu'il apparaisse plus agréablement sur les mobiles et les bureaux. MobileFrontend ne corrigera pas cela à votre place par magie !

En particulier, si vous désirez relire votre page d'arrivée (page d'accueil). Voir le Format de la page d'accueil pour mobiles.

Installation

  • Téléchargez et placez le(s) fichier(s) dans un répertoire appelé MobileFrontend dans votre dossier extensions/.
    Les développeurs et les contributeurs au code doivent à la place installer l'extension à partir de Git en utilisant:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/MobileFrontend
  • Ajoutez le code suivant à la fin de votre fichier LocalSettings.php  :
    wfLoadExtension( 'MobileFrontend' );
    
  • Si nécessaire configurez à votre convenance
  • Yes Fait – Accédez à Special:Version sur votre wiki pour vérifier que l'extension a bien été installée.


Installation Vagrant :

  • Si vous utilisez Vagrant , installez avec vagrant roles enable mobilefrontend --provision

Configurer Nearby

La fonctionnalité Nearby de MobileFrontend a été supprimée dans MediaWiki 1.40. Au lieu de cela, une version réécrite de cette fonctionnalité est disponible sur Extension:NearbyPages .

MobileFrontend fournit la page Special:Nearby avec un petit paramètrage. Pour que celle-ci puisse fonctionner, certaines étapes facultatives sont nécessaires :

  1. A cause de la sécurité des navigateurs, vous devrez exécuter votre site sécurisé sous SSL — il n'est pas possible de demander l'emplacement d'un utilisateur sur HTTP.
  2. Installez l'extension GeoData
  3. Exécutez update.php
  4. Dans LocalSettings.php ajoutez $wgMFNearby = true;
  5. Déterminez les coordonnées de l'article :
    1. Ajoutez des données de localisation à vos articles en utilisant la fonction d'analyseur coordinates, par exemple {{#coordinates:37.786971|-122.399677|primary}}. Pour plus de détails sur la syntaxe, consultez la documentation de GeoData .
    2. Alternativement vous pouvez utiliser une installation MediaWiki séparée pour Nearby en déclarant $wgMFNearbyEndpoint dans votre fichier LocalSettings.php . Par exemple, $wgMFNearbyEndpoint = 'https://en.m.wikipedia.org/w/api.php'; utilisera les coordonnées des articles de la Wikipedia anglaise. Le point de proximité sera utilisé pour trouver le contenu relatif à un emplacement donné.

Configurer un habillage

MobileFrontend vous fournit un site web formaté pour les mobiles, qui reste cohérent avec le site existant pour le bureau. Vous pouvez y changer l'habillage comme vous le voulez.

// Choisissez l'une de ces paires de lignes et ajoutez le code choisi au bas du fichier LocalSettings.php :
wfLoadSkin( 'MinervaNeue' );
$wgDefaultMobileSkin = 'minerva'; // utilisez l'habillage Minerva (Vous devez le télécharger et l'installer séparément en 1.37 et plus anciens, sinon vous aurez une exception)
wfLoadSkin( 'Vector' );
$wgDefaultMobileSkin = 'vector'; // utilisez l'habillage Vector
wfLoadSkin( 'Timeless' );
$wgDefaultMobileSkin = 'timeless'; // utilisez l'habillage Timeless

Les habillages suivants sont compatibles avec MobileFrontend :

Paramètres de configuration

Voir Extension:MobileFrontend/Configuration

Toutes les options de configuration sont détaillées dans le fichier README.md.

Ajustements supplémentaires

Tirez le meilleur parti de MobileFrontend en ajoutant ces extensions compatibles facultatives :

Personalisations locale

Mise en forme CSS

Version de MediaWiki :
1.40

Pour appliquer le CSS à votre thème mobile, modifiez MediaWiki:Mobile.css, la contrepartie de MediaWiki:Common.css. Pour que la feuille de style fonctionne, vous devrez peut-être ajouter mw.loader.using('mobile.site.styles') à vos MediaWiki:Mobile.js.

MobileFrontend ne charge aucun des fichiers MediaWiki:Common.css globaux, ni aucune des feuilles de style de l'utilisateur.

En savoir plus

Si vous souhaitez tester l'extension mobile sur un navigateur de bureau ou si votre appareil ne gère pas la version mobile, vous pouvez ajouter la paire clé-valeur suivante à l'URL de la chaîne de la requête : ?useformat=mobile. Par exemple : https://en.wikipedia.org/wiki/MediaWiki?useformat=mobile

Si vous souhaitez afficher la version mobile d'une page sans activer l'extension sur l'ensemble du site, vous pouvez également ajouter la chaîne à l'URL de cette page.

Anciennes fonctionnalités de MobileFrontend

MobileFrontend a été traditionnellement une très grosse extension. Beaucoup de fonctionnalités ont soit surpassé leurs besoins ou vont le faire à une date prochaine. Elles sont listées ci-dessous.

API

Les APIs sont fournies par l'extension MobileFrontend, mais à long terme nous espérons les rendre obsolètes en faveur du service de contenu page. Utilisez ces APIs à vos propres risques. Elles peuvent disparaître (bien que nous vous fournirons assez d'informations en temps voulu) !

API MobileView

Voir Extension:MobileFrontend/MobileViewAPI .

action=parse étendu

action=parse accepte les paramètres supplémentaires :

mobileformat=
Renvoie la page HTML générée dans un format pour mobiles 1.23+.
mainpage
Applique les transformations sur la page d'accueil pour les mobiles.

Exemple :

Résultat
{
    "parse": {
        "title": "Therion (band)",
	    "text": {
            "*": "<div><table class=\"infobox vcard plainlist\" style=\"width:22em\"><tr><th colspan=\"2\" style=\"text-align:center;font-size:125%;font-weight:bold;background-color: #b0c4de\"><span class=\"fn org\">Therion</span></th>\n</tr><tr><td colspan=\"2\" style=\"text-align:center\"><a href=\"/wiki/File:2130860153_281d30b3bf_b.jpg\" class=\"image\">
            ...

meta=siteinfo

Le domaine de la version mobile du site (qui peut être ou pas, le même que le domaine standard) est disponible sous la clé mobileserver dans les informations générales siteinfo.

Pour les développeurs/administrateurs système

Configuration

Il se peut que vous deviez exécuter npm install et installer PHP Composer pour que l'accroche avant validation puisse fonctionner, au regard de ce que vous faites avec l'extension.

Tester avec les articles d'un wiki externe (données actuelles)

Voir Extension:MobileFrontendContentProvider .

Utiliser l'affichage pour mobiles

Sites WMF

Sur les sites de la Fondation Wikimedia, nous utilisons les serveurs de cache Varnish pour vérifier l'agent utilisateur de votre appareil.

Sites non-WMF

Pour les sites non WMF, vous pouvez soit faire votre configuration en imitant la façon dont les choses se font au WMF (faire la détection de périphérique au niveau de la couche proxy et définir des en-têtes X-Device spécifiques), ou vous pouvez simplement utiliser ?Useformat=mobile pour forcer un article à utiliser la vue mobile. See Extension:MobileFrontend/Configuring browser auto-detection.

A partir de l'instantané de la version 1.28, la valeur par défaut $wgMFMobileHeader a été changée de X-WAP en X-Subdomain. Vous pouvez soit définir $wgMFMobileHeader = 'X-WAP';, soit modifier le paramètre d'en-tête de votre cache (Varnish), tant qu'ils correspondent.

Utiliser Apache (.htaccess ou httpd.conf)

Pour configurer un domaine mobile, ajoutez la règle suivante à .htaccess ou dans http.config

<IfModule mod_headers.c>
<If "req('Host') =~ /^mobile./i">
RequestHeader set X-Subdomain "mobile"
</If>
</IfModule>

Dans votre fichier hosts (en supposant que votre site pour bureau se trouve sur localhost) :

127.0.0.1  mobile.localhost

Dans LocalSettings.php :

wfLoadExtension('MobileFrontend');

$wgMFAutodetectMobileView = true;
$wgMobileUrlCallback = fn( $domain ) => "mobile.$domain";

Si vous allez sur mobile.localhost vous devriez voir le site mobile.

FAQ

Les questions suivantes apparaissent fréquemment sur notre page de discussion. Veuillez vérifier cette liste avant de publier le sujet sur la page de discussion, ou utilisez le sujet de discussion existant, pour recevoir des clarifications.

Question: comment personnaliser le menu principal de l'habillage Minerva ?

Réponse : ceci est suivi dans Phabricator mais vous pouvez voir Topic:Tiggc18fvd3stmsf une solution intermédiaire.

Question: comment puis-je ajouter du code HTML à l'habillage Minerva, par exemple pour introduire des annonces ou des balises de script supplémentaires ?

Réponse : vous pouvez faire cela en modifiant le fichier du modèle (actuellement include/skins/minerva.mustache). Voir cette discussion pour les détails.

Question: l'extension que j'utilise semble ne pas fonctionner sous MobileFrontend. Pourquoi ?

Réponse : il est vraisemblable que l'extension est ancienne et a besoin de compatibilité avec MobileFrontend. Veuillez contacter les développeurs de l'extension en les orientant vers l'écriture d'un module ResourceLoader compatible MobileFrontend. Veuillez ne pas publier sur la page de discussion, car dans ce cas, il serait préférable de rapporter le bogue sur Phabricator (vous pouvez vous connecter en utilisant votre nom d'utilisateur MediaWiki.org) pour une réponse plus rapide.

Question: j'ai mis à jour MobileFrontend et maintenant j'obtient une exception fatale !

Réponse : Vous utilisez probablement des versions incompatibles de MobileFrontend et MediaWiki. Dans la plupart des cas, nous ne pouvons pas vous aider ici. Essayez de faire la mise à jour de MobileFrontend ou de MediaWiki pour résoudre votre problème.

Question: après avoir fait la mise à jour de MediaWiki j'obtiens l'exception que wgMFDefaultSkinClass n'est pas configuré correctement.

Réponse : MobileFrontend suppose actuellement que l'habillage Minerva Neue a été installé. Sinon, vous devrez installer ceci ou configurer votre habillage mobile à l'aide des instructions ci-dessus.

Pour les développeurs d'extensions

Par défaut, les modules de ressources des extensions ne seront pas chargés dans les affichages pour mobiles.

Si un module doit être chargé dans la vue mobile le guide sur l'écriture des modules compatibles MobileFrontend vous aidera.

Voir aussi

Références

  1. :Fatal error: Uncaught ExtensionDependencyError: MobileFrontend is not compatible with the current MediaWiki core (version 1.32.2), it requires: >= 1.33.0.