Publications ayant comme libellé ‘z-push’

Je vous avais parlé récemment d’une méthode permettant d’avoir du pushmail gratuitement avec un compte GMail et l’offre Pass Surf 2.0 de SFR (connexion wapsfr). Tout allait presque pour le mieux dans le meilleur des mondes, sauf que… :

  • ce système était très gourmand en batterie (une catastrophe) ;
  • et surtout, eMoze ne fonctionne plus depuis 5 jours. Je n’ai pas fait d’investigation pour savoir si le problème venait des serveurs eMoze, ou si c’est SFR qui s’était mis à filtrer cette solution.

Me voilà parti en chasse d’une nouvelle solution de push mail compatible avec une connexion qui filtre tout sauf le protocole http[s].

Première piste : l’offre live.mail2web.com, qui permet d’ouvrir gratuitement un compte Exchange, et de bénficier ainsi du push mail natif de Winows Mobile. Yesss…. ça marche ! Sauf que… malheureusement, quand on reçoit un message et qu’on y répond, le destinataire voit que la réponse provient de notre adresse @mail2web.com, ce qui n’est pas du tout appréciable. Impossible de mettre un replyto différent dans l’offre gratuite (il semblerait que ce soit une des possibilités offerte dans l’offre payante).

Du coup, je me suis dit « mais des fois par hasard, n’existerait-il pas un petit projet libre qui permettrait de simuler un serveur exchange, offrant ainsi le pushmail gratuitement ? ». Une petite requête à google après, le premier lien aura été le bon : un tel produit existe !!! Quelques lignes de code PHP à mettre sur un serveur qui tourne 24h/24. Or… et bien justement, j’ai à demeure une Xbox qui tourne sous Linux, et qui joue parfaitement bien ce rôle. Le nom de ce merveilleux projet : z-push (je viens d’installer la version 1.2RC1 qui fonctionne très bien).

L’installation se fait en deux coups de cuillère à pot :

  1. décompressez l’archive du projet et déposer le dossier z-push dans le répertoire où sont stockés vos pages web sur le serveur (sous /var/www en ce qui me concerne) ;
  2. créez un fichier .htaccess dans ce dossier et assurez-vous qu’il contient les lignes suivantes :
        php_flag magic_quotes_gpc off
        php_flag register_globals off
        php_flag magic_quotes_runtime off
        php_flag short_open_tag on
  3. coté droit d’accès, vérifiez que le serveur web peut bien accéder au contenu de z-push en lecture, et au dossier z-push/state en écriture, ce qui s’est soldé chez moi par un :
        chown -R www-data /var/www/z-push && chmod 777 /var/www/z-push/state
  4. il faut que l’adresse web « http://votre.serveur/Microsoft-Server-ActiveSync » pointe vers le fichier « z-push/index.php« . Chez moi (qui ai apache2), ça s’est traduit par l’ajout de la ligne suivante dans « /etc/apache2/sites-available/default » :

        Alias /Microsoft-Server-ActiveSync /var/www/z-push/index.php

    N’oubliez pas de redémarrer le serveur http pour prendre en compte cette nouvelle configuration (une autre solution qui doit fonctionner consisterait à renommer le dossier z-push en Microsoft-Server-ActiveSync) ;
  5. reste à modifier le fichier de configuration z-push/config.php pour qu’il utilise le serveur IMAP de google comme backend. Voici les modifications à effectuer (en gras, ce qui change) :
        [...]
        $BACKEND_PROVIDER = « BackendIMAP« ; // à la place du « BackendICS » initial
        [...]
        define(‘IMAP_SERVER’, ‘imap.gmail.com‘);
        define(‘IMAP_PORT’, 993);
        define(‘IMAP_OPTIONS’, ‘/notls/norsh/ssl‘);

A ce stade, vous avez fini coté serveur. Pour le vérifier, depuis un navigateur, allez à l’adresse : http://votre.serveur/Microsoft-Server-ActiveSync (ou https si vous avez activé le SSL, ce qui est préférable en terme de sécurité) et autentifiez-vous en mettant votre adresse gmail comme login (sans oublier le @gmail.com), et votre mot de passe gmail. Vous devez alors obtenir une erreur « GET not supported – This is the z-push location and can only be accessed by Microsoft ActiveSync-capable devices » (si vous avez ce message, c’est que tout va bien).

Reste à configurer votre mobile (qui doit être sous Windows Mobile 5 AKU2 minimum). Lancez ActiveSync, faire « Menu/Configurer le serveur ». Mettre alors comme serveur le nom de la machine sur laquelle vous avez installé z-push. Cochez (ou pas) la connexion SSL, suivant si vous avez configuré votre serveur web pour être accessible en SSL. Faire « Suivant ». Mettre votre adresse gmail complète (avec le @gmail.com) comme nom d’utilisateur, votre mot de passe gmail, et gmail.com si nécessaire comme domaine. Cliquez sur « Avancer », vérifiez que tout semble correct, cliquez de nouveau sur « Avancer ». Dès lors, ne sélectionnez que le service « E-mail ». En effet, le projet z-push ne gère pas encore la synchro du calendrier et des tâches (il paraît qu’il gère la synchro des contacts avec KDE/Kontact, mais je n’ai pas testé). Sélectionnez le service « E-mail », cliquez sur paramètres. Réglez ce que vous avez sous les yeux comme bon vous semble, mais surtout, cliquez sur « Avancés… » pour aller posisionner votre vraie adresse e-mail dans la zone « Mes adresses de messageries » (celle que les gens voient si vous faites un « répondre »). A noter qu’il doit y avoir un bug, j’ai du revenir deux fois remplir cette zone pour qu’elle soit prise en compte.

That’s all, folks. Ca doit fonctionner tout seul. A noter qu’avec les versions récentes d’ActiveSync sous Windows Mobile, vous pouvez aller dans « Menu/Planification… », et régler si vous souhaitez du vrai pushmail temps réel, ou un « envoyer/recevoir » toutes les N minutes, le tout selon si vous êtes durant les heures de pointes ou les heures creuses (plages qui peuvent être définies elles aussi). Vous pouvez ainsi choisir d’avoir du vrai pushmail la journée quand vous en avez besoin, et seulement quelques « envois/réceptions » pendant que vous dormez, pour économiser les batteries.

download Fond musical : Calogero – Pomme C

Clip audio : Le lecteur Adobe Flash (version 9 ou plus) est nécessaire pour la lecture de ce clip audio. Téléchargez la dernière version ici. Vous devez aussi avoir JavaScript activé dans votre navigateur.