Read this description in English.
RapportHamster++ est un ensemble de fonctions PHP permettant de personnaliser les rapports au format HTML créés par le gestionnaire de temps Hamster. Le parcours et la modification des rapports HTML sont principalement effectués grâce à l'extension DOM de PHP.
RapportHamster++ nécessite une version de Hamster utilisant la nouvelle structure des rapports HTML. La version 2.31.6 utilise cette nouvelle structure. Il est possible que ce soit le cas également d'une version antérieure.
Il faut aussi bien sûr un interpréteur PHP, sur un serveur ou en ligne de commande (PHP CLI). Pour utiliser PHP en ligne de commande sous Ubuntu, installer le paquet php5-cli.
Il n'y a pas d'installation nécessaire. Un fichier d'index est offert par défaut pour montrer l'utilisation possible des différentes fonctions avec PHP CLI.
Exemple dans une console sous GNU/Linux:
Télécharger l'archive de la dernière version:
wget http://www.jpfleury.net/site/fichiers/rapporthamster++/rapporthamster++.zip
Décompresser l'archive:
unzip rapporthamster++.zip
Aller dans le dossier créé:
cd rapporthamster++
Lancer le script d'index (les paramètres sont à titre d'exemple):
php ./index.cli.php "/chemin/vers/le/rapport.html" o o o o o 0
Le rapport modifié sera enregistré dans le même répertoire que le rapport original, par exemple /chemin/vers/le/rapport - 2.html.
Le dossier doc/exemple contient deux fichiers:
Gestion du temps, 2010-07-30 - 2010-08-05.html: un rapport créé par Hamster;Gestion du temps, 2010-07-30 - 2010-08-05 - 2.html: le même rapport, mais modifié par RapportHamster++.Pour plus de détails sur les paramètres et les fonctions, analyser le fichier index.cli.php dans un édtieur de texte et lire les commentaires de chaque fonction dans le fichier inc/fonctions.inc.php. Voir également ci-dessous l'aperçu des fonctionnalités.
Le fichier index.cli.php livré par défaut montre une utilisation possible des fonctions de RapportHamster++. Les fonctions en question sont:
ajouteClassesLignesTable(): ajoute des classes aux lignes d'une table donnée. Le résultat visible est une couleur d'arrière-plan pour les lignes paires;
ajouteDureeTotale(): ajoute la durée totale de toutes les activités du rapport;
colonneMarkdownVersHtml(): convertit le texte d'une colonne de la syntaxe Markdown vers le HTML. Utile pour rédiger les descriptions en Markdown. Par exemple:
Lorem *ipsum* dolor **sit** amet, `consectetuer` adipiscing [elit](dictum).
devient:
<p>Lorem <em>ipsum</em> dolor <strong>sit</strong> amet, <code>consectetuer</code> adipiscing <a href="dictum">elit</a>.</p>
dateSansZeroInitial(): supprime tout 0 initial dans les dates apparaissant dans le rapport. Par exemple:
08 mai 2010
devient:
8 mai 2010
Autre exemple:
Journal d'activité du 01 au 07 mai 2010
devient:
Journal d'activité du 1 au 7 mai 2010
dureeFormatHamsterVersMinutes(): convertit la durée en nombre de minutes. Par exemple, pour la durée 8 h 15 min, le retour est 495;
fusionneActivites(): fusionne les activités de la table «Journal d'activité» (deuxième onglet) du rapport. Les colonnes de début et de fin de l'activité sont supprimées.
La fusion consiste à rechercher les activités semblables (mêmes jour, activité, catégorie et étiquettes) et dont la description utilise une syntaxe spéciale pour lier les activités entre elles. Soit les cinq activités suivantes:
description de l'activité 1 (1 h 35 min): [1] Début de l'activité. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
description de l'activité 2 (20 min): [1]
description de l'activité 3 (2 h 15 min): [1] Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.
description de l'activité 4 (1 h 10 min): [1]
description de l'activité 5 (2 h 50 min): [1] Fin de l'activité. Praesent tempus; odio ac sagittis vehicula; mauris pede tincidunt lacus, in euismod orci mauris a quam.
Ces cinq activités, si elles ont les mêmes jour, activité, catégorie et étiquettes, sont liées entre elles par le nombre entre crochets situé au début de chaque description, et seront donc fusionnées. La durée totale de l'activité sera la somme de toutes les activités liées (8 h 10 min dans cet exemple) et la description résultante contiendra s'il y a lieu la description de chaque activité:
[1] Début de l'activité. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.
Fin de l'activité. Praesent tempus; odio ac sagittis vehicula; mauris pede tincidunt lacus, in euismod orci mauris a quam.
minutesVersDureeFormatHamster(): convertit le nombre de minutes en durée affichée par Hamster. Par exemple, pour 495, la durée retournée est 8 h 15 min;
supprimeColonnes(): supprime les colonnes données dans la table donnée;
supprimeJquery(): supprime jQuery du rapport. Utile lorsque des tables ont été supprimées et qu'une seule a été laissée;
supprimeTables(): supprime les tables données. Une table correspond à un onglet principal dans le haut du rapport.
unitesDureeFormatHamster(): trouve les unités utilisées dans le rapport par défaut pour les heures et les minutes. Par exemple, retourne array (' h', ' min') pour un rapport en français.
Le logiciel bazaar est utilisé pour le versionnage des fichiers. Une copie de la version de développement peut être récupérée avec la commande suivante:
bzr branch lp:~jpfle/+junk/rapporthamster++
Auteur: Jean-Philippe Fleury contact@jpfleury.net
Copyright © Jean-Philippe Fleury
Ce programme est un logiciel libre; vous pouvez le redistribuer ou le modifier suivant les termes de la GNU General Public License telle que publiée par la Free Software Foundation: soit la version 3 de cette licence, soit (à votre gré) toute version ultérieure.
Ce programme est distribué dans l'espoir qu'il vous sera utile, mais SANS AUCUNE GARANTIE: sans même la garantie implicite de COMMERCIALISABILITÉ ni d'ADÉQUATION À UN OBJECTIF PARTICULIER. Consultez la Licence publique générale GNU pour plus de détails.
Vous devriez avoir reçu une copie de la Licence publique générale GNU avec ce programme; si ce n'est pas le cas, consultez http://www.gnu.org/licenses/.
La dernière version est la 1.0 (date: 2010-09-05). Consulter les notes de version.
Ajoutez le code ci-dessous sur votre site:
<a href="http://www.jpfleury.net/logiciels/rapporthamster++.php">RapportHamster++: personnaliser les rapports du gestionnaire de temps Hamster | Jean-Philippe Fleury</a>
| Haut