SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

286 Plugins, 197 contribs sur SPIP-Zone, 250 visiteurs en ce moment

Accueil > Squelettes > Squelettes spéciaux > Squelettes pour petits écrans > SPIP-Wap > SPIP-Wap : site SPIP consultable par le Wap

SPIP-Wap : site SPIP consultable par le Wap

29 mars 2004 – par ARNO* – 37 commentaires

3 votes

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Nom du Squelette SPIP-Wap
Auteur ARNO*
Licence GPL
SPIP 1.7
PHP 4

Sites exemple : uzine.net, scarabee.com (en se connectant avec un client Wap, évidemment)

Testé sur ces navigateurs :

Testé ? plateforme Navigateur Version
oui Windows WinWap 3.1
oui Windows Nokia 5100 SDK 1.0
oui téléphone Alcatel OT 715

Les fichiers fournis ici contiennent :
— des squelettes permettant de naviguer en Wap (dans le langage WML) sur un site SPIP,
— des versions modifiées des fichiers « sommaire.php3 », « article.php3 », « rubrique.php3 » et « breve.php3 », permettant de détecter automatiquement le client Wap (téléphone portable) et d’utiliser le bon squelette sans changer d’adresse,
— un ensemble de fonctions permettant de transformer le HTML de SPIP au format WML (format affreusement plus limité).

Zip - 7.4 ko
SPIP-Wap

But de la manœuvre

En plus de la traditionnelle navigation en HTML, ces fichiers ajoutent à votre site la possibilité d’être consulté en Wap (sur un téléphone portable, donc). Le contenu des pages est réduit à leur contenu textuel (les images et les documents sont supprimés), l’interface de navigation est adaptée, et la taille des pages est réduite. Ainsi :
— les listes d’articles/brèves sont affichées par séries de 5 par page (accompagnées, le cas échéant, de liens « suivant »/« précédent » pour accéder aux contenus supplémentaires) ;
— le texte des articles est découpé et affiché sur plusieurs pages successives.

Par ailleurs, les méthodes présentées ici pourront vous inspirer pour la création de navigations à d’autres formats (au niveau des découpes d’articles, des transcodages de caractères...).

Installation

-  Système minimal : SPIP 1.7, PHP 4

SPIP doit être au minimum une version 1.7 : les squelette sont multilingues, et utilisent les fonctionnalités de la version 1.7 en la matière. On peut faire fonctionner ces squelettes sur une version antérieure à la condition d’adapter les squelettes pour remplacer les appels de chaînes « traduites » par le texte désiré.

Sur le serveur, PHP en version 4 ou suivante : le transcodage des caractères et la simplification des textes utilisent les fonctions PHP get_html_translation_table et strtr.

Si ça ne marche pas... au pire, le site ne sera pas visitable en Wap. Mais le site restera totalement inchangé pour sa consultation habituelle par le Web. En cas de doute, il suffit de réinstaller les fichiers sommaire.php3, rubrique.php3, article.php3 et breve.php3 de la distribution d’origine de SPIP.

-  Installer les fichiers

Récupérez le fichier zip ci-joint, décompressez-le sur votre ordinateur, et installez l’ensemble des fichiers directement à la racine de votre site SPIP.

Dans le fichier mes_fonctions.php3 (au besoin, créez ce fichier), insérez l’appel au fichier wap_mes_fonctions.php3 :

Voilà, ça roule...

Détail des fonctions

-  Les fichiers sommaire.php3, rubrique.php3, article.php3 et breve.php3 sont modifiés : ils détectent le client Wap et lui envoient un squelette adapté (précédé d’un header spécifique) :

Le test est réalisé sur la variable $HTTP_ACCEPT, c’est-à-dire la liste des codes MIME acceptés par le logiciel client ; si ce client accepte le code MIME « text/vnd.wap.wml », c’est qu’il s’agit d’un client WAP.

Dans ce cas, on lui envoie le $fond adapté (ici, « wap-sommaire-dist.html » est utilisé). La liste des variables http ($HTTP_POST_VARS) est complétée d’une variable $type=wap ; cela est destiné à forcer l’utilisation d’une fichier cache différent (le cache des pages Wap n’écrase pas le cache des pages non Wap, alors qu’il s’agit de la même URL).

On interdit l’affichage des boutons d’admins (qui feraient irrémédiablement planter les clients Wap), et on envoie le header identifiant le contenu Wap/WML.

-  Cette méthode permet de naviguer sur le site Wap en utilisant exactement les mêmes adresses que le site HTML auquel on est habitué : ceci permet à la fois de conserver les adresses simples (par exemple, le site uZine est accessible en Wap à son adresse habituelle : http://www.uzine.net) ; de plus les liens à l’intérieur du site restent les mêmes.

-  Les squelettes sont du WML, donc très simples.

Les méthodes à noter :

— les « textes » indicatifs utilisent les balises de multilinguisme, balises que l’on fait systématiquement passer par le filtre nettoyer_wap. Par exemple :

Ce filtre (présent dans wap_mes_fonctions.php3) est ici indispensable essentiellement pour transformer les caractères spéciaux du HTML (é...) en texte normal (les clients Wap ne comprennent pas les caractères HTML autres que quelques cas spécifiques tels que  ).

— tous les éléments de texte tirés de la base de données sont également passés par le filtre nettoyer_wap. Outre les éventuels caractères spéciaux à transcoder (à priori, ils sont absents de la base de donnée, mais on ne sait jamais...), de nombreux éléments et balises spécifiques au HTML sont supprimés ou remplacés (ainsi, le <h3> des intertitres est transformé, toutes les mentions de classes de feuilles de style sont effacées - tous éléments qui font planter de nombreux clients Wap -, les images et documents effacés).

Ces fonctions sont très restrictives et effacent beaucoup d’éléments de mise en forme. Certainement trop... Cependant, les tests pour développer ces fonctions ont été réalisés non seulement sur des émulateurs Wap pour Windows - WinWap, et l’émulateur de Nokia -, mais aussi sur un téléphone Alcatel, carrément ultra-limité du côté du Wap : toute balise non comprise interdisant complètement l’affichage des pages).

Ces limitations ne suffisant certainement pas à couvrir tous les cas ; mais on pourra progresser par la suite. Par exemple, la présence de balises - <b> ou <i> par exemple) - mêmes correctement fermées à l’intérieur d’un lien hypertexte, font planter les pages sur le téléphone Alcatel.

-  Enfin, les textes longs (ou présupposés longs) sont découpés avec la fonction texte_wap (la découpe des pages longues est indispensable : à la fois pour le confort de la navigation avec les connexions très lentes du Wap en mode GSM, mais surtout parce que les pages trop longues seront carrément refusées par la plupart des téléphones mobiles). La fonction s’utilise sur le source des éléments (signalés dans les squelettes par une astérisque), ainsi :

Les textes sont découpés selon leurs paragraphes, pour éviter les complications liées aux balises mal fermées/mal ouvertes. Si le texte est long, il est découpé automatiquement en plusieurs pages, et les liens « page suivante » et « page précédente » sont insérés si nécessaires (directement par la fonction, il n’y a rien à faire d’autre que faire passer le texte par la fonction texte_wap).

Notez que le texte résultant est toujours entouré, grâce à la fonction, de balises <p> et </p>. Il ne faut donc surtout pas utiliser la mention :

qui risque de créer des paragraphes à l’intérieur de paragraphes (ça fait planter le mobile Alcatel).

Limites avérées ou possibles

— Si les textes de votre site sont réalisés avec une tripotée de balises HTML insérées à la main (par exemple un copier-coller à partir d’un autre logiciel), les résultats risquent d’être folkloriques.

— Les balises très spécifiques de SPIP (tableaux, poésie, code source) ne sont pas prises en compte par nettoyer_wap ; dans ce cas, résultats bizarres à attendre...

— Ces pages mériteraient d’être testées avec différents charsets. Théoriquement, le WML gère les charsets (puisqu’on le passe en définition du XML en début de page) ; dans la pratique, quels charsets sont réellement interprétés par les téléphones est une autre question...

— Les clients qui comprennent à la fois le x-html et le WML (certains « smartphones » récents, sans doute) se voient imposer la visite en WML.

— Les adresses « suivant » /« précédent » créées pour découper les textes longs et pour passer d’un page de liste à l’autre contiennent une bidouille propre au xhtml : l’espuerlète (&) est remplacée par son codage & à l’intérieur même de l’URL ; sans cela, les liens hypertexte ne fonctionnent pas sur le téléphone Alcatel (l’espuerlète suivi de la variable PHP debut_articles par exemple étant interprété comme un caractère erroné &debut...). En revanche, dans les liens insérés manuellement à l’intérieur des articles, ces URL ne sont pas corrigées.

P.-S.

Pour bidouiller ses propres squelettes, on pourra utiliser un émulateur Wap/WML sous Windows, tel que WinWap ; ceci vous permettra de développer en utilisant votre connexion internet normale (sans passer par le Wap GSM ou GPRS de votre téléphone mobile). On trouvera aussi des émulateurs pour téléphones Nokia sur le site des développeurs Nokia (rubrique Tools/SDK : ces émulateurs sont intitulés « SDK ») ; inscription gratuite. Il est cependant important de vérifier ensuite ses pages avec un véritable téléphone mobile, ces derniers étant notablement plus limités en termes de présentation et de support du WML.

Dernière modification de cette page le 26 mars 2012

Retour en haut de la page

Tout afficher

Vos commentaires

  • Le 20 août 2006 à 01:02, par adrien En réponse à : SPIP-Wap : site SPIP consultable par le Wap ( pour 1.9 ? )

    Salut,

    Est-ce que quelqu’un sait comment faire fonctionner ce script avec Spip 1.9 ?

    Merci d’avance pour les réponses =)

    Adrien

    Répondre à ce message

  • Le 29 mars 2004 à 09:49, par GoUaRfIg ! En réponse à : > SPIP-Wap : site SPIP consultable par le Wap

    Dans « wap_mes_fonctions.php3 », fonction « texte_wap »

    il y a cette ligne :

    $url = ereg_replace("^/", "", $url); // supprimer slash debut

    qui fait déconner les urls chez moi. En effet mon site spip n’est *PAS* à la racine de mon url

    C’est à dire pour une url :

    http://domaine/chemin/fichier.php3

    je me retrouve avec un lien

    http://domaine/chemin/chemin/fichier.php3

    puisque le premier « / » a été éliminé.

    Hop !

    • Le 29 mars 2004 à 11:56, par ARNO* En réponse à : > SPIP-Wap : site SPIP consultable par le Wap

      Le package est une nouvelle version, avec une petite modif du calcul de l’URL de la page. Peux-tu me dire si ça fonctionne correctement désormais ?

    • Le 29 mars 2004 à 13:20, par GoUaRfIg ! En réponse à : > SPIP-Wap : site SPIP consultable par le Wap

      Impec !
      Les liens sont corrects.

      Bonne idée ce squelette WAP...
      Bon je vais avoir de la modif dans l’air moi :-)

    • Le 30 mars 2004 à 21:19, par leToph En réponse à : > SPIP-Wap : site SPIP consultable par le Wap

      Je viens de tester ce package. Très simple et super efficace.

      Merci pour cette idée.

    • Le 5 avril 2004 à 13:28, par pascal En réponse à : > SPIP-Wap : site SPIP consultable par le Wap

      Vraiment super ! De quoi donner un rajeunissement au vieux sites !

    • Le 18 juillet 2005 à 16:58, par ernesto En réponse à : > SPIP-Wap : site SPIP consultable par le Wap

      Vous dites :
      "Le test est réalisé sur la variable $HTTP_ACCEPT, c’est-à-dire la liste des codes MIME acceptés par le logiciel client ; si ce client accepte le code MIME « text/vnd.wap.wml », c’est qu’il s’agit d’un client WAP."

      Je crois que c’est une erreur, en effet Firefox et Opera entre autre acceptent le wap (format wml) sans être pour autant forcement sur des mobiles.
      Pour que être sur que l’appel viet d’un client Wap, il faut faire d’autre test, par exemple vérifier qu’il ne reconnaient pas le format html. Le mieux serait peut être de tester directement le nom du navigateur. :-)

      Quand je me concte sur mon site en wap, j’ai une trace :
      194.206.212.1 ; wap ;Mon 18 Jul 16:51:48 ;ftm1.rain.fr ;OT531 ;Mitsu/1.2.B ;

      Je vois que ca vient d’un OT531 alcatel avec le navigateur Mitsu/1.2.B

      Cordialement

    • Le 28 juillet 2005 à 23:55, par ernesto En réponse à : > SPIP-Wap : site SPIP consultable par le Wap

      Je complète ma remarque. Les pages wap sont apparament accessibles maintanant avec les balises (html) au lieu des (wml) normalement indiquées pour le wap.
      Mais ca marche. exemple : http://infogare.transilien.com/mobitransilien/ marche sur le wap et sur navigateur micro Firefox et Opoera entre autre.

      Des site en pur format wml (comme le mien http://www.meyran.net/prod/rome/wap.php ) sont accessibles par le wap mais aussi par Opéra sur micro (et oui !).

      Cordialement.

    Répondre à ce message

  • Le 19 juin 2006 à 00:41, par vamaral En réponse à : SPIP-Wap : site SPIP consultable par le Wap

    Oui, ça marche avec 1.8.3 - le truc est seulement rénomer des fichiers wap-*-dist comme wap-* et les mettre sur la racine du site.

    Répondre à ce message

  • Le 14 février 2006 à 14:49, par arkam En réponse à : SPIP-Wap : et SPIP 1.8.2

    Bonjour,

    est-ce que qqn a réussi à faire tourner ce script prometteur sur la 1.8.2 ?

    Répondre à ce message

  • Le 31 juillet 2005 à 15:46, par ? En réponse à : > SPIP-Wap : site SPIP consultable par le Wap

    je l’ai tester avec mon portable (NEC 32i) et ca ne fonctionne pas , ca m’affiche la page spip normale :/

    Répondre à ce message

  • Le 29 mai 2005 à 14:46, par Gus En réponse à : > SPIP-Wap : site SPIP consultable par le Wap

    Si on créer Spip sur le wap sera il toujours visible sous php

    Répondre à ce message

  • Le 28 avril 2005 à 18:17, par Michel En réponse à : > SPIP-Wap : site SPIP consultable par le Wap

    Bonjour,

    Curieusement sous la version 1.8.2 de spip le wap avec en test winwap ne fonctionne pas alors que sous spip 1.7.2 le wap fonctionne ?

    Un de vous a remarqué cela aussi ?

    Merci,

    Michel

    • Le 1er mai 2005 à 00:38, par netsba En réponse à : > SPIP-Wap : site SPIP consultable par le Wap

      pareil je suis passé a spip 1.8.1 et ca marche pas

    • Le 2 mai 2005 à 14:54, par Patrick En réponse à : > SPIP-Wap : site SPIP consultable par le Wap

      Oui, pour moi également ; depuis que je suis passé sous SPIP 1.8, plus rien ne fonctionne. J’ai le message : « type de contenu incompatible » sur mon mobile. C’est bien dommage.

    • Le 3 mai 2005 à 03:01, par netsba En réponse à : > SPIP-Wap : site SPIP consultable par le Wap

      sur mon mobile je c pas encore si ca marche vue que g tjr pas un accé wap mais sur un autre emulateur wap (pas le winwap) ca marche.
      alors que avant ca marchai aussi pour winwap
      pour lemulateur sur le quel mon site marche c Klondike WAP Browser
      aussi je crois que c lurl rewrite qui est mal configuré chez moi parceque quand je veux consulter la suite d1 article il me mait impossible..

    Répondre à ce message

  • Le 3 avril 2005 à 23:40, par netsba En réponse à : > SPIP-Wap : site SPIP consultable par le Wap

    merci pour ce script ca marche impécablement pour moi et du 1er cout (enfin sur winwap) dison que je vie en algerien le seul pays ou loperateur qui as le plus grand nombre d’abbonées na pas le gprs encore installé sur son resaux (djezzygsm.com)

    pour mon site c free.saad.free.fr

    juste un truc j’utilise une redirection pour mon site de actudz.com vers le serveur de free c possible que le scripte redirige aussi ??

    Répondre à ce message

  • Le 25 février 2005 à 23:32, par jimv En réponse à : >ça marche

    Pas de problèmes pour installer sur mon site vieux de 3 ans ... un « jeter-déposer » direct y a suffit !

    Super ! j’avais un moment oublié de modifier mes-fonctions.php3, Ca aurait été trop simple !

    Bon , pas de soucis, sauf que je ne sais pas si ça marche avec un portable (le mien est au fond du Rhône où je l’ai entrainé dans mon bain précoce et glaçonné au mois de janvier... et il ne me reste que ma vieille cabine téléphonique !)

    -  me manque encore un émulateur que je voudrai mettre en ligne ...
    gelon, j’arrive pas à dompter son java !

    En tous cas c’est vraiment clean ton truc

    la page pour avoir les adresses à tester de mon site est par là : Wap sur votre téléphone

    • Le 26 février 2005 à 12:11, par ? En réponse à : > >suite

      J’ai rajouté sur la page de mon site deux outils :
      -  un émulateur wap pour prévisualiser le site
      -  un testeur de validité du WML.

      ces deux outils proviennent de http://www.gelon.net/

    Répondre à ce message

  • Le 31 octobre 2004 à 20:09, par jacques En réponse à : > SPIP-Wap : site SPIP consultable par le Wap

    Bonjour,
    j’ai fais l’install comme prevu, mais j’ai toujours ce message
    au sommaire du site :
    Notice : Undefined index : HTTP_ACCEPT in c :\easyphp1-7\www\monsite\sommaire.php3 on line 5

    Le sommaire s’affichant correctement dessous ...

    Pouvez vous me renseigner ? merci

    Répondre à ce message

Répondre à cet article

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Adaptive Images

    15 novembre 2013 – 66 commentaires

    Un plugin pour permettre aux sites responsive d’adapter automatiquement les images de la page à l’écran de consultation. Adaptive Images, que l’on pourrait traduire par Images adaptatives, désigne la pratique qui vise à adapter les taille, (...)

  • Métas

    8 août 2009 – 50 commentaires

    Ce petit plugin permet l’ajout, depuis l’espace privé, de metatags aux articles et rubriques de SPIP, ainsi que la mise en exergue de mots importants.

  • Brownie

    6 juillet 2012 – 43 commentaires

    Brownie est une adaptation pour Zpip du thème du même nom initialement développé par Egrappler.com. Présentation Brownie est un thème Responsive à deux colonnes. La démonstration ci-dessous utilise la version 2.0.0 de Brownie, la dist de SPIP3 (...)

  • Métas +

    3 décembre – 13 commentaires

    Améliorez l’indexation de vos articles dans les moteurs et leur affichage sur les réseaux sociaux grâce aux métadonnées Dublin Core, Open Graph et Twitter Card. Installation Activer le plugin dans le menu dédié. Dans le panel de configuration, (...)

  • Acces Restreint 3.0

    11 décembre 2008 – 785 commentaires

    Le plugin accès restreint permet de définir et de gérer des zones de l’espace public en accès restreint. Cette version du plugin a été redévelopée et optimisée tout spécialement pour SPIP 2.0. Il en découle une amélioration des performances sur les gros (...)

Ça spipe par là