cimobile : plugin « détection et aiguillage des téléphones mobiles »

Le plugin « cimobile » détecte les téléphones mobiles et les aiguille vers le jeu de squelettes correspondant.

Pour détecter un mobile, il prend en compte le « User-Agent », un cookie, un paramètre d’URL, une URL spécifique pour mobile. Il n’utilise pas de script javascript. Il ne nécessite pas de modifier les squelettes du site classique.

Il offre simultanément plusieurs versions d’une même page, à partir de squelettes différents et en tenant compte des mécanismes de cache.

Il n’est pas intrusif vis-à-vis des fichiers de squelettes. En particulier, il évite de recourir à des préfixes dans le nom des squelettes (par exemple « iphone_article »). En effet, l’utilisation de préfixe présente plusieurs limites :
-   elle est intrusive vis-à-vis des squelettes, puisqu’il est nécessaire d’utiliser des URL spécifiques tenant compte des préfixes (« iphone_ », « bberry_ », etc.).
-   les articles redirection ne fonctionneront pas lorsqu’on utilise la version mobile. Ils s’afficheront sans effectuer de redirection. En effet, SPIP déclenche une éventuelle redirection uniquement si la page demandée est une page « article ».
-   les liens internes dans le texte d’un article (exemple : [lien->art44]) seront traduits par SPIP en liens vers la page du site classique.
-   etc.

Le plugin « cimobile » ne fournit pas de squelettes spécifiques pour mobiles. La version 3 du plugin « iTwX », qui offre des squelettes spécifiques pour mobiles, est compatible avec Cimobile.

Compatibilité

Le plugin est compatible avec SPIP 2.0, SPIP 2.1 et SPIP 3.0svn.
Il est compatible avec PHP 5 (y compris PHP 5.3).
Il ne surcharge aucune fonction.

Installation

Le plugin s’installe comme tous les plugins, cf. http://www.spip.net/fr_article3396.html

Comme le plugin « cimobile » ne fournit pas de squelettes spécifiques pour mobiles. Il est nécessaire d’installer aussi le plugin « iTwX » :
-  la version 2 de « iTwX », adaptée pour « cimobile », est disponible à cette adresse. ATTENTION : elle n’est plus maintenue car elle a été remplacée par la version 3.
-  la version 3 de « iTwX » est compatible nativement avec Cimobile. Elle est disponible à cette adresse.

Utilisation

L’utilisation du plugin est décrite de manière détaillée dans la documentation jointe au présent article.

Discussion

26 discussions

  • 4

    Bonjour,

    J’ai quelques questions de principe, car je suis un peu décontenancé. J’ai installé Cimobile et puis iTwX Mobile v3, puisque c’est recommandé pour « voir comment ça marche ». Je vois effectivement le site (en 2.1.17), terriblement transformé dans mon smartphone de contrôle, mais ce n’est pas cela que je veux. Je voudrais présenter un squelette entièrement personnalisé (en fait, le squelette actuel dupliqué, puis modifié, simplifié, bref adapté aux smartphones).

    Cela est-il possible ? Un dossier squelette « normal » et complet fait-il l’affaire ? Dans l’affirmative, où faut-il le placer ?

    Merci de vos réponses à mes naïves questions.

    Béat

    • Bonjour,
      C’est possible. Le plugin contenant les jeux de squelettes devra impérativement avoir un dossier spécifique « squel_mobiles » et, au sein de ce dossier, un sous dossier par jeu de squelettes. Pour plus de détails, il convient de consulter le document « Description du plugin cimobile 110726.pdf » qui figure sur cette page.

    • Bonjour et merci de cette rapide réponse,

      La notion de plugin ne m’est pas très claire (je n’ai jamais réalisé un plugin !)… Si je comprends bien, je peux créer dans mon dossier plugins un nouveau dossier (un plugin) qui reproduira l’arborescence qu’on peut voir en page 14 de « Description du plugin cimobile 110726.pdf » ? Dans ce cas, mon nouveau squelette personnalisé prendrait la place de celui qu’on peut voir dans le répertoire iphone déplié de votre exemple ?

      J’insiste un peu, car en lisant les commentaires, il me semble qu’on ne parle que de l’utilisation des squelettes iTwX et je n’ai rien trouvé quant à des squelettes personnalisés. J’ai l’habitude d’utiliser les MediaQueries pour « entrer » dans les smartphones, mais pour le site en question, il est trop bidouillé pour se prêter à ce jeu, il faut que j’intervienne plus profondément que sur les seuls CSS.

    • Pour créer un plugin, se reporter à la documentation de SPIP : http://www.spip.net/fr_article3448.html

      Le nouveau squelette personnalisé prendrait effectivement la place de celui qu’on peut voir dans le répertoire iphone déplié de mon exemple.

    • Bonjour,

      Juste 2 mots pour dire que - bien que ce ne soit pas évident pour qui ne connait pas php - j’y suis finalement arrivé. Il me reste maintenant à retravailler mes squelettes, mais cela est une toute autre histoire...

    Répondre à ce message

  • 5
    ChristopheD

    Bonjour

    Merci pour ce plugin qui fonctionne parfaitement. J’ai une question : comment faire en sorte que l’internaute qui navigue avec un mobile, et à qui on a laissé le choix d’opter pour la version classique du site, ait un moyen simple et apparent de revenir vers la version mobile ?

    Cordialement

    • Bonjour,
      La solution n’est pas simple.
      J’ai ajouté à CIMOBILE (version cimobile_130123.zip) le fait de poser un cookie « cimob_detecte » qui mémorise que l’on a détecté un mobile (ou une tablette, etc.).
      Ce cookie peut être exploité par un squelette du site classique, en lui ajoutant un code javascript comme celui ci-dessous, qui regarde si on consulte le site classique avec un mobile et, si oui, affiche un lien vers le site mobile :

      <script type="text/javascript">
      //<![CDATA[
      function readCookie(name) {
          name += '=';
          for (var ca = document.cookie.split(/;\s*/), i = ca.length - 1; i >= 0; i--)
              if (!ca[i].indexOf(name))
                  return ca[i].replace(name, '');
      }
      if (document.cookie) {
      	if (document.cookie.indexOf('cimob_detecte')>=0 && document.cookie.indexOf('cimobile')>=0) {
      		if (readCookie('cimobile')=='web'){
      			mobile_detecte = readCookie('cimob_detecte');
      			if (readCookie('cimob_detecte')!='web'){
      				document.write('<a href="[(#URL_SITE_SPIP)]/?cimobile=' + mobile_detecte + '">Site mobile</a>');
      			}
      		}
      	}
      }
      //]]>
      </script>
    • ChristopheD

      Merci (mieux vaut tard que jamais) pour votre réponse. Et j’abuse en embrayant sur une autre énigme : cet après-midi, voulant montrer mon site mobile en développement à un ami, je tombe sur un os. Celui-ci utilisait un smartphone android, et se connecte via Firefox... patatras, il tombe sur la version classique. En revanche, s’il utilise le navigateur par défaut de sa distribution android, il arrive bien sur la version mobile du site.

      Auriez-vous une explication... et une solution ?

      Merci d’avance

    • ChristopheD

      Bonjour

      Et merci pour cette réponse (mieux vaut tard que jamais...)

      J’en profite bassement pour vous soumettre une nouvelle énigme. Cet après-midi, voulant montrer la version provisoire de mon site à un ami, j’invite celui-ci à s’y connecter via son mobile. Et là, patatras, il atterrit sur la version classique du site. Cela en naviguant via Firefox pour android. Réessayant avec le navigateur par défaut de son smartphone, il arrive cette fois sur la version mobile.

      Auriez-vous une explication et, mieux encore, une solution ?

      Bien à vous

    • Bonjour,
      Cela provient du changement de politique de Firefox pour le user-agent de sa version mobile (abandon du user-agent « Fennec »). Pour en savoir plus : wiki.mozilla.org/Fennec/User_Agent

      Une solution consiste à essayer la version 1.02 de cimobile. Merci de m’indiquer si cela règle le problème.

    • ChristopheD

      Apparemment, oui, tout est rentré dans l’ordre.
      Un très grand merci à vous !

    Répondre à ce message

  • 5

    j’ai ici deux sites en mutu spip 3,04,
    plugins activés identiques, alors que tout est pareil, une url me redirige correctement vers la version mobile et l’autre m’envoie systematiquement des 503
    (uniquement sur la page sommaire, à l’intérieur ca navigue bien en mobile !!! ???)

    http://temp.toitures-cortis.be/?cimobile=mobile celui-ci fonctionne
    et ici erreur 503 http://gprofor.be/?cimobile=mobile

    1 Erreur(s) dans le squelette
    1 Erreur de compilation plugins/auto/itwxmobile_3_3-2/squel_mobiles/mobile/sommaire.html
    hors vu que c’est en mutu, c’est le même plugin itwx qui est executé dans les deux, pourquoi il compile un et pas l’autre

    Quelqu’un a-t-il une idée ?
    parceque là je bloque complètement, caches vidés, même en utilisant exactement les mêmes squelettes dans les deux, un allait et pas l’autre. Je ne sais pas si ca provient de cimobile ou de itwx. Je ne sais vraiment plus quoi essayer

    si un sauveur passe par là, merci de son aide ;-)

    • Sur le site gprofor.be/ ?cimobile=mobile :
      -  si je clique sur « Contact », la page contact s’affiche.
      -  si dans la page « Contact », je clique sur « Rechercher », la page de recherche s’affiche.
      -  si dans la page de recherche, je clique sur « Plan du site », il s’affiche.
      -  si dans le plan du site, je clique sur un article, il s’affiche.
      -  etc.
      Aussi, les pages version mobile de iTwx fonctionnent bien sauf la page d’accueil. Le problème se situe donc dans le squelette squel_mobiles/mobile/sommaire.html . Le plugin CIMOBILE n’est pas en cause.

    • Bon, la partie de code ne s’affiche pas :(
      Je la met sans les balises htmp

      http-equiv=« refresh » content="3 ; URL=http://t.i.gre.free.fr/spip.php?article16"

    • Equipement

      Ces questions concernent le squelette squel_mobiles/mobile/sommaire.html du plugin iTwx (d’origine ou modifié). Le plugin CIMOBILE n’est pas en cause. Aussi, ces questions sont à poser sur la page : http://twxdesign.com/itwx-mobile-v3 .

    • Equipement

      Une piste pourrait consister à remplacer dans les 3 fichiers suivants du plugin iTwx :
      -  squel_mobiles/mobile/inc/inc-head.html
      -  squel_mobiles/smartphone/inc/inc-head.html
      -  squel_mobiles/tablette/inc/inc-head.html

      l’inclusion :

      <INCLURE{fond=inc/script/notification}>

      par :

      [(#PLUGIN{cimobile}|non)
      <INCLURE{fond=inc/script/notification}>
      ]

    Répondre à ce message

  • Bonjour,

    J’ai un site avec SPIP 3.0.2
    cimobile est compatible, mais pas iTwx.
    Peut-on faire utiliser ispip à cimobile, et si oui, comment ?

    Répondre à ce message

  • 6
    sebbesac

    Bonjour,

    Je teste actuellement ce plugin et j’ai un remarque par rapport à la redirection d’URL sur des articles.
    En effet, est-ce possible de rediriger proprement une URL dite « web » squelette de page article standard du genre :
    www.mon-domaine.com/Mon-article
    vers l’URL « mobile » squelette de page article (itwx)
    www.mon-domaine.mobi/Mon-article

    J’ai activé les URL propres sur l’admin SPIP. Est-ce qu’il arrive a bien faire cela ? Car j’ai l’impression que la réécriture des URL bloquent la redirection

    Merci pour vos réponses !
    Sébb

    • Equipement

      Bonjour,
      Dans le fichier de paramétrage (squel_mobiles/_config_cimobile.php), l’option de redirection ($GLOBALS[’ciconfig’][’cimobile_host_redirection’]) a-t-elle été renseignée ?

    • sebbesac

      Bonjour,

      Merci pour cette réponse rapide ! Voici ma ligne sur l’option de redirection :
      $GLOBALS['ciconfig']['cimobile_host_redirection'] = array('.com' => '.mobi');

      Je précise que la redirection se fait bien sur l’URL de l’accueil :
      www.mon-domaine.com est bien redirigé sur www.mon-domaine.mobi avec un support mobile

      Par contre, ca ne fonctionne pas (Page introuvable) lorsqu’il s’agit d’une autre page (cf : comme indiqué dans mon premier post)

      Thanks !
      Sébb.

    • Equipement

      Dans le fichier tmp/spip.log, que contiennent les lignes qui comprennent le mot « redirige » ?

    • sebbesac

      Voici une ligne du spip.log contenant « redirige »

      redirige 302: http://www.mon-domaine.mobi/Le-Mont-Chateleu.html

      Merci à vous,

    • Equipement

      L’adresse de redirection est correcte. Que se passe-t-il si on accède, avec le navigateur, directement à cette adresse ?

    • sebbesac

      Après plusieurs tests, je m’aperçois que tout est OK au niveau de la redirection c’est en fait une variable que je passe dans l’URL qui me pose problème au chargement des pages.

      Bien désolé de vous avoir mobilisez durant la journée. Ce plugin est simplement génial pour proposer une version « mobile » du site et la documentation est de qualité, il faut le souligner !

      Un grand merci « Equipement » !

      Sébb

    Répondre à ce message

  • 1

    Bonjour,
    Il semble y avoir un problème avec SPIP 3.0.0-alpha2 [18543] : dès l’activation de Cimobile, le site saute, page blanche en site prive et public.
    Testé en local sous EasyPHP-5.3.5.0, seuls plugins actifs : Cimobile et iTwX.
    Cdlt

    • Equipement

      Bonjour,
      J’ai activé les 3 plugins suivants sans problème sur SPIP 3.0.0-alpha2 18532 ainsi que sur
      SPIP 3.0.0-beta 18753 :
      -  cfg version 1.16.0
      -  cimobile version 1.0
      -  iTwX Mobile version 3.00 beta_2.2.2

    Répondre à ce message

  • 2

    Bonjour,
    J’utilise la nouvelle version iTwX 3 pour ciMobile pour Spip2, spip à jour, cimobile aussi, bref, en théorie pas de soucis.

    Les 2 plugins couplés fonctionnent parfaitement, seulement avec le plugin (à jour couteau suisse), j’utilise la lame « jolis coins », et je ne les ai plus. idem, j’utilise des onglets, et ils ne sont plus mis en forme sur la page d’accueil .... Et à l’intérieur du site, j ’utilise un peu de jquery pour déplier la colonne de navigation droite et hélas ça ne marche plus maintenant, ça reste ouvert tout le temps ...

    C’est quoi le soucis à votre avis ? Un conflit javascript ? ajax ? jquery ? Couteau suisse (désactivé : aucun résultat) ?

    • Equipement

      Bonjour,
      C’est une question à poser sur la page de iTwx.

    • Désolé, étant donné que j’utilisais l’anciène version de itwx et que j’ai ajouté cimobile je me suis dit que là ce serait pas mal ^^

      J’ai déplacé le post.
      Bonne journée.

    Répondre à ce message

  • 3

    Bonjour,

    La nouvelle version iTwX Mobile pour Spip2 est désormais disponible, et distribuée en version beta pour une première phase de test sur http://twxdesign.com/iTwX-Mobile-v3 accompagnée de cimobile v2.
    Beaucoup de nouvelles fonctionnalités, qui ne demandent donc qu’à être testées. Les users pourront venir y faire leurs retours.

    Le plugin iTwX Mobile v3 a été refondu pour être entièrement couplé au plugin Cimobile, qui a donc nécessité une mise-à-jour.

    Merci de votre contribution.

    Cordialement

    • Bonjour,

      Il est inutile de modifier Cimobile.

      En effet, comme cela est indiqué dans la documentation, le paramétrage doit être effectué dans le fichier itwxmobile_3/squel_mobiles/_config_cimobile.php du plugin iTwx.

      Cela a d’ailleurs été fait pour ‘cimobile_correspondances’ mais pas pour ‘cimobile_groupes_mobiles’.

      Aussi, il suffit d’ajouter dans le fichier itwxmobile_3/squel_mobiles/_config_cimobile.php les lignes suivantes :

      $GLOBALS['ciconfig']['cimobile_groupes_mobiles'] = array(
      	'smartphones' => array('iphone','android','blackberry','windowsphone7','palmwebos','palmos','nuvifone'),
      	'tablettes' => array('ipad','androidtablette','nokiatablette','blackberrytablette','archos'),
      	'autres_mobiles' => array('autre_mobile','windowsmobile','ipod','opera','S60','symbianos','sonymylo')
      );

      Cimobile reste donc en version 1.0.

      Cordialement

    • _config_cimobile.php modifié (mise à jour beta_2.2.2), et documentation corrigée sur le site.
      merci

    • J’ai modifié le texte du présent article, pour tenir compte de la version 3 de iTwx.
      Cordialement

    Répondre à ce message

  • 1

    Bonjour,

    c’est moi ou Cimobile confond allègrement les systèmes d’exploitation Gnu-Linux de bureau (sur ordinateur classique) et Android (pour Tablet/ smartphone) ?

    Cela signifie que si on navigue sur un site dont le choix des squelettes se fera avec Cimobile on sera sur la version classique du site si on navigue depuis Windows mais sur la version tablette si on navigue depuis Gnu-Linux.

    C’est très gênant.

    bien cordialement

    • Equipement

      Bonjour,
      J’ai effectué le test suivant : depuis un ordinateur sous Linux (avec Firefox 9) j’ai consulté un site disposant de cimobile et iTwx. C’est la version classique du site qui s’est affichée.
      Une piste consiste à vider les cookies dans le navigateur. En effet, comme lemontre le schéma en page 12 de la documentation, le cookie est prioritaire sur le user-agent (afin d’éviter de multiplier les traitements de détection).
      Cordialement

    Répondre à ce message

  • 4

    Bonjour,

    J’utilise les plugins Giseh pour Spip2 et Geoportail (http://www.spip-contrib.net/Plugin-SPIP-Geoportail)

    Quand j’utilise le parametre d’URL cimobile (et sur un mobile également), tout fonctionne à merveille sauf les articles ayant une image cliquable et ceux ayant une carte Geoportail, pour lesquels l’affichage bascule en mode web. Certes ce n’est pas bien gênant ... mais ce serait mieux en mode mobile si toutefois c’est possible.

    Malgré cela, c’est super ! Merci.

    Cordialement
    Martine

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

modération a priori

Attention, votre message n’apparaîtra qu’après avoir été relu et approuvé.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom