Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 17/09/2009, à 17:51

yohann

[php] chronométrer le temps que vous passez sur vos projets

Bon après avoir cherché pas trop longtemps sans trouver mon bonheur j'ai fini par écrire (vite et mal) un petit script en php cli pour "chronométrer" le temps que je passe sur mes projet

le script ne fonctionnera que si php est disponible en mode cli sur votre machine (le script doit être trés facilement transposable en python, cela dit)

une fois le script executable et dans le path il s'utilise de la manière suivante:

timeCounter /chemin/vers/racine/projet &

le script est maintenant lancé en tache de fond.

ensuite il suffit de travailler sur son projet.

toutes les 10 minutes, le script va scanner les fichiers du projet, si un fichier a été modifié pendant ces 10 minutes, on ajoute 10 minutes au temps du projet. et on écrit le résultat à la racine du projet dans un fichier .timeCounter.

le script chronometre avec des GROS guillemet mais si vous êtes comme moi un peu tête en l'air, que vous commencer un truc puis surfer sur le net, répondez à vos mail, donner des biberon au enfants, etc...
et qu'a la fin de la journée vous vous demander combien de temps vous avez effectivement passé sur le projet bidule, ce script peu vous être utile.


#!/usr/bin/env php
<?php

function parcours_arbo1($rep,$ssrep) {
  if( $dir = opendir($rep) ) {
    while( FALSE !== ($fich = readdir($dir)) ) {
      if ($fich != "." && $fich != "..") {
        $chemin = "$rep$fich";
        if (is_dir($chemin)) {
          if (parcours_arbo1($chemin.'/', ($ssrep==''?$fich:$ssrep.'/'.$fich)) == 1) {
            return 1;
          }
        } else {
          $fileName = ($ssrep==''?$fich:$ssrep.'/'.$fich);
      //    echo $chemin."\t";
      //    echo filemtime($chemin) . "\t";
      //    echo time() . "\n";
          if (time() - filemtime($chemin)  < 600) {
            return 1;
          }
        }
      }
    }
  }
}


$rep= $argv[1];
$logFile = $argv[1] . '.timeCounter.log';
if (file_exists($logFile)) {
  $time = file_get_contents($logFile);
} else {
  $time = 0;
}
while (true) {
  if ( parcours_arbo1($rep,'')) {
    $time += 600;
  }
  file_put_contents($logFile, $time);
  sleep (601);
}
?>

adresse du script pour évolutions futures éventuelles:

http://trac.rebattu.fr/scripts/wiki/TimeCounter


j.vachez, le génie du net | Soirées jeux sur Lyon | 441
++++++++++[>+++++++>++++++++++>+++<<<-]>++.>+.+++++++
..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.

Hors ligne

#2 Le 21/09/2009, à 15:31

yohann

Re : [php] chronométrer le temps que vous passez sur vos projets

Bon apparemment ce poste n'intéresse personne, je comprend pas pourquoi.
j'ai quand meme créer une version 0.0.2, avec une aide et un meilleure parseur de commande


j.vachez, le génie du net | Soirées jeux sur Lyon | 441
++++++++++[>+++++++>++++++++++>+++<<<-]>++.>+.+++++++
..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.

Hors ligne