Outils pour utilisateurs

Outils du site


historique_des_versions

Version 5.0 Mac Bec

Release Date

  • 16/03/2021, le ciel de Marseille est bleu azur, la mer bleu noir, zébrée de milliers de moutons étincelants, l'air est cristallin et il fait un froid de gueux : pas de doute, le maître Mistral bombe le torse ! Il y a 1 an pile, la France connaissait son 1er confinement. Hier, la vaccination Astra Zeneca a été suspendue. Cet hiver a été le plus neigeux depuis on ne sait même plus quand mais les stations sont restées fermées. Le stade Vélodrome va peut-être être vendu et en attendant, c'est devenu le stade Vaccinodrome…

C'est par ailleurs l'anniversaire du plus chauve de l'équipe QoQ-CoT, alors oui, au final, c'est un assez bon jour pour livrer au monde une nouvelle poule aux graphes d'or munies arborant fièrement quelques nouveaux atouts majeurs…

Téléchargement

Changelog

  • NOUVEAUTÉ MAJEURE : ajout du support des postes VDI dans les poussins et l'interface Web. On peut désormais accéder au taux d'utilisation des salles, même si les machines sont des terminaux utilisés pour lancer des VM. On remonte depuis les poussins installés dans les VM l'information du terminal depuis lequel elles sont lancées ! On a donc dans les connexions à la fois la VM utilisée et le poste depuis lequel elle est lancée. Jusqu'ici, QoQ-CoT ne pouvait rien dire sur le taux d'utilisation des salles de terminaux VDI, c'est une avancée majeure !! :-)
  • NOUVEAUTÉ MAJEURE : ajout du support multi-sites dans l'interface web. On peut désormais intégrer dans une seule instance de QoQ-CoT plusieurs sites (en général géographiques) différents et visualiser les connexions et les graphes soit pour un site donné, soit pour tous à la fois.
  • NOUVEAUTÉ MAJEURE : un 5e graphe est disponible !!! Il permet d'avoir une vue globale de l'utilisation des salles en fonction d'un critère seuil. Par exemple, sur une fenêtre temporelle donnée et une liste de salles donnée, quels étaient les créneaux (visualisés en vert) où les salles avaient moins de 3 machines utilisées (un des critères seuils possible). L'idée : montrer, a posteriori et à l'aide d'une lecture graphique simple et immédiate (rouge/vert), l'état réel de tension des ressources en termes de créneaux réservables, selon différents critères (nb de personnes présentes, nb de machines utilisées, etc.)
  • NOUVEAUTÉ MAJEURE : mise en place d'une table Connexions_cache (optionnelle) qui contient les connexions des N derniers jours afin de diminuer le temps de génération des graphes portant sur la période en question. Sur de très grosses DB (ce qui sera de plus en plus fréquent avec des installations QoQ-CoT agrégeant plusieurs sites comme le permet la V5.0 Mac Bec), l'amélioration est spectaculaire.
  • AMÉLIORATION MAJEURE : ajout d'index sur les champs « NomMachine » de la table Connexions et les champs « RefSalle » et « NomMachine » de la table MachinesToSalles : augmente très significativement les perfs car ces champs sont utilisés pour de multiples jointures SQL dans les requêtes générant les données pour les graphes.
  • Coq et poussins
    • enrichissement des remontées du poussin et donc des données des connexions : on a désormais le nom et l'IP du terminal d'exécution et, en plus, dans le cas VDI, le nom et l'IP de la VM
    • On dispose désormais des logs du coq dans un fichier ! Nom fichier défini dans coq.d.
    • Suppression des versions 32 bits des poussins et coq (on n'a plus de machines 32 bits pour tester… :-) )
    • binaires linux des poussins et coqs désormais compilés avec pp -u pour une bonne gestion de l'UTF8
  • Ergonomie et améliorations de l'interface
    • Suppression de l'ajout automatique des jokers SQL « % » autour du nom de la machine dans l'interface de suivi. Pourquoi ? Car on ne pouvait pas faire avec ça des recherches du type commence par et finit par, qui sont très utiles. Le prix à payer est qu'il faut désormais faire figurer les « % » dans sa recherche quand on en a besoin…
    • formulaire de suivi des connexions : l'heure de fin par défaut est maintenant 23:59:59 (au lieu de l'heure courante). Ceci met fin à un comportement pénible de l'interface : on laisse souvent la page ouverte et on relance la même requête une heure après simplement en cliquant « rechercher ». Auparavant dans ce cas-là, si on oubliait de re-modifier l'heure de fin (qui restait donc à son ancienne valeur d'il y a une heure), on ne prenait pas en compte les connexions ayant eu lieu depuis le lancement précédent !!
    • formulaires de création des graphes : les dates de fin sont désormais initialisées avec la valeur des dates de début (ET NON PLUS LA DATE DU JOUR COURANT COMME AVANT) quand on clique sur le champ « Date Fin ». Ceci évite d'avoir à décrire une 2e fois tout le calendrier pour la date de fin quand on a placé une date de début quelques mois ou années en arrière…
    • ajout du numéro des entrées dans le tableau de suivi : la 1re colonne n'est jamais reclassée quand on reclasse selon une autre colonne. On a ainsi des « numéros de lignes », très pratique pour désigner une connexion…
    • Pour la cohérence de l'interface avec l'apparition de la gestion du VDI, remplacement du mot « machine » par « terminal » dans les graphes
    • Évolution graphique : remplacement de la libraire pChart par pChart2.0-for-PHP7-2.1.4b
  • Le setup (setup.php)
    • le setup est plus détaillé et s'arrête en cas d'erreur (jusqu'à maintenant il disait TOUJOURS « Ça a marché parfaitement ! » indépendamment des erreurs éventuelles sur les requêtes lancées !! On a affiné un peu le if ;-) ) :
    • séparation des destruction et création du trigger pour corriger un ancien fonctionnement erroné : ça ne créait pas le trigger jusqu'à maintenant !! :-(
  • Le caractère _ est désormais accepté dans les noms de terminaux
  • Correction bugs :
    • Correction de (multiples) mini-bugs qui généraient des warning Apache
    • Correction bug au niveau du choix pre-selectionné dans les liste de salles
    • src/app/graphe/HumainGraph.class.php : manque un espace dans les concaténations de la variable
  • <MODE RÉCURSIF>Mise à jour du présent CHANGELOG</MODE RÉCURSIF>

Version 4.0 Rocky

Release Date

  • 28/06/2018, un jeudi, chaud et sec, qui tombe cette semaine deux jours avant le week-end. Il y a 2 jours, les Stones mettaient le feu au stade Vélodrome à Marseille. Les allemands n'iront pas plus loin en coupe du monde et la grève la plus longue de l'histoire de la SNCF vient de se terminer.

C'est finalement un assez beau jour pour lâcher une poule super-testostéronée fin prête pour dézinguer Dolph Lundgren au finish…

Téléchargement

Changelog

  • src/app/graphe/MaxGraph.class.php, src/app/graphe/MaxComposanteGraph.class.php,src/app/graphe/HumainGraph.class.php,src/app/graphe/CumulDureeGraph.class.php,src/app/graphe/CpuDetailGraph.class.php, src/app/graphe/CpuGraph.class.php : Le cœur de Rocky IV (c'est-à-dire Adrienne) : gestion des modifications des salles par la prise en compte des dates de début et de fin de présence de chaque machine. Les graphes tiennent tous compte de cette information pour afficher des statistiques toujours pertinentes quelle que soit l'évolution du parc.
  • Nouveau look qui déchire ET passage en interface web responsive donc avec gestion parfaite de la consultation depuis un mobile: MERCI HUGO !! Un gros coup de jeune pour notre poulette qui devenait un rien mamie ; Elle repasse en mode pin'up ;-) C'est le travail de notre super web developper Hugo Di Giovanni bientôt ingénieur. BIG UP à lui !!! Il est désormais dans le copyright de tous les fichiers de la cocotte :-)
  • src/app/graphe/CpuDetailGraph.class.php (graphe “Taux d'utilisation annuel” [le 2e dans l'interface] lorsqu'on choisit un groupe de salles, c'est le 2e des 3 graphes affichés) : changement du calcul de la moyenne, désormais pondérée selon le nombre de machines par salle + ajout Nb machines sur les libellés des abscisses, ce nombre pouvant désormais varier dans le temps. Auparavant, on faisait la moyenne des moyennes des salles, maintenant on pondère en fonction du nombre de machines par salle. Ainsi, une salle à 600h qui ne contient que 2 machines ne va pas impacter autant la moyenne globale qu'une salle à 150h qui contient 40 machines. C'est bien plus pertinent que la moyenne des moyennes, ça donne vraiment le nombre d'heures d'utilisation moyen de chaque machine de l'ensemble des machines considérée (toutes les machines de toutes les salles…).
  • src/app/graphe/CumulDureeGraph.class.php (graphe “Utilisation detaillee par machine” [le 1er dans l'interface] dans le cas où date de début ET date de fin sont spécifiées) : changement du calcul de la moyenne, désormais pondérée en fonction du ratio de présence de la machine sur la période. L'idée est qu'une machine présente 20% du temps influe 4 fois moins sur la moyenne que celle présente à 80%, ce qui est logique et aide à rendre plus significatif l'indication de la moyenne.
  • src/app/graphe/MaxComposanteGraph.class.php (graphe “Taux d'utilisation annuel” [le 2e dans l'interface] lorsqu'on choisit un groupe de salles : c'est le 3e des 3 graphes affichés) : ajout Nb machines sur les libellés des abscisses, ce nombre pouvant désormais varier dans le temps
  • src/app/graphe/DureeGraph.class.php : Gain d'un facteur 100 (!!) dans la vitesse de génération du graphe 1 sans date de fin (les créneaux occupés de la journée, par machine), qui devient du coup utilisable… Modification de l'algorithme de génération des créneaux occupés (on fait une seule requête que l'on traite en php plutôt qu'autant de requêtes que de créneaux multipliés par le nombre de machines !!!). Factorisation de la classe DureeGraph : appelée pour générer le graphe ET pour générer la map (à la place de l'ancienne classe DureeMap désormais obsolète).
  • src/setup.php : Ajout champs de gestion des périodes de présence (Date_DEBUT et Date_FIN) des machines, suppression vérification des doublons. Les doublons ne sont plus checkés car ils peuvent désormais être valides, car une machine peut apparaître plusieurs fois avec des Date_DEBUT et Date_FIN différentes. Dans une future version, il faudra checker s'il n'y a pas de doublons sur la même période
  • ressources/poussin-coq/poussin/SOURCES/windows/poussindows.pl : prise en compte correcte de l'OS Windows 10
  • ./ressources/UPGRADE_FROM_PREVIOUS_VERSIONS/ModifieDBV3.1toV4.0.sh : Ajout de ce fichier permettant l'upgrade de la DB du format 3.1 au format 4.0
  • ressources/poussin-coq/poussin/SOURCES/windows/poussindows.pl, poussin-coq/poussin/windows/poussindows32.exe, ressources/poussin-coq/poussin/windows/poussindows64.exe : On prend désormais en compte les connexions à distance sous Windows. Modification de la requête WMI qui liste les utilisateurs connectés de façon à ce qu'elle prenne aussi en considération les connexions à distance (remote).
  • ressources/poussin-coq/coq/SOURCES/coq.pl, ressources/poussin-coq/coq/coq32, ressources/poussin-coq/coq/coq64 : le buffer des poussins se vide désormais + allègement du trafic réseau. Jusqu'ici les remontées d'un poussin non valides (login mal formé [ex : utilisateur unknown sous Ubuntu),…) n'étaient pas comptabilisées par le coq, exactement comme les remontées qui n'avaient pas pu être insérées dans la base (base en panne,…). Le coq renvoyait ainsi un nombre de remontées validées au poussin inférieur au nombre de remontées que ce dernier avait envoyé au coq. Les données non valides ne pouvant jamais être insérées (car non valide), le poussin rejouait à l'infini la totalité des connexions (même celles valides qui avaient déjà été insérées dans la base). Un peu lourdingue pour le réseau. Et pour finir, le fichier buffer du poussin grossissait éternellement…. Bref, zéro pointé pour les programmeurs ;-) Solution : les remontées mal formées sont comptées comme si elles avaient été insérées dans la base, de manière à ce que les compteurs poussin et coq soient en phase, condition sinequanone pour que le buffer se vide. Le message mal formé engendre toujours un message d'erreur au niveau du coq (pour l'instant seulement en sortie standard).
  • src/setup.php, src/config.php.dist : Suppression du champ NomNetBios désormais obsolète. La problématique du double nom est désormais réglé avec le champ hostname de la config du poussin.
  • src/js/jquery-ui/js/jquery-ui-timepicker-addon.js, src/js/jquery-ui/js/jquery-ui.js : Francisation des chaînes liées aux dates
  • src/config.php.dist, src/config_interne.php, src/setup.php : abandon des paramètres JeDDLaJ. On ne maintient plus cette possibilité, très peu utilisée.
  • src/app/actu/index.php, src/peuplade.php : Suppression fichiers obsolètes On n'actualise plus les connexions, le mode poussin-coq a rendu tout ça parfaitement automatique, les connexions remontent toutes seules dans la base.
  • ressources/poussin-coq/coq/SOURCES/coq.pl, ressources/poussin-coq/coq/conf/coq.yml, ressources/poussin-coq/poussin/conf/poussin.yml, ressources/poussin-coq/poussin/SOURCES/unix/poussunix.pl, ressources/poussin-coq/poussin/SOURCES/windows/poussindows.pl : ajout de la gestion du champ exclude permettant de ne pas prendre en compte les connexions associées à certains logins non significatifs
  • src/img/bandeau.png, src/img/bandeaulo.png, src/img/logo1.2-800.png : nouvelle version des logos pour intégration new look Rocky IV
  • ressources/poussin-coq/coq/coq32, ressources/poussin-coq/coq/coq64, ressources/poussin-coq/poussin/linux/poussinux32, ressources/poussin-coq/poussin/linux/poussinux64, ressources/poussin-coq/poussin/windows/poussindows32.exe, ressources/poussin-coq/poussin/osx/poussintosh, ressources/poussin-coq/poussin/windows/poussindows64.exe : Nouvelles versions ROCKY IV du coq et des poussins, the Balboa family
  • ressources/poussin-coq/coq/README.TXT, ressources/poussin-coq/poussin/README.TXT, ressources/poussin-coq/poussin/linux/README.TXT, ressources/poussin-coq/poussin/osx/README.TXT, ressources/poussin-coq/poussin/windows/README.TXT : mise à jour des README pour Rocky IV
  • ressources/doc/INSTALL/INSTALL.TXT, ressources/doc/Les_graphes_expliques_en_une_page_chrono.html, ressources/doc/Les_graphes_expliques_en_une_page_chrono.odt, ressources/doc/Les_graphes_expliques_en_une_page_chrono.pdf, ressources/doc/PresentationGenerale.pdf, ressources/doc/Presentation_Orale_Officielle_JRES2013.txt, ressources/doc/QoQ-CoT_dans_l_oeuf.JPG : Réaménagement archive : certaines docs sont déplacées, d'autres supprimées car désormais en ligne
  • ressources/INSTALL/CREATE_DB_AND_USER_QoQ-CoT.sh : Correction d'un bug des versions précédentes : ajout du droit DELETE à l'utilisateur QoQ-CoT sur la base QoQ-CoT. Avant, il ne pouvait pas détruire les admin de l'appli déjà créés…
  • ressources/INSTALL : Déplacement du répertoire INSTALL par rapport aux versions précédentes pour des raisons de cohérence. On passe de ressources/doc/INSTALL à ressources/INSTALLressources/INSTALL/CREATE_DB_AND_USER_QoQ-CoT.sh
  • src/app/graphe/view/OsView.class.php : correction bug graphe OSview (vue des connexions ne fonction des OS) en cas de sélection d'aucune salle. Bug levé par Gaëtan Dos Santos dans le forum le 13/05/2016, qu'il en soit remercié ! ;-) Si on ne sélectionnait aucune salle, alors le graphe, chez Gaëtan, ne s'affichait pas, alors que la doc indique que dans ce cas, on affiche le graphe pour “la totalité des salles”. Or chez nous, ça marchait, mais on avait bien le même message d'erreur que Gaëtan dans les logs. Le problème venait du fait que dans le code, si on ne sélectionnait aucune salle, l'option vide n'était pas “selected”. Ça passait sur notre version de PHP qui par défaut sélectionnait (selected) la première option (qui s'avérait être l'option vide), pas sur la version de Gaëtan… J'ai fait en sorte que l'option vide soit désormais selected, aussi bien pour les groupes de salles (composantes) que les salles : ça marche chez tout le monde désormais ;-)
  • src/app/admin/add.php, src/app/admin/delete.php, src/app/admin/index.php, src/checkRoles.php, src/index.php : Amélioration de la portabilité du code pour gérer l'utilisateur qui se connecte. Pour couvrir les différentes confs Apache qu'on peut trouver selon les cocottes déployées partout dans le monde, on utilise désormais pour référencer l'utilisateur connecté une unique variable de session qu'on initialise en tout début de session par la 1re des 3 variables , , qui est instanciée. Le code est plus robuste.
  • <MODE RÉCURSIF>Mise à jour du présent CHANGELOG</MODE RÉCURSIF>

Version 3.1 Commandant Poulard

Release Date

  • 08/04/2016, un beau jeudi d'avril dopé au mistral: ciel bleu roi lumineux, air vif et cristallin, mer bleu nuit et blanche. Pas de doute, on est à Marseille ;-)

Téléchargement

Changelog

  • ressources/UPGRADE_FROM_PREVIOUS_VERSIONS/ModifieDBV2toV3.sh : nouveau script pour les procédures d'upgrade de V2 en V3 (utilisé aussi pour l'upgrade de v3.0 vers v3.1 si on avait upgradé une v2.0 pour passer en v3.0…). Règle pas mal de problèmes sur lesquels sont tombées les « early users » de la génération v3 de QoQ-CoT.
    Il fait pas mal de choses, mais chaque action peut-être interactivement jouée ou non. On détaille dans les procédures d'upgrade celle qui doivent être effectuées selon le scénario d'upgrade (V2 → V3.0, V3.0 → V3.1 avec ou sans avoir eu une V2 avant, etc.). Les voici toutes :
    • a) Pour sécuriser l'insertion des données de connexion, QoQ-CoT depuis la version 3.0 Commandant Poulard préconise l'ajout d'un trigger dans la base de données, qui interdira toute possibilité (forcément malicieuse) de mettre à jour l'heure de fin d'une connexion avec une heure antérieure à celle déjà inscrite dans la base (pour masquer une présence sur une machine, par exemple). Pour ce faire, il faut donner le privilège TRIGGER à l'utilisateur QoQCoT_user sur la base QoQCoT, depuis la machine où tourne l'interface web. C'est ce que va faire ce script.
    • b) Modifier les propriétés du champs idProcess de la table « Connexions » de façon à ce qu'il puisse être NULL. Ceci est nécessaire en mode hybride rsyslog/poussin-coq. En effet, en mode poussin-coq, l'info du numéro de process, qui servait en mode rsyslog à appairer les événements de connexion et déconnexion, n'a plus de sens, du coup elle n'est pas renseignés lors des requêtes d'insertion dans la base par le coq. Du coup, et surtout si votre serveur MySQL est en mode « strict », il faut que idProcess puisse être NULL. Ainsi, les 2 modes pourront cohabiter.
    • c) Supprimer la table inutile « Aliases ». Nous avions créé historiquement cette table en prévision, dans une version future, de la gestion le problème épineux du renommage des machines et, plus généralement, de l'évolution dans le temps des salles machines dont on mesure le taux d'utilisation. Mais notre réflexion a évolué et nous avons changé d'algorithme : cette table ne sera finalement pas utile. See you en V4 ;-)
    • d) LE PLUS GROS CHANGEMENT : modification des données des tables « Connexions » et « MachinesToSalles » pour transformer les noms longs (toto.mon.domaine) en noms courts (toto). C'est crucial en cas d'upgrade v2 → v3. Pourquoi ? Parce qu'en mode v2, ce sont les noms longs qui sont insérés dans la base (via peuplade.sh) et qu'à partir du mode poussin-coq, ce sont les noms courts. Pas de problèmes, aucune donnée de connexion n'est perdue mais, dans votre base de données issue du temps v2, qui contient tout votre précieux historique de connexions, les salles sont définies comme contenant des machines à noms longs. Or toutes les connexions poussins remontant en nom court, elles n'apparaîtront pas dans les graphes car elles seront vues comme correspondant à d'autres machines… Bref, soit vous modifiez les noms des machines dans les salles par les noms courts et vous ne verrez que les connexions issues des poussins, soit vous laissez les salles telles quelles et vous ne verrez que les connexions issues du fonctionnement V2. La modif. que nous vous proposons ici va permettre de disposer dans les graphes de tout l'historique des connexions AINSI que des nouvelles tout en permettant de fonctionner en mode hybride V2 et V3 en n'ayant que des noms courts en base (oui, pour cela, bravo vous avezc suivi, il faut aussi modifier peuplade.sh, nous en proposons une nouvelle version, on reviendra sur ce point plus bas…)
  • peuplade.php : pour gérer les installations hybrides client rsyslog + peuplade.php (c.-à-d. version < 3.0) et clients poussins (version >= 3.0), on raccourcit désormais à la volée dans peuplade.php, avant l'insertion en base, les noms de machines longs (on tronque toto.domaine.org en toto) issues des remontées des clients rsyslog qui fonctionnent en noms longs. Ceci afin de n'avoir plus que des noms courts en base, comme c'est la règle en version >= 3.0.
  • poussin.yml : ajout du paramètre hostname. QoQ-CoT, depuis la version 3.0 Commandant Poulard, identifie les machines par leur nom court (c.-à-d. toto dans toto.domaine.org). On ne se sert plus de la différence « Nom machine » et « Nom Netbios » telle qu'elle apparaît dans le fichier .csv qu'on donne en entrée à setup.php. Du coup, ceux qui se servaient de l'existence de ces 2 noms pour remonter, en double boot, le même nom de machine quel que soit l'OS utilisé ne peuvent plus le faire.
    Le paramètre hostname sert à ça : s'il est renseigné, c'est sa valeur que le poussin remontera au coq comme nom de machine et non pas celui qui est « calculé » à partir de l'OS (hostname sous linux, Nom de l'ordinateur sous Windows…).
    Ainsi on peut sous l'OS #1, disons Windows, ne pas renseigner le paramètre hostname du poussin (le nom machine court « calculé », soit toto sera alors utilisé) et renseigner hostname sous l'OS #2, disons Linux, avec le nom machine court toto de l'OS #1 (alors que le nom machine « calculé » sous l'OS #2 est toto-linux) : la machine sera alors vue comme identique pour QoQ-CoT quel que soit l'OS utilisé (utile pour les stats de temps d'utilisation par machine, de taux d'utilisation de la salle, etc.).
  • Coq binaire : nous fournissons désormais (dans le répertoire ressources/poussin-coq/coq)le binaire du coq (coq32 et coq64), comme pour les poussins. Il est ainsi inutile d'installer les modules perl utilisés par le coq, puisqu'ils sont embarqués dans le binaire fabriqué avec perl packer.
    Du coup, création du répertoire ressources/poussin-coq/coq/SOURCES dans lequel est désormais fourni coq.pl.
  • setup.php : améliorations/corrections
  • Ajout de la vérification qu'il n'y a qu'une occurrence au plus par nom de machine et par nom NetBios : sinon, ABORT du script en indiquant les noms à problèmes et les lignes des occurrences multiples.
  • on ne fait plus référence à la table Aliases, qui devait servir pour le renommage des salles mais qui n'a finalement jamais été utilisée. Elle ne sert plus dans notre nouvel algo (prévu) de gestion du renommage… Du coup, les procédures d'upgrade en v3.1 détruisent la table de la base et elle n'est plus créée dans la procédure de « fresh install » de la v3.1.
  • Modification de la requête d'insertion dans la table Salles. Elle utilisait la facilité suivante : si on ne renseigne pas (on laisse vide) un id « auto incrément » dans un INSERT, l'id est auto-incrémenté. Malheureusement, ce comportement est dépendant de la conf. du serveur MySQL (mode « strict » ou non). Voir ce message du forum.
    Du coup désormais on spécifie explicitement les colonnes à modifier dans la requête INSERT, sans plus faire mention de l'id qui fait sa vie en s'auto-incrémentant tout seul.
  • Mise à NOT NULL du champ idProcess de la table Connexions, car l'INSERT avec un idProcess non renseigné – ce que font les poussins – générait une erreur si le serveur MySQL est configuré en mode « strict ».
  • Amélioration du message final du script, jusque-là un poil laconique…
  • src/app/admin/add.php, src/app/admin/delete.php, src/app/admin/index.php, src/checkRoles.php, src/index.php : remplacement de la variable par pour récupérer le login de l'user connecté, la seconde s'avérant, au vu du mode d'authentification actuel, plus pertinente ET SURTOUT universelle d'une install d'Apache à l'autre (un post d'un QoQ-CoTeur nordiste, prénommé Gaëtan, dans le forum, merci à lui ;-), expliquait que pour que ça marche chez lui, il avait fallu modifier le code en mettant au lieu de )…
  • ressources/doc/INSTALL/CREATE_DB_AND_USER_QoQ-CoT.sh : big bug, il manquait les droits CREATE et DROP pour l'utilisateur
  • The brand-new favicon Ajout du favicon. Superbe !!
  • src/config_interne.php : ajout de la constante php VERSION_FORMAT_WIKI pour permettre de construire dynamiquement les adresses des pages de doc dans les différents fichiers de l'interface, qui connaissent tous config_interne.php, ce dernier étant « required » au plus haut niveau dans index.php. Désormais plus qu'un endroit à modifier pour tous les liens de doc. lors de la publication du code d'une nouvelle version…
  • src/index.php : ajout, sur le titre principal de l'interface web, de nom de la version en dessous de « QoQ-CoT ». Le texte, qui est un hyperlien, est généré à l'aide de la constante VERSION_FORMAT_WIKI définie dans config_interne.php. Le lien pointe vers le guide utilisateur de la version (URL égélement générée à partir de la constante VERSION_FORMAT_WIKI).
  • Suppression des versions « plain text » embarquées dans l'archive des procédures d'upgrade et d'install (ressources/UPGRADE_FROM_PREVIOUS_VERSIONS/UPGRADE_FROM_PREVIOUS_VERSIONS.txt, ressources/doc/INSTALL/INSTALL.TXT). Ces fichiers font désormais référence au guide d'install/upgrade en ligne.
  • Suppression de la version « plain text » embarquée du CHANGELOG. Le fichier est encore présent dans l'archive mais fait simplement référence au CHANGELOG en ligne, soit la page que vous êtes en train de lire.
  • Destruction du fichier ressources/UPGRADE_FROM_PREVIOUS_VERSIONS/Add_TRIGGER_Right_For_QoQ-CoT_MySQL_User.sh, le code correspondant ayant été déplacé dans le script unique ressources/UPGRADE_FROM_PREVIOUS_VERSIONS/ModifieDBV2toV3.sh
  • poussin.yml : ajout dans le commentaire du champ OS qu'il y a en fait une contrainte syntaxique : il ne doit pas y avoir d'espaces dans ce nom. A généré pas mal de caquètements des premiers QoQ-CoTeurs v3.0 sur le forum…
  • Suppression dans l'ensemble des docs et commentaires du tiret dans les exemples de noms de base : « QoQ-CoT » devient « QoQCoT » car MySQL ne prend pas les tirets dans les noms de base. Ça pouvait être troublant lors de l'install pour les new QoQ-CoTeurs…
  • README.TXT : correction diverses dans ce vieux README racine qui sentait un peu la poussière.
  • <MODE RÉCURSIF>Mise à jour du présent CHANGELOG</MODE RÉCURSIF>

Version 3.0 Commandant Poulard

Release Date

  • 05/02/2016, un vendredi soir, juste avant de partir au ski…

Téléchargement

Changelog

2016-02-05 : Version 3.0 commandant Poulard

  • Petite révolution dans le poulailler : apparition du mode poussin/coq (souvent appelé client/serveur, à tort, dans la littérature) en lieu et place du rsyslog et de nxlog/eventsys pour récupérer et inscrire dans la base MySQL les informations de connexion. Un petit code perl – le poussin, ou QoQ-CoT client – est installé sur chaque machine du parc. Il va communiquer, de façon chiffrée, avec un autre petit perl – le coq, qui pourrait bien être un commandant de la RAF, prénommé Isidore, avec une voix de Shadok –, installé quant à lui sur une machine serveur quelconque (nous vous conseillons le serveur MySQL pour des raisons de performance : socket unix vs socket TCP, bien moins rapide) pour lui envoyer, en permanence, la mise à jour de la date de fin de connexion, tant que la connexion reste active. Et c'est le coq, seul autorisé à le faire, qui écrit ces données dans la base MySQL QoQ-CoT à la volée.
    • Avantages multiples :
      • c'en est fini des pertes de fin de connexion que certains qoq-coteurs rencontraient, pour cause de débranchement sauvage de la machine, ou de lancement de la commande d'extinction de machine en lieu et place de la déconnexion de session. Les données de connexion sont donc plus fiables, les statistiques aussi. Vous conviendrez avec nous que c'est une petite avancée, même à une époque où le look du graphe semble souvent importer davantage que la pertinence de la donnée tracée…
      • la solution et sa configuration sont allégées pour vous. 2 fichiers de conf. au format yaml de quelques lignes en tout et pour tout (hors interface web, où il n'y a pas de changements). Plus de logiciel tiers. Plus de serveur rsyslog. Plus de table de la DB MySQL attachée au serveur rsyslog (table SystemEvents). Plus de besoin de lancer le script « peuplade.php » en cron, dont le rôle était d'écrire de la table du rsyslog (SystemEvents) vers la table QoQ-CoT (Connexions).
      • le trafic réseau global est fortement diminué : les seules données envoyées sont les données, forgées, de connexion/déconnexion, directement au bon format (requête SQL), sans aucun besoin de filtrage au niveau serveur, ni au niveau du client (comme c'était le cas avec NxLog). Ce filtrage était commplexe et pénible à maintenir avec l'évolution des versions d'OS. Des centaines d'informations transitaient par le réseau (en particulier pour Linux) qui étaient ensuite éliminées par les filtres…
      • la sécurité est augmentée : seul le coq peut écrire dans la base de données MySQL. Et les communications poussins/coq sont toutes chiffrées.
  • N.B. Nous fournissons le poussin compilé (pour Linux, OSX et Windows) avec perl packer pour inclure dans un seul binaire tous les modules nécessaires. Mais on vous donne évidemment les sources (pour qui nous prenez-vous ?!!), vous pourrez donc recompiler à loisir si vous le souhaitez.
  • Ajout, dans l'archive QoQ-CoT, du répertoire ressources/poussin-coq qui contient tout le nécessaire pour utiliser le mode poussin/coq : sources et binaires du poussin, source du coq, syntaxe et exemples de fichiers de conf, etc.
  • Mise à jour et déplacement de la doc d'installation doc/INSTALL.TXT dans le répertoire doc/INSTALL/INSTALL.TXT
  • Ajout dans doc/INSTALL/ du script CREATE_DB_AND_USER_QoQ-CoT.sh permettant, pour les nouvelles installations (par opposition aux upgrades), la création automatique de la base MySQL QoQ-CoT et de l'utilisateur MySQL associé, avec les droits nécessaires depuis les machines qui tournent 1) l'interface web et 2) le coq. Utilisation du script documentée dans doc/INSTALL/INSTALL.TXT.
  • Ajout, dans ressources/UPGRADE_FROM_PREVIOUS_VERSIONS/, du script Add_TRIGGER_Right_For_QoQ-CoT_MySQL_User.sh qui va donner le droit TRIGGER à l'utilisateur associé à la base MySQL QoQ-CoT
  • Mise à jour de ressources/UPGRADE_FROM_PREVIOUS_VERSIONS/UPGRADE_FROM_PREVIOUS_VERSIONS.txt
  • Ajout, dans src/setup.php du code permettant la création d'un trigger sur la base MySQL QoQ-CoT. Ce trigger interdit la mise à jour (toujours à des fins malicieuses, par exemple pour masquer sa présence sur une machine à un certain moment) d'une date de fin de connexion par une date inférieure à celle déjà enregistrée en base. Ceci n'empêche pas setup.php d'être rejoué pour modification des salles, le trigger déjà créé ne sera pas modifié et l'exécution ne générera pas d'erreur.
  • Ajout dans src/ du script export_salles_to_csv.php qui permet de générer le fichier des salles au format csv compatible avec l'import par src/setup.php. Pratique pour les changements, ou en cas de perte du .csv original ;-)
  • Ajout du calcul et de l'affichage de la moyenne dans les graphes de la 3e famille : Nbre de machines utilisées et max de connexions quotidiennes.
  • Ajout du calcul et de l'affichage de la moyenne des durées d'utilisation des machines : graphe famille 1, lorsqu'on spécifie une date de fin.
  • Modification dans le 2e graphe de la 2e famille, cas d'un groupe de salles : on n'affiche plus le nombre d'heures d'utilisation cumulées de toutes les machines de la salle, mais le nombre d'heures d'utilisation MOYEN par machine pour chaque salle, ce qui permet de comparer l'utilisation en faisant abstraction du nombre de machines de la salle, qui pouvait biaiser l'interprétation dans le calcul précédent (un grosse salle peu utilisée pouvait avoir un total d'heures supérieur à une petite très utilisée : 30 * 100h > 10 * 250h alors que dans le 2nd cas, les machines sont 2 fois et 1/2 plus utilisées…)
  • Ajout de la moyenne dans de même graphe : c'est donc la moyenne des nombres d'heures d'utilisation moyens par machine de chaque salle. Ouf. Un peu moyen comme formulation…
  • Toujours dans ce même graphe, ajout à la fin des labels des abscisses, qui sont les noms des salles, du nombre de machines de la salle, entre crochets.
  • Pour corriger les données dans les anciennes DB QoQ-CoT, nourries entre autres par NxLog pour les machines Windows, ajout du fichier src/bonne_annee.php qui corrige le bug dit des « connexions du futur »… NxLog, tel qu'il est configuré dans QoQ-CoT jusqu'à la version 2.0 Bernadette, ne renvoyant pas l'année (la fonction to_syslog_bsd() étant conforme au RFC 3164 dont le format date ne contient pas l'année), ladite année est donc ajoutée par rsyslog au moment de la réception du message. Si le client, pour une raison quelconque (réseau indisponible,…), n'a pas pu renvoyer ses connexions l'année X (extinction des machines pour la fermeture de Noël,…) et n'est rallumé que l'année X+1 (retour de vacances) , alors il les renverra à ce moment-là et la connexion sera donc enregistrée avec un an d'avance : par exemple, une connexion de décembre 2014 qui n'est remontée qu'en janvier 2015 se verra datée de décembre 2015 !!!
    • L'exécution du fichier bonne_annee.php (en ligne de commande sur le serveur qui tourne l'interface web : php bonne_annee.php) corrige cette erreur : les dates concernées dans la table connexions sont modifiées en étant reculées d'un an.
    • Notons que ceci ne vous concernera plus dès que vous ne reposerez plus sur NxLog, que nous vous conseillons fortement de délaisser au profit du mode poussin/coq qui n'est pas sujet à ce problème. Il vous faut donc, si vous avez installé votre QoQ-CoT dans une version inférieure à 3.0 Commandant Poulard, lancer bonne_annee.php à chaque début d'année tant que tout votre parc ne sera pas migré en mode poussin/coq.
    • Notons enfin que ceci ne concerne pas du tout ceux qui n'ont jamais installé QoQ-CoT avant sa version 3.0 commandant Poulard, et qui décident (c'est la bonne option) d'utiliser exclusivement le mode poussin/coq.
  • <MODE RÉCURSIF>Mise à jour du présent CHANGELOG</MODE RÉCURSIF>

Version 2.0 Bernadette

Release Date

  • 25/11/2014, un mardi, il y avait poulet au CROUS. RIP…

Téléchargement

Changelog

2014-11-25 : Version 2.0 Bernadette

  • Suppression de la dépendance à un serveur LDAP pour l'authentification. On repose désormais sur le mécanisme d'authentification Apache à l'aide d'un .htaccess (des exemples de fichiers .htaccess utilisant divers mécanismes d'authentification/autorisations sont fournis dans le répertoire ressources/EXEMPLES_.htaccess). On élimine ainsi toute contrainte préalable sur les modes d'authentification et d'autorisations.
    • À NOTER cependant 2 petites faiblesses concernant le logout… :
      • si vous choisissez une authentification par CAS, le menu “Déconnexion” sera inopérant… Le seul moyen de se déconnecter consistera dans ce cas à fermer le navigateur ;
      • même punition si vous utilisez Internet Explorer, et cette fois quelle que soit votre méthode d'authentification…
  • Ajout d'une interface de gestion des usagers bénéficiant des droits admins via le nouvel onglet “ADMIN” : ces usagers peuvent accéder aux données nominatives de connexion, forcer la mise à jour de la base des connexions ET gérer la base des usagers bénéficiant des droits admin (ajout/suppression)
  • Ajout, dans la famille de graphes “Taux d'utilisation annuel” d'une plage d'exclusion afin de pouvoir exclure certaines heures de la fenêtre horaire d'observation (par exemple, on peut avoir le taux d'utilisation de 8h à 18h, mais en excluant la plage 12h-14h)
  • Modification du setup de façon à ce qu'il puisse être réexécuté à loisir pour modifier les salles et groupes de salles, sans impact sur les données de connexion. Il suffit de modifier vos données d'entrée (fichier .csv ou base JeDDLaJ) et de réexécuter le setup pour que les salles et groupes de qoq-cot soient reconstruits en reflétant votre nouvelle réalité (une salle en moins ou en plus, un changement de groupe, etc.). Si rien n'a changé, la réexécution du setup ne modifiera absolument rien…
  • Suppression des connexions “doublons” dans la base : des connexions pouvaient apparaître en double par exemple si le script peuplade.php était exécuté 2 fois en parallèle (cas d'un temps d'exécution supérieur à l'intervalle entre les lancements auto par cron), ou encore lors d'une réinstallation de machine à partir d'une image qui contient un journal d'événements non vide. Pour cela, modification de la base, table Connexions, en rendant le quadruplet (DateDebutInitiale,DateDebut,Login,NomMachine) unique (nous fournissons le script ressources/UPGRADE_FROM_PREVIOUS_VERSIONS/DedoublonnadeConnexions.sql à cet effet qui va épurer la table connexions ET modifier la clé en renant le quadruplet unique, empêchant de fait les INSERT futurs de doublons). Il y a aussi une finesse permettant de gérer la particularité des ouvertures de session Windows 7 par des administrateurs, qui générent 2 événements d'ouverture de session, avec 2 idProcess différents, mais avec même quadruplet (DateDebutInitiale,DateDebut,Login,NomMachine). Une seule de ces sessions est ensuite fermée, la seconde, c'est donc celle qu'il faut garder. Pour cela nous utilisons un INSERT ON DUPLICATE KEY bien senti qui permet de ne garder que le bon doublet ouverture/fermeture de session (si insertion avec même quadruplet, alors on met l'idProcess de la dernière connexion insérée, ce qui règle le problème des connexions admin en double [on ne garde que la connexion avec l'idProcess qui va être fermé], sans avoir d'effet sur les connexions “total doublons” où l'idProcess de la connexion déjà en base est simplement remplacé par le même idProcess sans ajout de nouvelle connexion en base…).
  • Modification du calcul pour le taux d'utilisation annuel. Auparavant le calcul était faussé : pour calculer le 100% d'utilisation théorique permettant de donner un taux d'utilisation, on prenait en compte tous les jours ouvrés, même si on choisissait, par le formulaire, uniquement, par exemple, les lundis et mardis. Ceci est désormais corrigé. On ne se sert plus d'un tableau général de nombre de jours ouvrés par mois, extrait du calendrier et qui dépend de l'année en cours, c'est trop contraignant. On choisit de toujours comparer l'utilisation réelle à ce qu'elle aurait été si 100% des jours sélectionnés (lundi-mardi, etc.) étaient ouvrés, on ne prend pas en compte le fait que certains soient fériés ou non travaillés. Si bien qu'on aura un taux d'utilisation très faible si la période examinée inclut une période de vacances. Par contre, la règle de calcul ne changeant du coup jamais, il est relativement facile d'interpréter un taux en connaissant la période examinée. Enfin, pour calculer le 100% d'utilisation, nous avons recours à des constantes qui constituent une approximation. Pour le taux annuel, on utilise le “nombre moyen de semaines moyen par an” (qui vaut ~52), et pour le taux mensuel, le “nombre moyen de jours de semaine par mois” (c.-à-d. combien, en moyenne, on a de lundis [ou mardis, mercredis…] dans un mois). C'est à l'aide de ces constantes qu'on calcule le 100% théorique, c.-à-d. le nombre d'heures d'utilisation maximal possible pendant la période indiquée (en tenant compte de la fenêtre horaire choisie, de la plage d'exclusion, des jours ouvrés choisis), en regard duquel le nombre d'heures d'utilisation réel sera présenté comme pourcentage dans les graphiques. Par exemple si on choisit de ne considérer que les lundis et jeudis entre 8h et 18h en excluant la plage 12h-14h, le nb d'heures max mensuel pour une salle sera calculé comme suit : nb_machines_de_la_salle * (nombre d'heures de la fenêtre d'observation - nombre d'heures de la plage d'exclusion) * nb de jours ouvrés considérés * nb_moyen_de_jours_de_semaine_par_mois. Tandis que le nb d'heures max annuel sera, lui, obtenu par : nb_machines_de_la_salle * (nombre d'heures de la fenêtre d'observation - nombre d'heures de la plage d'exclusion) * nb de jours ouvrés considérés * nb_moyen_de_semaines_par_an.
  • Correction du bug sur les graphes qui prennent un “pas” en paramètre (graphes “Utilisation détaillée par machine” et “Nombre de machines utilisées”, toujours dans le cas sans date de fin) : jusqu'à maintenant, si la durée de la fenêtre d'observation n'était pas un multiple du pas, un bug provoquait l'affichage d'une fenêtre blanche en lieu et place du graphe. Désormais, on affiche le graphe dans tous les cas et le dernier créneau est toujours celui qui contient l'heure de fin de la fenêtre ; ce dernier créneau se termine donc après l'heure de fin si la durée de la fenêtre d'observation n'est pas un multiple du pas. Exemples : pour une fenêtre 10h01-12h11, le dernier créneau est 12h06-12h11 pour un pas de 5' (cas “multiple”), 12h01-12h11 pour un pas de 10' (cas “multiple”), mais 12h01-12h16 pour un pas de 15' (cas “non multiple”), 12h01-13h01 pour un pas de 60' (cas “non multiple”), etc. Notons que si le dernier créneau dépasse l'heure de fin, la donnée calculée et affichée sur le graphe porte sur la totalité du créneau et non sur la partie tronquée à l'heure de fin.
  • Ajout, au niveau du titre général de chaque graphe, d'un lien “?” qui affiche dans un nouvel onglet l'aide en ligne sur les graphes, dans le wiki officiel de QoQ-CoT sur SourceSup
  • Ajout, au niveau du titre général du suivi des connexion, d'un lien “?” qui affiche dans un nouvel onglet l'aide en ligne sur le suivi des connexions, dans le wiki officiel de QoQ-CoT sur SourceSup
  • Allègement du fichier de config, certaines constantes n'ayant pas à être modifiées par l'utilisateur ont été déplacées dans le code
  • Mise à jour du fichier ressources/doc/Les_graphes_expliques_en_une_page_chrono.odt avec les nouveautés Bernadette 2.0 et ajout à l'archive des version PDF et HTML au même endroit
  • Ajout de toutes les vérifications possibles sur les entrées des formulaires de graphe afin de ne plus pouvoir générer de graphes incohérents
  • Suivi des connexions : on affiche désormais toujours toutes les connexions y compris celles en cours, non encore fermées.
  • Suivi des connexions : Correction du bug lorsqu'on soumet un formulaire vide : on avait auparavant une requête qui remontaient toutes les connexions de la base, qui écroulait le serveur… Désormais, par défaut, la fenêtre d'observation est bornée si les champs dates début ou date fin ne sont pas renseignés : date début ⇒ aujourd'hui minuit, date fin ⇒ aujourd'hui à l'heure d'affichage de la page
  • Suppression, dans le code et la config., de toutes les scories liées à l'ancien fonctionnement avec LDAP et à l'ancien calcul du taux d'utilisation.
  • Mise à jour des fichiers ressources/doc/INSTALL.TXT et ressources/UPGRADE_FROM_PREVIOUS_VERSIONS/UPGRADE_FROM_PREVIOUS_VERSIONS.txt pour la version 2.0 Bernadette
  • Diverses améliorations de forme via les CSS
  • Ajout d('un peu) de commentaires dans le code, dont en particulier, pour chaque fichier associé à la génération d'un graphe (dans src/app/graphe/), de l'indication en tête de fichier du graphe auquel il est associé.

Version 1.1 Ginger AA

Release Date

  • 15/07/2014, on a bossé dur pendant la fête nationale…

Téléchargement

Changelog

2014-07-15 : Version 1.1 Ginger AA

  • Correction d'une erreur de charset “COLLATE” dans les tables de la DB. En effet, depuis le début les enregistrements étaient stockés de façon “sensible à la casse”. Or Windows, au travers des clients rsyslog, remonte de façon aléatoire l'id de connexion, parfois en majuscules, parfois en minuscules. Loin d'être anodin, ceci amenait à certaines connexions jamais fermées, puisque l'id de connexion à la fermeture n'était pas le même qu'à l'ouverture… Les données sont désormais plus fiables.
  • Désormais, nous proposons dans ressources/rsyslog/conf_clients/Windows/ les fichiers de conf. pour le client nxlog. Auparavant, nous proposions le client eventlog-to-syslog, mais il s'est avéré qu'il “perdait” (uniquement sous Windows 7, pas de problèmes sous XP) pas mal de fins de connexions, voire de connexions complètes. Ennuyeux pour un outil de suivi de… connexions. NXLog règle totalement le problème. Donc pour W7, nous proposons uniquement nxlog, tandis que les conf des 2 clients (nxlog ET eventlog-to-syslog) sont proposées pour XP. Notons que les configurations et le code ont été adaptés pour que le client soit immédiatement fonctionnel sans autre modifications.
  • Amélioration des filtres pour Windows 7 : meilleure gestion des différents caractères blancs d'espacement dans les messages de log, ce qui permet de récupérer correctement les messages, même si le type/nombre d'espaces est légèrement différent (ça arrive…).
  • Amélioration et correction des directives dans les fichiers README de configuration des clients Windows. On lance secpol.msc et non plus gpedit.msc, afin d'avoir un accès plus direct. De plus on corrige le type d'événement à activer : c'est “Auditer les évènements de connexion” et non pas “Auditer les évènements de connexion aux comptes”, une erreur de README qui perdurait depuis l'éclosion de la QoQ-CoT…

Version 1.1 Ginger

Release Date

  • 04/02/2014, fêtée à coup de grandes crêpes et bolées de cidre rhum AOC Guadeloupe

Téléchargement

Changelog

2014-02-04 : Version 1.1 Ginger

  • Satisfaction de plusieurs features requests importantes et améliorations mineures
    • Possibilité de choisir un groupe de salles dynamiquement par une sélection multiples dans le champ “salle” pour les familles de graphes 2, 3 et 4 (feature request #9000 : https://sourcesup.renater.fr/tracker/index.php?func=detail&aid=9000&group_id=1276&atid=4084)
    • ajout d'une doc synthétique explicitant en une page ET en détail les possibilités de génération de graphes selon les paramètres choisis en entrée : ressources/doc/Les_graphes_expliques_en_une_page_chrono.odt
    • Modification des filtres pour Windows 7 : meilleur motif de l'expression régulière permettant de capter des messages de connexion/déconnexion auparavant ignorés à tort
    • Possibilité de choisir une date de début et une date de fin d'observation pour le graphe OS (feature request #9001 : https://sourcesup.renater.fr/tracker/index.php?func=detail&aid=9001&group_id=1276&atid=4084)
    • Changement du titre des graphes taux d'utilisation annuel, nombre de machines utilisées et pic de connexions (feature request #9037 : https://sourcesup.renater.fr/tracker/index.php?func=detail&aid=9037&group_id=1276&atid=4084)
    • Correction d'un bug javascript : quand une salle était choisie, la liste des groupes de salles gardait sa valeur au lieu d'être 'remise à zéro'.
    • Les légendes des graphes du Nombre de machines utilisées et de pic de connexions sont désormais placées en bas du graphe pour éviter la superposition en cas de titre long (groupe de salles dynamique).

Version 1.0 Ginger AA

Release Date

  • 08/01/2014, en l'honneur des milliers de chapons tombés au front la semaine précédente

Téléchargement

Changelog

2014-01-08 : Version 1.0 Ginger AA

  • Modifications mineures et amélioration de l'authentification
    • Mise à jour du fichier d'installation et unification des 2 fichiers src/INSTALL.TXT et ressources/doc/INSTALL.TXT
    • Correction d'un oubli fâcheux dans auth.php qui contenait une référence éminemment marseillaise sur le base_dn LDAP. Passage du base_dn en constantes à définir dans le fichier config.php.
    • Mise à jour de la procédure d'installation, plus détaillée ET invitant les nouveaux possesseurs de leur QoQ-CoT bien à eux à laisser un message dans le Poulailler (forum SourceSup dédié) afin de créer une communauté d'éleveurs de gallinacées et de mieux connaître la distributions des QoQ-CoT sur le territoire.
    • Ajout dans la doc du lien vers la présentation orale JRES

Version 1.0 Ginger

Release Date

  • 22/11/2013, soit le 1er Galinât de l'An 1 du calendrier QoQ-Cotique

Téléchargement

Changelog

2013-12-09 : Version 1.0 Ginger

  • Éclosion… 1e version disponible
historique_des_versions.txt · Dernière modification: 2021/03/16 14:14 par gerard.milhaud@univ-amu.fr