Plugin Dotclear pour mobile
Par Noël GUILBERT le mardi, janvier 13 2009, 08:20 - Lien permanent
Premier article, premier plugin, et premier thème pour dotclear.
Je souhaitais créer une version mobile de ce blog. Après quelques recherches, je me suis aperçu qu'il n'existait pas de plugin permettant de modifier le rendu en fonction du navigateur utilisé, et notamment si l'on viens d'un mobile.
Alors voici mon tout premier plugin pour dotclear : mobileThemeSwitcher. Le concept est assez simple, il consiste à pouvoir utiliser un thème dédié aux mobile automatiquement dès lors qu'un visiteur arrive sur le site. Ce plugin intercepte alors la requête HTTP et change le thème à la volée, afin d'utiliser une mise en forme adaptée. Vous pouvez le tester simplement sur ce blog en cliquant sur les liens Version mobile ou Version complète.
C'est mon tout premier plugin avec Dotclear, et j'ai été assez surpris par la facilité de réalisation. Après inspiration auprès de quelques plugins pour savoir quoi faire (themeSwitcher notamment), et quelques lignes de code plus tard le plugin est terminé. Alors bravo aux développeurs!
Pour activer le plugin, il suffit de se rendre dans les "paramètres du blog" et de choisir le thème alternatif à utiliser. Si vous le souhaitez, j'ai aussi réalisé un thème adapté aux mobiles : Mobile. Il est basé sur le thème "default" de dotclear, mais dans une version très allégée : plus de widget 'Extra', plus de bannière, le tout avec un minimum d'image possible. L'objectif est clairement de limiter le poids des pages.
J'ai aussi ajouté deux balises de template de façon à être capable de passer d'un site à un autre:
*tpl:MobileVersion*tpl:FullVersion
Ce plugin, ainsi que le thème, est encore en phase d'expérimentation, alors il est possible qu'il y ait quelques bugs. Dans ce cas, ou s'il existe une meilleure façon de faire, n'hésitez pas à me laisser un commentaire!
<hr/>
Edit: Les packages des plugins ont été mis à jour :
- Thème Mobile: theme-Mobile-0.2.zip | theme-Mobile-0.2.pkg.gz
- Plugin Mobile Theme Switcher : plugin-mobileThemeSwitcher-0.2.zip | plugin-mobileThemeSwitcher-0.2.pkg.gz


Commentaires
Merci pour ce plugin et tout ce qui va avec , et puis bienvenue dans le monde de Dotclear ! ;)
Tu commences assez fort ! lol
Salut !
Ca a l'air super ton plugin !
Malheureusement, je n'arrive pas à le faire fonctionner !!
J'ai installé le plugin et le thème, mais... rien !
J'ai vu qu'il fallait aller dans about:config pour mettre le thème à utiliser, j'ai mis : Mobile
Toujours rien.
J'ai essayé http://www.calexo.net/?dc_mobile_th... mais toujours rien !
J'ai loupé un truc ? Merci !
A+
Est-ce que tu peux vérifier dans "Tableau de bord" > "Parametre du blog", si le thème est bien renseigné dans l'encart "Mobile Theme Switcher" ? Et aussi effacer le cache ("Maintenance" > "Vider le repertoire de cache") ?
Salut
Je suis en multiblog et une fois le plugin installé, quand je vais dans paramètres du blog, j'ai ceci en bas de page :
Fatal error: Uncaught exception 'RuntimeException' with message 'DirectoryIterator::__construct(/homepages/15/d258054173/htdocs/labodc2/all-blogs/plugins/mobileThemeSwitcher/../../themes/) [<a href='directoryiterator.--construct'>directoryiterator.--construct</a>]: failed to open dir: No such file or directory' in /homepages/15/d258054173/htdocs/labodc2/all-blogs/plugins/mobileThemeSwitcher/_admin.php:35 Stack trace: #0 /homepages/15/d258054173/htdocs/labodc2/all-blogs/plugins/mobileThemeSwitcher/_admin.php(35): DirectoryIterator->__construct('/homepages/15/d...') #1 [internal function]: mobileThemeSwitcherAdminBehaviours::adminBlogPreferencesForm(Object(dcCore), Object(dcSettings)) #2 /homepages/15/d258054173/htdocs/labodc2/dotclear/inc/core/class.dc.core.php(304): call_user_func_array(Array, Array) #3 /homepages/15/d258054173/htdocs/labodc2/dotclear/admin/blog_pref.php(426): dcCore->callBehavior('adminBlogPrefer...', Object(dcCore), Object(dcSettings)) #4 {main} thrown in /homepages/15/d258054173/htdocs/labodc2/all-blogs/plugins/mobileThemeSwitcher/_admin.php on line 35
Peux-tu m'aider ?
Merci.
dc 2.1.5
Je ne connais pas bien comment ça fonctionne en multiblog, mais je pense que la configuration n'est pas tout a fait la même.
Le probleme viens de la ligne 35 du fichier _admin.php, qui parcours les thèmes disponibles:
foreach (new DirectoryIterator(dirname(__FILE__).'/../../themes/') as $dir)
Je pense que le repertoire themes n'est pas au même endroit. Il faudrait modifier cette ligne pour que ça pointe au bon endroit. Je vais voir si je peux faire un patch pour que ça marche dans le cas des multiblogs.
Bonsoir,
Suite à une demande sur le forum dotclear, j'ai modifié la ligne en :
foreach (new DirectoryIterator(path::fullFromRoot($core->blog->settings->themes_path,DC_ROOT)) as $dir)
Ca semble fonctionner.
Merci, je vais modifier le plugin avec cette ligne de code.
Hello,
Tout d'abord merci pour cet excellent travail ;-) !
J'ai l'impression que quelque chose ne va pas mais je ne sais pas très bien quoi ! J'ai bien tout installé mais rien ne se passe quand j'essaye d'accéder à mon site via un périphérique mobile.
J'ai renseigné le thème dans about config, j'ai vidé le cache du blog, de safari et je n'ai rien qui change.
Pouvez-vous m'aider ?
Merci d'avance et bonne soirée !
djeelo
Finalement j'ai trouvé puisque j'avais mal lu et que je ne renseignais le thème que dans about:config ... ça marche donc maintenant sans souci ! bonne soirée !
Trois mots : merci, merci, merci :)
Bonjour,
juste un petit mot, cela fonctionne superbement, j'ai ajouté dans le source ANDROID, et cela fonctionne aussi. Testé avec le dernier HTC sous Android... nickel
Jean-Christophe
http://www.bboxnews.fr
Une petite remarque sur le settings utilisé, son nom n'est pas toujours le même : "mobilethemeswitcher_theme" est parfois en CamelCase parfois pas dans le code.
Sinon, ça fonctionne au poil :-)
Une autre modif que j'ai faite, ligne 46 du _public.php pour autoriser le switch entre style mobile et style standard dans tous les cas (testé et approuvé). Nouvelle ligne :
elseif (self::isMobileDevice() || isset($_GET['dc_mobile_theme']))
J'ai viré le test : !$theme
Sinon, une fois basculé en thème normal sur l'iPhone on ne peut plus revenir sur le thème mobile, c'est gênant je trouve.
That’s really easy to get some information or <a href=" http://www.gogetessays.com">buy an essay</a> at the custom writing service just about this topic.
Bonjour et merci pour ce magnifique plugin qui permet d'avoir un blog mobile très simplement.
Je rejoint Franck sur la modification à opérer dans _public.php ! J'ai cherché un moment avant de comprendre d'où venait le problème.
Bonne continuation,
Pierre
Bonjour,
merci pour ce plugin ! J'aurais juste un reproche à faire : le chemin vers les thèmes est indiqué en dur : foreach (new DirectoryIterator(dirname(__FILE__).'/../../themes/') as $dir)
or mes thèmes sont rangés ailleurs...
Merci pour ce plugin, j'ai enfin mon blog en version mobile.
Par contre, je rejoins aussi Franck et Pierre pour la modification de la ligne 69 dans le fichier "_public.php".
Tout était bien installé et pourtant rien ne changeait sous mon Android. Après avoir trouvé le problème sur un autre blog, ma vie a changé (ou pas).. Ca fonctionne ^^
Oups mince, j'avais lu les commentaires la tout à l'heure... :S
Mais le problème est quand même apparent ligne 69 du fichier "_public.php".
Il faut rajouter "'#Android#i', // Android" (sans les guillemets devant et derrière; qui entourent) pour que ça fonctionne sous Android.
J'aimerai avoir plus d'informations sur ce theme. Ou pourrais je en trouver s'il vous plait.
Bonjour
Une version compatible avec Dotclear 2.2 est-elle prévue ? Et si non, ai-je l'autorisation de modifier le plugin ?
Bonjour,
Je me suis permis de patcher ton plugin pour dc2.2 : http://www.brol.info/post/2010/05/1...
Si tu es contre, tu as mon mel pour me le dire ;-)
I think that the Dotclear plugin for mobile is really wounder full plugin for the mobile and it has so much for the users of it I think such information has good about so many of things to get knowledge.
Petite modif du plugin (pb relatif au cookie). Dispo ici : http://www.brol.info/public/dlm/gee...
merci Noel pour ce super plugin. avec le theme de Guillaume dc2iPhone, ça marche du tonnerre.
Attetnion, le plugin propose la version mobile du blog si la visite de fait avec un Mac avec Chrome.
De meme avec un iPad avec Safari....
une MAJ SVP !
Nice to know this about mobile phone, thank you.
hni
The name of the modern trousers pair of <strong><a href="http://www.cheaptruereligionjeans.c...">true religion jean on sale</a></strong>jeans, indigo denim with
I felt very happy after going through this amazing site. The information provided was very useful and thanks a lot for this cordial post. Keep it up!
This was really a helpful post for me .Thanks a lot for sharing such a nice post in this blog. I had also bookmarked this post for my future use. Thanks a lot!
It is very happy to write comment on this blog really you had provided very informative post in this blog. Really it had made me know something today. Thanks for the stuff which made me realized some thing.
Bonjour, merci pour ce thème qui a l'air très interessant mais je n'arrive pas depuis mon mobile a avoir le changement de thème, malgrès le fait que le thème Mobile soit bien selectionné dans les paramètres du blog ainsi que dans about:cconfig .
J'ai aussi vider le cache du répertoire mais tout cela ne change rien, chaque fois que je me consulte mon blog sur mon mobile, c'est le thème principal qui apparait.
Avez vous une idée? Merci d'avance !
@Moj : tu disposes bien de la version compatible pour dc2.2 et + que tu peux trouver en annexe de ce billet chez moi : http://www.brol.info/post/2010/05/1... ?
Merci beaucoup, ca fonctionne effectivement beaucoup mieux !
Bonne journée !
J'étais si heureux avec le message écrivez-up vous venait posté. Je pourrais vous raconter beaucoup ont des idées brillantes là.
Nice to know this about mobile phone, thank you.
Hi, There is obviously a lot to know about this. I think you made some good points.this is very useful information. I actually appreciate your own position and I will be sure to come back here.
Bonjour et merci pour votre plugin, il est génial. J'ai juste une question : mon site étant très bien rendu sur les tablettes, je me demandais si on pouvait limiter le thème mobile aux téléphones, en excluant les tablettes (ipad en particulier), qui garderaient le thème "full version". Merci !
Lets provide quality essays to our students
je me demandais si on pouvait limiter le thème mobile aux téléphones,
I will be certainly checking your blogs
Thanks, I'm going to have nightmares tonight.
Thanks, I'm going to have nightmares tonight.
There isn't anything more delightful in this existence than continual education. That's why I consistently search for more info on the internet. Being a researcher, I frequently have to research a variety of issues. At the moment, I'm reviewing web marketing agency.