Visualiser automatiquement la semaine en cours sous spreadsheet

Si vous faites vos planning sous spreadsheet façon MS Project, il peut être intéressant de visualiser la semaine en cours. Pour ce faire on va avoir recours à Google Script.
Une fois terminé, cela devrait ressembler à ça :

Trouver le numéro de semaine

Plutôt que de calculer le numéro de semaine en utilisant l’objet Date de javascript, on va utiliser les scripts properties pour stocker le numéro de semaine actuel. Cela présente deux avantages :

  1. C’est plus simple que de passer par l’objet Date
  2. C’est aussi plus souple. De l’expérience que j’en ai , il y a mille et une façon de numéroter les semaines du calendrier. En stockant celui-ci vous pouvez l’adapter à votre utilisation.
Pour changer ce numéro j’utiliserai la fonction très simple suivante :
function changeActualWeek(weekNumber){
 ScriptProperties.setProperty("actualweek", weekNumber);
 }

Pour l’initialisation, vous pouvez procéder de deux façons :

  • Soit aller modifier les script properties via le menu File > Properties
  • Soit ajouter une fonction pour l’initialisation
Je préfère la deuxième solution, qui est plus rapide et plus simple lorsque vous installez le script la première fois et que vous ne connaissez rien au script.
On pourrait même créer une entrée de menu pour mettre à jour le numéro de semaine. Mais pour faire rapide une simple fonction suffira :
function changeActualWeek(weekNumber){
  ScriptProperties.setProperty("actualweek", weekNumber);
}

function initWeekNumber(){
  changeActualWeekColor(40);
}
Colorier la colonne
Dans mon cas les numéros de semaines sont situés sur la première ligne et le planning est sur 3 feuilles. Je vais donc devoir parcourir les 3 feuilles et leurs colonnes.
Attention tout de même, je ne veux colorier que les cellules « blanches », pour continuer à voir mon planning.
cela donne :
function replaceColorWeekInAllSheets(oldColor,newColor){
  var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
  for(var i in sheets){
    replaceColorWeekColumn(sheets[i],oldColor,newColor);
  }
}

function replaceColorWeekColumn(sheet,oldColor,newColor) {
  var row = 1;
  var lastRow  = sheet.getLastRow();
  var lastColumn = sheet.getLastColumn();

  for(var i = 1; i <= lastColumn; i++){
    var range = sheet.getRange(row,i,1,1);
    var value = range.getValue();
    if(value == ScriptProperties.getProperty("actualweek")){
      var rangeToColor = sheet.getRange(row,i,lastRow,1);
      replaceCellsColor(rangeToColor,lastRow,oldColor,newColor);
      break;
    }
  }
}

function replaceCellsColor(range,endRow,oldColor,newColor){
  for(var i = 1; i <= endRow; i++){
    var cell = range.getCell(i, 1);
    if(cell.getBackgroundColor() == oldColor){
      cell.setBackgroundColor(newColor);
    }
  }

}
Pour que la première semaine se colore à l’initialisation je modifie la fonction initWeekNumber :
function initWeekNumber(){
  changeActualWeek(40);
  replaceColorWeekInAllSheets("white","#bbffbb");
  replaceColorWeekInAllSheets("#ffffff","#bbffbb");
}
Comme vous le voyiez, je suis obligé de tenir compte de 2 cas, celui où le Background color de la cellule est white et celui ou il est #ffffff, ce qui n’est malheureusement pas la même chose.
Par défaut, la couleur des cellules est « white ». Mais si vous utilisez le bouton pour changer de fond, elle devient « #ffffff ».
Ajouter une tâche planifiée
Pour terminer il ne me reste plus qu’à planifier le changement de semaine. Pour ce faire je commence par créer la fonction qui sera appelée.
Elle doit
  • supprimer le formatage de la semaine précédente
  • incrémenter le numéro de semaine
  • lancer la coloration
function weekChangeTrigger(){
  replaceColorWeekInAllSheets("#bbffbb","#ffffff");
  var actualWeek = parseInt(ScriptProperties.getProperty("actualweek"));
  actualWeek++;
  changeActualWeek(actualWeek);
  replaceColorWeekInAllSheets("white","#bbffbb");
  replaceColorWeekInAllSheets("#ffffff","#bbffbb");
}
Puis, j’ajoute le trigger suivant via le menu Triggers :

Il n’y a plus qu’à attendre lundi prochain, pour que la semaine change automatiquement.

Supprimer le profil outlook Google Apps Sync

On ne trouve pas dans les menus supplémentaires créés à l’installation de Google apps sync la possibilité de supprimer le nouveau profil outlook créé pour cette occasion.

Pour le supprimer vous devez :

  • Ouvrir le panneau de configuration de windows
  • Localiser le menu Courrier et lancer l’application
  • Cliquer sur Afficher les profils
  • Sélectionner et supprimer le compte qui vous intéresse

La pratique de GTD avec les outils Google (Partie 2)

Voici la suite de ma mise en pratique de GTD au moyen des outils Google, dont vous pouvez lire la première partie ici.

J’ai exposé dans la première partie la façon dont j’allais trier les éléments non activables.
Je vais donc décrire maintenant le classement des éléments activables.
Pour rappel, selon la méthode GTD, pour chaque élément activable, je peux :

  • Déléguer l’action et la classer dans une corbeille d’attente.
  • Exécuter l’action si celle-ci prend moins de 2 minutes.
  • Classer l’action dans une liste de premières actions, si celle-ci prend plus de 2 minutes.

Les listes de premières actions

Pour ces listes j’utiliserai naturellement Google Tasks.

Comme le suggère David Allen, j’ai créé une liste par contexte d’action, ce qui permet en fonction du contexte où je me trouve de savoir précisément quelle action je peux réaliser.

Au besoin, j’ajouterai aussi des listes dédiées aux gros projets. Dans le cas de projets ne nécessitant que quelques étapes, je me contenterai d’utiliser des sous-tâches.

Par ailleurs, j’ai aussi créé un dossier @Actions dans Gmail qui accueillera les mails liés aux actions. Je pourrais simplement les archiver, mais je préfère procéder ainsi dans un premier temps.

Il faudra juste que je garde à l’esprit que ce qui fait foi, ce sont mes listes Google Tasks.

En plus des listes, j’ai aussi créé un dossier @Lire | Revoir sous Gmail,
pour les éléments qui nécessitent que je prenne le temps de les lire, ou que je
dois relire avant une réunion par exemple, avec bien entendu son équivalent dans Tasks.

Pour ajouter les actions depuis mon carnet de note, depuis Google Reader ou depuis mes listes de projets, je n’ai pas 36 solutions : je les ajouterai manuellement.

En revanche, pour les mails, je les ajouterai via l’action « Add to Tasks ».
C’est assez pratique puisqu’on peut en ajouter plusieurs à la fois et
que les tâches auront un lien vers le mail dont elle sont issues.

Attention toutefois de bien sélectionner auparavant la liste dans laquelle vous
voulez ajouter les éléments, sous peine de devoir tous les déplacer un à un.

Enfin pour les tâches où cela est nécessaire, je pourrai ajouter une date butoir directement à partir de Tasks. Comme il est conseillé dans GTD, je réserverai cette option uniquement pour les tâches qui le nécessitent réellement (Rendez vous, document à revoir avant une réunion, …), pour ne pas polluer mon agenda avec des tâches que je finirai par reporter d’un jour sur l’autre. 

La corbeille en attente

Destinée à recueillir les éléments délégués dans le but de contrôler leur
exécution, j’ai choisi la même organisation que pour les listes de premières actions, à savoir : une liste dans Tasks sobrement intitulé « En attente » et un dossier Gmail nommé @En attente, alimenté automatiquement par un filtre sur les mails pour lesquels je suis émetteur et en copie cachée.

Les listes de projets

J’utiliserai Google Docs pour maintenir ma liste de projets. Chaque projet sera représenté par un sous-répertoire du répertoire projet.

Dans chaque répertoire projet, je mettrai un fichier planning contenant les actions à entreprendre pour atteindre l’objectif fixé, ainsi qu’un répertoire nommé « Références » pour le classement des documents d’accompagnement.

Je pense avoir fait le tour des conteneurs. Je vais maintenant mettre en place les moyens nécessaires à l’examen des premières actions.

Examiner les actions à entreprendre

Deux outils vont m’aider à suivre mes premières actions.

Avec iGoogle, j’ai l’outil idéal pour superviser mes premières actions à condition de ne pas noyer l’information sous une tonne d’informations inutiles. Je me contenterai donc de 2 onglets :

  • L’onglet « Actions » contiendra les widgets Calendar et Tasks. J’aurai ainsi une vision globale des actions que je dois entreprendre.
  • L’onglet « Références » qui aura pour mission de centraliser les références d’origines différentes.

En situation de mobilité, j’utiliserai mon Nokia N73 (Pas encore d’Android pour le moment :'(), dont le calendrier est synchronisé avec Calendar. Je pourrai accéder aux tâches via l’application Tasks pour les mobiles.

Maintenant que les outils sont en place, il me faudra juste être suffisamment régulier et discipliné pour conserver un système fiable et à jour.

La réactualisation journalière et hebdomadaire

J’essayerai de ne vider mes corbeilles d’entrée que 2 fois par jour, même si la tentation est grande de le faire plus souvent, pour ne pas perturber mon travail.

Une exception toutefois avec les favoris Google Reader, qui contiennent une partie des actualités qui servent à alimenter discover G.

Une fois par semaine je ferai le tour du système dans son ensemble.

Voilà, je crois que je suis à peu près paré, je vais pouvoir commencer à remplir mes boîtes d’entrée en faisant la collecte de toutes mes affaires en suspend.

Comme dirait l’autre : « Y’a plus qu’à ! »

La pratique de GTD avec les outils Google (Partie 1)

Je viens enfin de terminer le livre de David Allen, Gettings Things Done, d’où est issu le nom de la méthode acronyme GTD.

Je vais donc essayer de l’appliquer à l’aide des outils fournis par Google.

D’ici 1 ou 2 mois je ferai un premier bilan de ma nouvelle organisation pour vérifier premièrement, qu’elle fonctionne et deuxièmement, voir ce qui pourrait être amélioré.

Avant de commencer et pour ceux qui ne connaitraient pas la méthode GTD, un petit rappel s’impose.

GTD c’est quoi ?

GTD est une méthode d’organisation dont le but est de faire en sorte que ses adeptes (ça fait très secte ^^) libèrent leur esprit de tous les rappels, tâches, etc … qui l’encombrent inutilement, via un système efficace de classement et de rappels.

Si vous voulez en savoir un peu plus avant de commencer, je vous conseille les liens suivant :

Maintenant que vous en savez un peu plus, passons à la mise en pratique.

La collecte des affaires en suspend

Comme il vaut mieux éviter de multiplier les corbeilles d’entrées, ma principale corbeille d’entrée sera l’Inbox de Gmail. L’idée est qu’un maximum d’affaires passent par cette boîte.
Au besoin je m’enverrai des mails avec des idées, des doc de référence, …
Par ailleurs, toujours pour éviter de multiplier les corbeilles d’entrées, j’ai centralisé toutes mes boîtes mail sur un seul compte Gmail, via l’ajout de comptes pop, y compris mon mail professionnel.

Comme je n’ai pas encore de téléphone suffisamment pratique pour taper rapidement et pour les fois ou je n’ai pas accès au réseau, j’utiliserai aussi mon petit carnet de voyage pour noter ce qui me passe par la tête.

Enfin, puisque j’utilise Google Reader pour ma veille, je me servirai du « dossier » favoris comme dernière corbeille d’entrée. Je pourrais tout aussi bien m’envoyer la news par mail, mais je préfère conserver la méthode des favoris car elle a le mérite d’être très simple, surtout depuis mon téléphone mobile.

Une fois toutes les affaires en suspend rassemblées dans mes 3 corbeilles d’entrées, je vais pouvoir passer au traitement.

Le traitement des éléments activables

Pour chaque élément activable, la méthode GTD distingue les cas suivant :

  • L’élément n’est pas activable :
    • Il ne sert à rien, je peux le jeter.
    • Je dois le conserver comme référence.
    • Il n’est pas activable de suite, comme par exemple les idées de projets, les activités que j’aimerai faire un jour, etc …, ce sont les éléments « un jour peut-être ».

  • L’élément est activable :
    • Je délègue l’action et je la classe dans une corbeille d’attente.
    • L’action prend moins de 2 minutes et je l’exécute de suite.
    • L’action prend plus de 2 minutes et je dois donc la classer dans une liste de premières actions.

  • L’élément est complexe et donne naissance à un projet au sens GTD. C’est-à-dire qu’atteindre l’objectif nécessite plus d’une première action.

Je dois garder à l’esprit que lorsque j’aurai fini ce traitement, mes corbeilles d’entrées devront être vides.

Passons maintenant en revue les conteneurs qui me permettront de classer ces éléments.

Le classement des références

C’est le point qui me pose le plus de problèmes à dire vrai. En effet, le classement des références doit être aussi simple que possible mais doit permettre de classer des références d’origines multiples et variées.

Voici les différents type de références que j’ai pu recenser me concernant :

  • Les documents électroniques : Ils seront classés dans Google docs. Au besoin, j’imprimerais les documents que je veux classer dans un PDF, que l’on peut importer dans Docs.
  • Les documents papiers : là,  à moins de scanner tous les documents papiers, il n’y a pas d’autre solution que de les trier physiquement. Toutefois pour des raisons pratiques, je vous conseille de scanner les documents importants dont vous avez besoin fréquemment, comme votre carte d’identité.
  • Les photos : cela peut avoir un intérêt à des fins de sauvegarde, surtout depuis la baisse des tarifs pratiquée par Google.
  • Les mails : si ce qui m’intéresse est la pièce jointe, je l’enregistrerai dans Picasa ou Google Docs, sinon je classerai le mail directement dans un dossier thématique comme « Achats & Factures ».
  • Les liens internet : je n’ai pas encore de solution qui me satisfasse pour le moment, donc je continuerai pour le moment d’utiliser del.icio.us (ouuuuuuuh ! vendu !).


La corbeille des « un jour peut-être »

Pour ces éléments, j’ai créé un dossier « Incubateur » sous Google Docs,
qui contiendra des fichiers ou dossiers aux noms explicites comme
« Livres », « Films », « Apprendre », « Faire », « Allez à », « Voir », « Idées
projets », …

Je m’arrête ici pour cette première partie en espérant que vous l’avez trouvée instructive et je vous parlerai du classement des éléments activables dans un prochain article. 

Google intègre les données publiques de la Banque Mondiale

Si comme moi vous aimez avoir des chiffres avant de parler, vous serez sans doute intéressés par cette nouvelle fonctionnalité.

En effet Google intègre désormais les données publiques rendues disponibles par la Banque Mondiale via leur API, sous forme de graphiques.

Vous pourrez dès lors ajouter les données d’autres pays et même intégrer ce résultat dans vos pages web via le lien fourni comme ci-dessous.

Il y a en tout 17 indicateurs dont vous pourrez voir la liste sur le post d’origine.

Enfin notez que cette fonctionnalité n’est disponible uniquement que sur www.google.com.

Source : http://googleblog.blogspot.com/2009/11/world-bank-public-data-now-in-search.html