Affichage des articles dont le libellé est google. Afficher tous les articles
Affichage des articles dont le libellé est google. Afficher tous les articles
8/17/2017

Free custom pixel tracking with Google Spreadsheet

I think this is one of the simplest*, serverless™*, free forever, way to build a pixel tracker.

  • Create a new Google Spreadsheet
  • Tools > Script editor...
  • Copy/paste the code below
  • Publish > Deploy as web app...
  • Use the generated link inside an <img src="PASTE_URL_HERE"/>
  • Enjoy.
function doGet(e) {
  if(!e.parameter.id){throw new Error('Query parameter "id" is required')}
  var as=SpreadsheetApp.getActiveSpreadsheet();
  (as.getSheetByName('logs') || as.insertSheet('logs')).appendRow([new Date().toISOString().substring(0, 16).replace('T', ' '), e.parameter.id,  HtmlService.getUserAgent()]);
  return HtmlService.createHtmlOutput('http://blog.fgribreau.com/2017/08/free-pixel-tracker-with-google-spreadsheet.html');
}

* yes, you could also use the pixel tracker from Google Analytics.
* yes, it's a troll.

6/05/2008

Comment ajouter une signature html à vos mails Gmail

Logo Gmail Ce tutorial est pour les utilisateurs intensifs de Gmail. Comme vous l'avez sans doute remarqué, il vous est possible, depuis Gmail, de spécifier une signature à inclure à tout vos emails (Options > Général > Signature) malheureusement Gmail refuse l'ajout de code html depuis cette méthode (même en créant soit même la requête de type POST que Gmail effectue lors de la sauvegarde de vos préférences). Voici donc comment créer un bookmarklet qui ajoutera directement dans votre message votre signature.

Avant de commencer sachez que des extensions Firefox (Better Gmail 2) et script Grease Monkey permettent déjà cela. Mais si vous êtes un utilisateur nomade utilisant plusieurs navigateurs sur différentes machines la solution du bookmarklet est beaucoup plus rapide à mettre en place et simple d'utilisation.

Nous utiliserons JQuery afin de pouvoir travailler très simplement avec Gmail. Le lanceur de notre bookmarklet est basé sur l'article de WebInventif. Une fois Jquery chargé, il ne reste plus qu'à placer notre code dans la fonction "code()" (voir le code final de l'article WebInventif).

Google utilise des iframes avec des id et des class changeantes à chaque rechargement de page pour éviter toute tentative de piratage automatisé (envoi d'email automatique par exemple). Nous ne pouvons pas directement accéder à un élément par son id ou sa class mais nous pouvons y accéder en fonction de ses éléments parents qui eux ne changeront pas ! De plus, après avoir parcouru le code html de la page d'édition d'email, on observe que le conteneur du texte de l'email est un élément body avec la class editable. Notre page Gmail contient 4 iframes la dernière appelée par un id canvas_frame (qui lui ne change pas) et qui contient l'iframe qui nous intéresse.

Pour accéder au contenu d'une iframe avec Jquery, nous devons utiliser le code suivant :

$('iframe').contents()

Ensuite pour recherche un élement à l'intérieur de cette iframe (par exemple une autre iframe) on ajoute la propriété "find" :

$('iframe').contents().find('iframe')

Ainsi pour accéder directement au contenu de notre email, il suffit de faire :

$('iframe#canvas_frame').contents().find('iframe').contents().find('body.editable')

Ou d'une manière plus générale

$('iframe').contents().find('iframe').contents().find('body')

Il ne nous reste plus qu'à ajouter notre signature après le dernier élément de body.

$('iframe').contents().find('iframe').contents().find('body').append('<a href="http://feeds.feedburner.com/%7Er/geekfg/%7E6/2"><img src="http://feeds.feedburner.com/geekfg.2.gif" alt="GeekFG Blog Rss Feed" style="border: 0pt none ;"></a>);



Le code final de notre bookmarklet est alors :


void ((function(){
if (!document.getElementById("Ijquery")) {
var noeud_js = document.createElement("script");
noeud_js.setAttribute("type", "text/javascript");
noeud_js.setAttribute("id", "Ijquery");
noeud_js.setAttribute("src", "http://code.jquery.com/jquery-latest.pack.js");
document.getElementsByTagName("head")[0].appendChild(noeud_js);
}
function jquery_loaded(){
var tmp = "false";
try {tmp = $("body").text();}catch (erreur) {tmp = "false";}
return tmp;}
function verif_loaded(){
var temp = jquery_loaded();
if (temp != "false") {
clearInterval(interval);
code();
}
}
var interval = window.setInterval(verif_loaded, 100);
function code()
{
$("iframe").contents().find("iframe").contents().find("body.editable").append('<a href="http://feeds.feedburner.com/%7Er/geekfg/%7E6/2"><img src="http://feeds.feedburner.com/geekfg.2.gif" alt="GeekFG Blog Rss Feed" style="border: 0pt none ;"></a>');
}
}
)())


Une fois que vous avez modifier votre signature dans le code ci-dessus, effectuez les étapes suivantes :

  1. Allez ici, copier/coller y votre code, cliquez sur Encode
  2. Copier le code généré
  3. Créez un marque-page dans votre navigateur, allez dessus, supprimez l'ancienne adresse
  4. Ajoutez javascript:, puis coller le code javascript qui vient d'être encodé
  5. Enregistrez votre marque-page
  6. Rendez-vous sur Gmail, créez un nouvelle email
  7. Cliquez sur votre marque-page
  8. Après quelques secondes votre signature doit s'ajouter

Voici le bookmarklet de l'exemple glissez-déposez-le (drag & drop) dans votre barre de lien puis allez sur Gmail pour tester.

4/25/2008

Ajout d'un flux rss Feedburner

Voila, comme tout blog "hype" et malgré mon antipathie pour ce genre de service, geekfg.blogspot.com à droit à son flux rss Feedburner.

Voici quelques inconvénients que je trouve à Feedburner :
  • FeedBurner est une surcouche à votre flux rss, il va chercher de temps en temps l'information sur votre flux rss, vérifie qu'il n'y a rien de nouveau, et dans le cas contraire met à jour son propre flux. Plus il y a d'intermédiaire moins on a le contrôle, personnellement je n'aime pas ça.
  • Vous externalisez le flux rss (url de type : http://feeds.feedburner.com/****), les statistiques, vous n'avez pas le même contrôle que vous pourriez avoir s'il s'agissait de votre propre plateforme de rss, avec votre propre code.
  • Si du jour au lendemain, Google décide de passer Feedburner payant (sais-t-on jamais) comment allez vous faire pour changer automatiquement l'adresse du flux rss dans les agrégateurs ? Alors vous allez me dire, justement, c'est le but de Feedburner il empêche de changer l'adresse du flux rss si vous changer d'adresse de blog. Mais réfléchissons, il suffit d'une simple redirection 301 vers votre nouvelle adresse de flux rss, et voila !
    • Exemple : votre ancienne adresse de flux rss est la suivante : http://vistarc.info/rss/ et vous souhaitez que la nouvelle adresse soit : http://vistarc.net/rss/ :
      • Remplacer le script du flux rss par (avec les balises php)
        • header('Status: 301 Moved Permanently', false, 301);
          header('Location: http://vistarc.net/rss/');
    • Et c'est tout ! Est-ce 2 lignes de code qui peuvent vous faire passer du côté obscure ?
  • Maintenant un bon côté à FeedBurner est que pour les bloggeurs non développeurs parlant d'IT (cela peut faire un non sens mais pourtant ils sont très très nombreux) c'est un très bon moyen d'obtenir des statistiques facilement ainsi que toute une panoplie d'option de personnalisation pour le flux.
  • Un autre bon point est l'API offerte par FeedBurner notamment pour la visualisation des statistiques du blog.
  • En contre partie j'observe que de plus en plus de société demande l'adresse du flux Feedburner, c'est le cas pour Blogrider, qui m'a demandé, lors de l'inscription, de fournir un flux Feedburner (je crois même que le champs était obligatoire). C'est révoltant! Pour ma part je viens juste d'installer le flux FeedBurner sur ce blog, alors qu'il a été créé le 30 Aout 2004 ! Les données que retournera l'API seront donc clairement erronées puisque bon nombre de personne souscrivant déjà au flux ne sont pas sous FeedBurner.
Ainsi ce termine ma petite analyse sur ce service, ses bons côtés et ses mauvais, je pense tout de même qu'il ne serait pas inintéressant de re-créer un service comme FeedBurner mais en libre, open source, intégrée de base dans les différentes plateformes de blogging (wordpress, dotclear...), cms (nukedclan, xoops...) et tout autre plateforme générant du contenu.
Le service devra être décentralisé, c'est à dire qu'il travail sur le serveur du site même (plus de ressource demandée mais plus de flexibilité au niveau du code). Il devra se mettre à jour automatiquement depuis le serveur mère (même si en écrivant ces lignes, il me vient à l'esprit de large problème de sécurité...puis je plongea dans mes songes)....

Une question me taraude l'esprit, pourquoi Blogspot, qui est la plateforme de blogging de Google, n'inclue-t-elle pas Feedburner par défaut ? Est-ce pour concurrence déloyale ? Google n'arrête pas d'ouvrir de nouveaux services, mais peu sont reliés correctement entre eux (sans doute aussi par soucis de confidentialité et de sécurité), je trouve cela vraiment dommage, et vous ?
»
 
 
Made with on a hot august night from an airplane the 19th of March 2017.