Bienvenue sur ce site web

Informaticien de formation, cela fait longtemps que j'écris moi même la plupart des logiciels dont j'ai besoin.

Ce site est destiné à vous présenter un logiciel libre composé de plusieurs outils que j'ai nommé Cyloop : abréviation de Cyclic loop tools.

Cyloop est une variante d'un autre logiciel libre nommé RRDtool.

RRDtool c'est quoi ?

Commençons donc par parler de RRDtool avant d'expliquer en quoi Cyloop est différent.

RRDtool est un ensemble d'outils qui permet d'enregistrer la valeur d'une ou plusieurs variables numériques à différents moments, puis de générer un graphique représentant l'évolution dans le temps de la valeur d'une ou plusieurs variables mémorisées.

RRDtool traite le temps de manière linéaire. Lorsqu'on crée un fichier RRDtool vierge, il faut spécifier tout les combien les valeurs des variables seront enregistrées et pendant combien de fois. On peut toutefois choisir d'enregistrer les valeurs pour différentes échelles de temps.

Par exemple, on peut créer un fichier RRDtool de taille raisonnable qui enregistrera les valeurs des variables à raison de :
Les graphiques générés par RRDtool couvrent traditionnellement une période de temps allant d'un moment plus ou moins éloigné dans le passé à l'instant présent.

A moins de créer un fichier RRDtool gigantesque capable de mémoriser les valeurs des variables toutes les minutes ou toutes les secondes pendant 10 à 100 ans (ce qu'on ne fait pas), on aboutit aux limitations suivantes :

En quoi Cyloop est il différent ?

Dans le cas de Cyloop, le temps est considéré comme une suite de cycles dont chacun commence à la suite du précédent.

Pour créer un fichier cyloop vierge, on commence par définir le cycle sur lequel il va travailler. Il peut s'agir d'une période de temps basée sur le calendrier (jour, semaine, mois, année) ou de n'importe quelle période de temps de durée choisie.

Il faut également choisir en combien de morceaux de durée identique (éventuellement à une seconde près) on va découper le cycle pour enregistrer des données.
Dans ce site web, on parlera d'instants du cycle pour désigner ces morceaux.

Les données qu'on peut mémoriser dans un fichier cyloop sont de 2 sortes :
Lorsqu'un cycle se termine, le suivant commence et les nouvelles données enregistrées dans le fichier cyloop s'ajoutent à la valeur des cycles précédents déjà mémorisée pour le même instant du cycle.

Les graphiques générés par Cyloop représentent donc la valeur moyenne de compteurs et de variables mesurée sur plusieurs cycles pour chaque instant du cycle.

Dans le cas le plus simple, les données des cycles successifs s'ajoutent dans le fichier cyloop. Chaque cycle est d'égale importance dans le résultat final et au bout d'un grand nombre de cycles, les graphiques n'évoluent que très lentement.

Il est également possible à chaque changement de cycle d'effectuer un calcul de pondération (multiplication des valeurs déjà mémorisées par un coefficient choisi compris entre 0 et 1) afin de donner davantage d'importance aux cycles les plus récents dans le calcul de la valeur moyenne.

Exemple d'utilisation de Cyloop

Cyloop pour quels ordinateurs et quel système d'exploitation ?

Cyloop a été écrit en langage C et n'utilise que des fonctions très basiques de ce langage. Il pourra donc fonctionner avec n'importe quel modèle d'ordinateur et n'importe quel système d'exploitation pour lequel un compilateur du langage C est disponible.

Toutefois, il est vivement souhaitable d'utiliser Cyloop sur des ordinateurs équipés d'un système d'exploitation capable de lancer des automatiquement commandes de manière périodique à des instants programmé, comme le fait le cron des système UNIX.

Par ailleurs, la commande cylgraph commence par générer les graphiques au format .bmp . Si on souhaite que les graphiques soient enregistrés dans un autre format d'image (le format .png est un bon choix), il est nécessaire que la commande convert de ImageMagick soit implantée sur l'ordinateur.

Le projet Cyloop et ce site web ont été réalisés sur mon temps libre sans perspective de gain financier.

Pour travailler sur ordinateur, j'utilise des PC fonctionnant sous GNU/Linux. Je suis opposé à la vente liée de PC avec Windows (l'une des rares formes de vente liée autorisée dans les faits en france et dans de nombreux autres pays). Lorsqu'un ordinateur est vendu avec Windows, ce système d'exploitation (édition familiale) représente une centaine d'euros sur le prix total. Si j'achète un ordinateur de bureau complet, je choisis une boutique qui le vend sans Windows et mes ordinateurs portables ont été achetés lorsqu'on en trouvait fonctionnant sous GNU/Linux.

En conséquence, ce site web ne diffuse pas de version directement exécutable de Cyloop pour Windows, Mac OS X et d'autres plateformes autres que GNU/Linux sur PC. Si vous voulez utiliser Cyloop sur d'autres systèmes d'exploitation, il vous faudra vous même compiler les fichiers sources, ou alors m'offrir le matériel et le compilateur C qui me permettra de me charger de ce travail.

Ce site web est multilingue

Étant francophone de naissance, j'ai écrit la version initiale des spécifications des fichiers Cyloop, puis les fichiers sources de Cyloop avec leur commentaires en français.

Bien que la connaissance de la langue des américains (ou de la version britannique dont elle est issue) soit pratique pour communiquer dans de nombreux pays notamment avec quasiment tous les scandinaves sans connaître leur langue locale, je considère qu'un site web seulement en anglais (comme beaucoup de sites de logiciels libres) ou en français et en anglais n'est pas l'idéal.

D'un autre coté, faire un site web ainsi que l'interface utilisateur et la documentation d'un logiciel multilingue prend du temps et les traducteurs en ligne disponibles sur le web sont imparfaits. De plus, ceux qui traduisent directement depuis le français (google ne le fait pas, il utilise l'anglais, langue riche en homonymies comme langue intermédiaire) ne se limitent qu'à de tous petits textes.

Pour ce site, mais aussi pour l'interface utilisateur et pour la documentation de Cyloop, en plus de l'anglais, j'ai choisi de rajouter 2 autres langues répandues dans le monde parmi celles qui utilisent l'alphabet européen et la même structure de phrase que le français. Avec l'esperanto (langue à vocation internationale, mais trop peu enseignée), mon site web devrait être accessible à de nombreuses personnes.

Mais comme les traductions humaines sont les meilleures, les lecteurs de ce site web sont invités à contribuer aux travaux de traduction dans la langue de leur choix.