La configuration du mail sur l’iPhone se fait très bien : il y a un utilitaire de découverte de service qui fonctionne très bien. On peut mettre son adresse gmail en quelques tapotements d’écran.
Le problème : si j’utilise une adresse de redirection (fournie par exemple par mon employeur, ou bien un service d’anciens élèves type m4x.org 😉 ), et que j’utilise le smtp de GMail, les gens qui me répondent vont me répondre sur mon adresse GMail, et non pas mon adresse personnalisée.
Différence entre from et reply-to
La raison se trouve dans les headers de l’email : le serveur SMTP de GMail va, pour des raisons de protocole et de sécurité, automatiquement rajouter que l’adresse de la personne qui envoie est réellement @gmail.com, bien que le from reste bien ce que vous avez défini dans vos préférences.
Utilisation d’un SMTP différent
La solution consiste donc à ne pas utiliser le SMTP de GMail. Il faut privilégier, pour des raisons de sécurité et de délivrabilité, le SMTP fourni par votre fournisseur de redirection.
Si vous êtes chez Orange : utilisez le SMTP fourni par orange (qui marchera en 3G et en Wifi). Dans votre compte client orange, cliquez sur « messagerie ». Créez un compte (attention : l’identifiant de votre compte apparaîtra dans les entêtes X-* des emails envoyés), et entrez ce compte et le mot de passe d’accès à votre compte orange dans les paramètres SMTP de smtp.orange.fr. Désactivez ensuite les autres SMTP pour ne laisser que celui-ci actif.
Posted by Cyril on 1 août 2010 at 15:43 under iphone. Tags: iphone, mails, mobile Commentaires fermés sur Mail sur iPhone : utiliser un smtp qui n’écrase pas l’adresse de retour….
Vous devez activer dans un premier temps le transfert de paquets par votre ordinateur. En root, exécutez la commande suivante :
# sysctl net.ipv4.ip_forward=1
Si vous souhaitez que ce paramètre soit activé par défaut au démarrage de votre ordinateur, éditez le fichier /etc/sysctl.conf, qui sera utilisé au boot pour remettre les paramètres à jour.
Le NAT consiste à autoriser qu’un ordinateur utilise le votre comme passerelle vers internet. Par exemple, vous avez une clé 3G ou un accès simple à Internet : mettez-vous en réseau avec l’autre ordinateur (avec des IPs fixes, un câble réseau ou un wifi en ad-hoc). Ensuite, autorisez le NAT de la manière suivante (remplacez eth0 par l’interface de votre connexion Internet).
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Pour forwarder les paquets qui arrivent sur un port vers un autre, utilisez iptables ! L’exemple suivant montre comment router les paquets UDP port 31234 vers une autre IP (on aurait aussi pu changer le port de destination pour en mettre un différent).
Ca y est, Guitar Hero 6 arrive ! Alors accordez vos guitares, ça va rocker ! Enfin accordez… prenez un chiffon et nettoyez-moi cette crasse qui s’accumule sur vos guitares, micro et batterie : ça se nettoie de temps en temps…
Et comme je suis sympa, voici un player deezer d’une partie de la tracklist de cet opus : Tracklist Guitar Hero 6 : Warriors of Rock. Ce jeu est plus ROCK, plus dans le style de Guitar Hero 3 : Lengends of Rock. Il est donc moins grand public, mais personnellement je préfère ! Y en a un peu marre des chansons à accords, surtout quand les accords sont plus difficiles que les solos : c’est le monde inversé !
Guitar Hero 6 : Warriors of rock est déjà disponible en précommande sur le site d’Amazon et le site de Fnac. Il sortira pour Nintendo Wii, Playstation PS3 et XBox 360, et ce le 24 septembre 2010 (d’après le site d’Amazon).
Les tarifs : comme d’habitude ! 70€ pour les version XBox et PS3, 60€ pour la version Wii. Les packs sont aussi disponibles : comptez 100€ pour Jeu + Guitare et 200€ pour le bundle complet avec la batterie. Mon astuce : utilisez iGraal ! Vous aurez une réduction Guitar Hero de 4%, soit le jeu Wii pour 58€. Utilisez les 2€ restant pour vous offrir des chansons dans la boutique en ligne ! (Disponible depuis le jeu, sur la console)
Autres mots clé : GH6 setlist, Warriors of Rock song list, Ecoutez la playlist Guitar Hero sur deezer
Consécutivement à l’article sur les notifications HTML 5, voici un article qui donne un exemple de fonctionnement des notifications.
La démo
Votre navigateur ne supporte pas les notifications. L’exemple ci-dessous ne fonctionnera pas.
Avant de pouvoir afficher une notification, vous devez autoriser le site à vous en présenter : Il y a parfois des limitations qui empêchent le site de lancer une autorisation au chargement de la page : vous êtes parfois obligé de faire cliquer l’utilisateur sur un bouton pour voir apparaître l’avertissement d’autorisation.
Ensuite, vous pouvez afficher des notifications (avec ou sans bouton) :
Mon problème aujourd’hui, c’est de sélectionner les listes qui contiennent une certaines expression régulière, mais pas une autre. Plus exactement, et pour faire dans les anglicismes, je cherche « foo.* », mais pas « foobar ».
La solution
Il faut utiliser la forme suivante : (?!regexp) pour choisir quelque chose qui ne match pas la regexp en question.
Plus d’informations disponible avec perldoc perlre, en particulier le chapitre sur les expressions régulières étendues (Extended Patterns)
Posted by Cyril on 13 juin 2010 at 22:12 under perl, web. Tags: perl, php, regexps Commentaires fermés sur Expressions régulières : combiner match et non-match.
Parce qu’on n’a pas toujours le document au format qui nous convient, ou parce qu’on a parfois besoin de repasser par des chaînes de caractères pour passer des arguments ou stocker des variables, différents outils de conversion sont mis à disposition du développeur.
Conversion en passant par JSON
Certains types peuvent être convertis en passant par JSON : le texte, les objets, les tableaux, les nombres…
Du type javascript au texte : il faut utiliser JSON.stringify Exemple : JSON.stringify([1,2,3]) => « [1,2,3] »
Du texte vers un type javascript : il faut utiliser JSON.parse Exemple : JSON.parse(« [1,2,3] ») => [1,2,3] (où 1, 2 et 3 sont des entiers)
Conversion d’un document DOMDocument ou XMLDocument
Deux outils sont à disposition : XMLSerializer (du document vers string) et DOMParser (de string vers un document).
XMLSerializer : DOMDocument vers une chaîne de caractères
Exemple : s = new XMLSerializer(); var documentString = s.serializeToString(document);
DOMParser : Conversion d’une chaîne de caractères vers un objet DOMDocument
Exemple : p = new DOMParser(); var doc = p.parseFromString(‘<html><body>coucou</body></html>’, ‘text/xml’);
Compatibilité
Ces APIs sont compatibles avec, entre autres, Safari 4.0+, Chrome, Firefox 3.5+, et peut-être IE… 😉
Posted by Cyril on 11 mai 2010 at 21:22 under web. Tags: chrome, chromium, html, html5, web Commentaires fermés sur Conversion javascript.
Il peut être parfois nécessaire d’utiliser une iframe, pour accéder par exemple à des cookies sur un autre site, se logguer, etc. Le problème est que si vous utilisez une iframe sur un domaine différent, le navigateur va vous renvoyer une erreur.
iframe et sécurité
Lorsque les domaine ou port diffèrent entre les deux frames, le navigateur va refuser la communication. En effet, imaginez que vous puissiez afficher une iframe cachée dans votre page, pour ensuite y récupérer des informations sensibles.
Exemple : dans mon site example.org, je mets une iframe vers mabanque.com et je récupère les informations bancaires de l’utilisateur de mon site (si celui-ci est déjà loggué sur le site de la banque).
// Vous pouvez choisir le domaine vers lequel vous acceptez d'envoyer un message (ici, tous les domaines)
dstWindow.postMessage([1,2,3], '*');
div-test pour la réception du message
1 : en fonction du navigateur, vous ne pourrez passer que des chaînes de caractères (Firefox 3.6 par exemple – Chrome supportant les objets). Pour pallier ce défaut, vous pouvez utiliser JSON.stringify et JSON.parse pour passer des objets comme des chaines ou des variables. Pour tout ce qui est DOM, ce n’est pas possible de faire passer les handler d’évènement définis dans la fenêtre source.
La sélection DOM consiste en un objet, présent dans HTML5, qui permet de gérer les sélections de texte à l’intérieur d’un document.
Le range est un intervalle, qui permet de définir une zone continue dans un document.
En pratique, mis bout à bout
En pratique : on crée un range, on fait pointer la sélection dessus (en veillant à supprimer la sélection actuelle), et on exécute la commande « copy » pour copier la sélection dans le presse-papier.
Introduit parmi les nouvelles fonctionnalités de l’HTML5, les notifications permettent aux sites web (que vous autorisez) de vous informer d’une activité sur un site. C’est comme les notifications de MSN messenger, quand une fenêtre apparaît en bas à droite de l’écran.
L’API supporte deux fonctions pour créer des notifications : soit à partir d’une URL, soit à partir d’une icône, d’un titre et d’une description. Utiliser une URL d’un fichier HTML permet d’avoir beaucoup plus de possibilités, au niveau de l’interaction comme au niveau de l’affichage (gras, images, liens, etc).
Utilisation dans chrome
Pour l’instant, chrome est le seul navigateur à supporter ce standard (sous Linux, hein !).
Voici un petit exemple de script (plus de détails dans la doc de chrome) :
function showNotification()
{
// Création de l'objet, puis affichage
var notification = webkitNotifications.createHTMLNotification('http://monurldenotification.com/');
notification.show();
}
function sendNotification()
{
var auth = webkitNotifications.checkPermission();
if(auth == 0) showNotification(); // Autorisé
elseif(auth == 1) webkitNotifications.requestPermission(sendNotification); // Demande la permission
else{}// Refusé
}
Les limites
Malheureusement, il n’est pas possible de faire tout ce qu’on veut . Voici quelques limitations encore valables à ce jour :
Impossible de dialoguer entre la desktop notification et le script qui l’a ouverte ;
Admettons que vous ayez deux fichiers PDF que vous souhaitiez regrouper en un seul fichier (par exemple les recto et verso de votre carte d’identité). Pour ce faire, voici un petit outil bien pratique : pdftk.
Bien que l’utilisation de ce programme est un peu compliquée, il n’en reste pas moins bien pratique ! $ pdftk recto.pdf verso.pdf cat output combine.pdf
Convertir des JPG en PDF
Je me suis mis à scanner ce matin un document, directement sur une clé USB (c’est plus pratique avec Linux que de commencer à chercher comment installer les drivers de scan 😉 ). Je me suis récupéré, à ma grande surprise, des fichiers JPEG au lieu d’un PDF tant attendu !
Pas de soucis : avec convert de imagemagick, vous pouvez convertir chaque JPG en PDF : $ for f in *.jpg; do echo Converting $f; convert $f $f.pdf; done
Ensuite, utilisez pdftk pour concaténer les fichiers PDF ainsi créés.
Installation des outils : les outils présentés ici sont disponibles dans la majorité des distributions (ubuntu, gentoo, …)
Posted by Cyril on 29 avril 2010 at 08:39 under Gentoo. Tags: Gentoo, Linux Commentaires fermés sur Concatener des pdfs avec pdftk.