README.md
LabInvent : Logiciel d'inventaire du matériel d'un laboratoire
(à l'origine, développé pour le laboratoire IRAP de Toulouse)
COPYRIGHT (C) 2012-2019 IRAP (Institut de Recherche en Astrophysique et Planetologie) Toulouse - France
Auteurs : Etienne Pallier epallier@irap.omp.eu, Elodie Bourrec ebourrec@irap.omp.eu, Alexandre Cases (alexandre.cases@etu.univ-tlse2.fr), Thibault Ajas (thibault.ajas@laposte.net)
Licence GPL (http://www.gnu.org/copyleft/gpl.html) - Voir le fichier LICENSE.txt
Ce logiciel est construit sur un framework Php orienté objets nommé "CakePhp", dans sa version 3.2 (http://cakephp.org)
Il fonctionne avec Php 5.6+ (et bientot Php 7)
Pour l'installer, aller dans le repertoire "install/" et lire le document INSTALLATION.txt
Logiciel testé et validé sur les configurations suivantes :
Fedora 20 (version test Thibault Ajas, IRAP, avril 2017)
Centos 6.6 (version de "production", SI IRAP ) :
- PHP : 5.6.22
- Mysql : 5.1.73-3.el6_5
- Apache : 2.2.15-39.el6.centos
Debian GNU/Linux 8.5 (jessie) (version de "production", IAS) :
- PHP : 5.6.22
- Mysql : MariaDB 10.0.25
- Apache : 2.4.10
Scientific Linux (=Centos) 6.4 (version dev/test Etienne Pallier linux, IRAP) :
- PHP : 5.6.30
- MYSQL : 5.5.56
- APACHE : 2.2.15
UBuntu 14.04.4 (version dev/test Alexandre Cases, IRAP) :
- PHP : 5.5.9
- MYSQL : 5.5.47
- Apache : 2.4.7
Mac OS 10.12.5 avec XAMPP 5.6.3 et 7.1 (version dev/test Etienne Pallier, IRAP) :
- PHP 5.6.3 + MySQL 5.6.21 + Apache 2.4.10
- PHP7.1.6 + MariaDB 10.1.24 + 2.4.25
VERSION ACTUELLE
Date: 23/01/2019 Version: 2.10.5 Author: EP Ajout du dossier vendor/ dans git pour automatiser la mise à jour du framework cakephp (la mise à jour de cakephp se fait dans vendor/cakephp/ mais elle entraine aussi la mise à jour de toutes les dépendances dans vendor/*/)
TRES IMPORTANT:
- Si "./UPDATE.sh" ne fonctionne pas à cause d'un conflit avec le dossier vendor/,
supprimer simplement le dossier vendor/ (il sera recréé automatiquement par le "git pull" de UPDATE.sh)
UTILE:
- Pour mettre à jour le code, ne plus se contenter de faire "git pull",
mais utiliser plutot ./UPDATE.sh (depuis la racine du projet)
- Pour connaitre la version actuelle, taper "./VERSION.sh"
- Pour s'assurer que la version récupérée est stable, taper "./TESTS.sh"
- Pour que "./TESTS.sh" s'exécute sans "deprecated error",
il faut faire un changement dans votre fichier config/app.php
afin d'avoir cette configuration pour 'Error' :
'Error' => [
// Voir les "deprecated errors":
//'errorLevel' => E_ALL & ~E_DEPRECATED,
// Ne pas voir les "deprecated errors":
'errorLevel' => E_ALL & ~E_USER_DEPRECATED,
'exceptionRenderer' => 'Cake\Error\ExceptionRenderer',
'skipLog' => [],
'log' => true,
'trace' => true,
],
Version majeure en cours : 2.10 (https://projects.irap.omp.eu/versions/207)
ROADMAP: https://projects.irap.omp.eu/projects/inventirap/roadmap
(+ en cours: Ajout du dossier vendor/ dans git (évite d'avoir besoin de réinstaller les dépendances à chaque update de cakephp)
b5d94a67c640ebd03de170c6231fb04e452f77c5#">)
Messages à copier/coller en cas de besoin :
- ATTENTION : Mise à jour de la base de données requise (cf database/update)
- ATTENTION : Réinstallation des plugins nécessaire (cd install/ ; ./plugins_install.sh) : si ça ne marche pas bien, ne pas hésiter à faire 'rm -rf vendor/*' avant pour tout remettre au propre
CHANGEMENTS IMPORTANTS (MILESTONES)
Liste complète des évolutions: https://gitlab.irap.omp.eu/epallier/labinvent/commits/master
17/01/2019 Version: 2.10.1, 2, et 3 (EP) Mise à jour framework cakephp et amélioration recherche matériel et bugfix ldap: - Mise à jour du framework cakephp à la version courante : passage de v3.5 à v3.7 ($ php composer.phar require --update-with-dependencies "cakephp/cakephp:3.7.*") - Adaptations pour cakephp 3.7 - Recherche Matériels : Bugfixes et améliorations - Bugfix Recherche générale sur plusieurs mots : fait un AND de ces mots et non pas un OR !!! - Bugfix Recherche générale d'une date - Ajout recherche générale d'une catégorie - Bugfix recherche sur un montant à virgule... - Complète refactorisation de MaterielsController::find(), y avait besoin ! - Ajout de tests - ... - LDAP authentified bugfix
15/01/2019 Version: 2.9.2 (EP) Nouveau script "install/update.sh" pour mettre à jour automatiquement le logiciel (git pull) ET la BD (si besoin)
10/01/2019 Version: 2.9.1.11 (EP) Nouveau mode LDAP AUTHENTIFIÉ opérationnel (pour le CRAL) : - ATTENTION, MODIF DE LA BD, il faut exécuter le script de mise à jour suivant: - cd database/update/ - ./db-update-2019-01-09.sh ("-CRAL.sh" pour le CRAL) : - renommé tous les champs et variables ldap en ldap pour meilleure lisibilité - adapté la section LDAP de la config - cleanup - update fichier database/labinvent_last_version.sql contenant la BD COMPLETE
21/12/2018 Version: 2.9.1.4 (EP) Version et date affichés automatiquement et merge vues listes... : - Version et date affichés automatiquement à partir du README.md - Les vues "Voir les autres listes" et "Outils/Gérer le contenu variable..." sont désormais les mêmes
14/12/2018 Version: 2.9.1.0 (EP) - Ajout en cours du mode LDAP authentifié - Nouvelle documentation (dossier doc/)
ETE 2018 Version: 2.9.0 (Malik Imelhaine) - Nombreux petits bugfixes et petites améliorations (a priori sans changement structure BD)
02/02/2018 Version: 2.8.1 (EP) - Nombreux bugfixes (saisie dates, etiquette, doc admission...)
15/09/2017 Version: 2.8.0 (EP) - Nouveau système ACL simplifié basé sur les tableaux $easyACL (en cours) - Tests paramétrés - Bugfix emails
30/08/2017 Version: 2.7.9 (EP) - fonction intelligente AppController::getUserRole() qui donne le role "Utilisateur" par défaut pour un utilisateur non privilégié - Refactorisation des ACL (authorizations) dans isAuthorized() et beforeFilter()
28/08/2017 Version: 2.7.6 (EP) - renforcement important des TESTS : généralisation, refactorisation, simplification + numérotation systématique (cf doc ACL) - nouvelle classe General dont héritent tous les tests - nouvelle philo mise en place : 1 fichier tests par Controleur (c'était déjà le cas), puis pour un controleur donné, tri des tests par ACTION, puis pour chaque action, tests systématique de tous les ROLES (profils) avec les cas particuliers de chacun
06/07/2017 Version: 2.7.3 (EP) - suppression du contenu de vendor/ => désormais ignoré car autogénéré - update des plugins phpqrcode et fpdf => désormais via composer.json - amélioration script install => pour générer automatiquement le contenu de vendor/
30/06/2017 Version: 2.7.0 (EP) Passage de Cakephp3.2 à 3.4, Phpunit 5 à 6, et compatibilité avec Php5.6 et 7
12/05/2017 Version: 2.6.2 (Thibaud Ajas?) L'ajout d'un gestionnaire du matériel est désormais obligatoire à l'ajout d'un matériel
09/05/2017 Version: 2.6.0 (Thibaud Ajas?) Les noms des matériels sont en rouge dans la liste lorsque la date de garantie à été dépassée, ainsi que la date elle-même dans leur fiche détaillée Petits bugfixes divers
25/04/2017 Version: 2.5.6 (Thibaud Ajas?) On peut maintenant configurer et choisir sur la page le nombre de materiels affichés (20 par défaut) Petits bugfixes divers Amélioration du script et de la doc d'installation
24/06/2016 Version: 2.4.7.2 (Version 2.4 finale)
Implémentation des ACL (droits) & Autres demandes
https://projects.irap.omp.eu/versions/107
30/05/2016 Version: 2.3.2.1 (Version 2.3 finale)
Implémentation du LDAP (vrai et fake)
https://projects.irap.omp.eu/versions/108
23/05/2016 Version: 2.2.5.4 (Version 2.2 finale)
Implémentation de toutes les autres actions
https://projects.irap.omp.eu/versions/106
12/05/2016 Version: 2.1.10 (Version 2.1 finale)
Implémentation complète du CRUD
https://projects.irap.omp.eu/versions/101
04/05/16 Version 2.0.8 (Version 2.0 finale) Version de base (from bake) : php5 + cakephp3 https://projects.irap.omp.eu/versions/105
21/01/16 Version 1.3.636 (Version 1.3 finale) php5 + cakephp2.1 https://projects.irap.omp.eu/versions/17
(SECTION OBSOLETE, HISTORIQUE)
MODIFICATIONS STRUCTURELLES A FAIRE MANUELLEMENT APRES LA MISE A JOUR (git pull)
30/06/16 (v2.5.4.0) Se placer dans database/update et exécuter le script ./db-update-2016-06-30.sh
28/06/16 (v2.5.1.0) Se placer dans database/update et exécuter le script ./db-update-2016-06-28.sh
27/06/16 (v2.5.0.0) Se placer dans database/update et exécuter le script ./db-update-2016-06-27.sh
24/06/16 (v2.4.7.2) Se placer dans database/update et exécuter le script ./db-update-2016-06-24-2.sh
24/06/16 (v2.4.7.0) Se placer dans database/update et exécuter le script ./db-update-2016-06-24.sh
23/06/16 (v2.4.6.5) Se placer dans database/update et exécuter le script ./db-update-2016-06-23.sh
23/06/16 (v2.4.6.4) Se placer dans database/update et exécuter le script ./db-update-2016-06-22.sh
20/06/16 (v2.4.6.0) Se placer dans database/update et exécuter le script ./db-update-2016-06-20.sh
17/06/16 (v2.4.4.4) (Exceptionnel) Exécuter les lignes suivantes (à la racine) :
cp -p config/app.php ../config/app.php.ORIG
cp config/app.default.php ../config/app.php
Puis completez app.php (datasources => default & test (username, password, database)) avec app.php.ORIG
15/06/16 (v2.4.4.0) Adapter la BD en exécutant le script sql ./db-update-2016-06-15.sql
13/06/16 (v2.4.3.10) Adapter la BD en exécutant le script sql ./db-update-2016-06-13.sql
07/06/16 (v2.4.3.2) Adapter la BD en exécutant le script sql ./db-update-2016-06-07.sql
06/06/16 (v2.4.3.0) Adapter la BD en exécutant le script sql ./db-update-2016-06-06.sql
04/06/16 (v???) Se placer dans install/ et exécuter le script d'installation ./installation.sh (en mode UPDATE)