Projet

Général

Profil

Development #5698

Détection mobile

Ajouté par Frédéric Péters il y a plus de 9 ans. Mis à jour il y a plus de 9 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
14 octobre 2014
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

Il faut à la fois de manière privilégiée rediriger vers m.example.com sur une détection de mobile et laisser la possibilité à l'usager, sur m.example.com, de basculer sur la version desktop.

reg_b = re.compile(r"(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino", re.I|re.M)
reg_v = re.compile(r"1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-", re.I|re.M)

Fichiers


Demandes liées

Lié à Au quotidien - Autre #5577: Version mobileFermé23 septembre 201420 novembre 2014

Actions

Historique

#1

Mis à jour par Frédéric Péters il y a plus de 9 ans

  • Assigné à mis à Frédéric Péters

Deux parties :

1) la détection du mobile, côté serveur, à base de user-agent, on peut soit l'avoir dans le code de wcs, soit dans la config du serveur http (et poser une variable d'environnement qui sera alors lue par wcs)

2) la redirection par défaut, en absence d'indication contraire (lire : un cookie), il faut qu'un accès à la version desktop envoie vers le nom de domaine mobile, encore faut-il connaître celui-ci, ça peut être un élément de configuration dans wcs, mais ça peut aussi être imaginé comme paramétrage dans le serveur http (SetEnv MOBILE_HOSTNAME m-eservices.au-quotidien.com pour apache, scgi_param MOBILE_HOSTNAME ... pour nginx).

Pour ma part, sans y avoir longuement réfléchi, je penche pour l'approche dans wcs.

#2

Mis à jour par Jérôme Schneider il y a plus de 9 ans

Sans y avoir longuement réfléchi non plus l'approche dans w.c.s. me semble meilleur tout simplement parce-qu’elle sera accessible par plus de monde que la configuration du serveur HTTP.

#3

Mis à jour par Frédéric Péters il y a plus de 9 ans

C'est un patch qui fait le boulot mais à l'écrire je me suis quand même demandé si tout ça était réellement la meilleure manière de faire, si plutôt qu'avoir un nom de domaine différent et les galères associées, on ne pourrait pas simplement, sur le même nom de domaine, afficher le site mobile, ça simplifierait bien les choses, il me semble.

#4

Mis à jour par Frédéric Péters il y a plus de 9 ans

Discussion avec Victor,

perso j'y vois pas d'inconvenient
j'y vois même plutot un avantage
c'est que l'usager n'a qu'une url
pas besoin de communiquer sur une version mobile spécifiquement
si le soucis que ça pourrait poser
c''est pour les sites existants.
je pense surtout à vincennes
ou il y a une intégration responsive
du coup plus d'intéret de cette intégration, et la ville préfèrera peut-être laisser le choix à l'usager
entre la maquette responsive specifiquement vincennes.
et une version purement mobile
je dis bien "peut-être"

Donc mon option maintenant serait de reprendre les choses pour fonctionner sur un seul domaine, et permettre de désactiver la bascule automatique vers un site mobile (au niveau du thème, au niveau du site-options ou via l'admin, je ne sais pas encore trop).

#5

Mis à jour par Frédéric Péters il y a plus de 9 ans

Voilà le patch avec un seul site et bascule en mode mobile.

Pour désactiver le mode mobile sur un site donné, je n'ai pas mis d'option particulière, ça peut de toute façon se faire au niveau du thème, en créant un template.mobile.ezt identique au template.ezt.

#6

Mis à jour par Frédéric Péters il y a plus de 9 ans

Patch mis à jour pour mettre un path au cookie, histoire qu'on ne se trouve pas avec /vie-pratique/ en mode normal et / en mode mobile.

#7

Mis à jour par Frédéric Péters il y a plus de 9 ans

  • Projet changé de Au quotidien à w.c.s.
#8

Mis à jour par Thomas Noël il y a plus de 9 ans

Ack.

#9

Mis à jour par Frédéric Péters il y a plus de 9 ans

  • Statut changé de En cours à Résolu (à déployer)
commit a1e8212e9dc970f5eb6f8b10194f3e1e39bc5e37
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Thu Oct 16 18:29:37 2014 +0200

    switch to mobile version if appropriate (#5698)
#10

Mis à jour par Thomas Noël il y a plus de 9 ans

  • Statut changé de Résolu (à déployer) à Fermé

Formats disponibles : Atom PDF