Labinvent nouvelle version

Version 23 (Alexandre Cases, 04/19/2016 02:00 pm) → Version 24/222 (Alexandre Cases, 04/19/2016 02:01 pm)

h1. Labinvent 2.0 (nouvelle version)

h2. Installation Labinvent 2.0 (Utilisateurs)

h3. A/ PREREQUIS

* Un serveur web (apache avec le mod_rewrite actif)
* Un serveur de base de données (MySQL)
* PHP 5.5.9 ou plus
* Extension PHP "mbstring"
* Extension PHP "intl"

* Librairie "gd"
* Librairie PHP "php-gd" (même version que PHP)
* Librairie "zlib"

Il est aussi conseillé d'avoir un "phpmyadmin" installé pour pouvoir gérer manuellement la base de données.

* Après avoir installer tous les prérequis, récupérer l'archive "labinvent.tar.gz".

* Placer cette archive à l'endroit voulu, 2 possibilités :
- (1) soit vous placez cette archive directement dans le repertoire des sites webs du serveur web (par exemple /var/www/html/localhost/public_html/)
- (2) soit vous la placez n'importe où ailleurs (par exemple dans votre repertoire home), et ensuite vous indiquerez au serveur web où trouver ce projet

* Dézipper l'archive :
"tar xvfz labinvent.tar.gz"
> => cela crée un dossier labinvent_2-0-xxx/

h3. B/ INSTALLATION

Nous vous préconisons d'installer le logiciel en mode "SANS LDAP", et d'activer le mode "AVEC LDAP" par la suite, si vous en avez besoin.

* Aller dans le repertoire d'installation :
cd labinvent/install/

* Exécuter le script d'installation :
./installation.sh
(vous pouvez le faire en tant qu'administrateur "root", mais ça n'est pas nécessaire, le script fera quelques petits "sudo" seulement quand nécessaire).
(Conseil : à la plupart des questions, laissez les réponses par défaut)
(Comme expliqué au début, faites une installation en mode "sans LDAP")

* Autoriser les fichiers .htaccess sur le site :
(cf http://book.cakephp.org/2.0/fr/installation/url-rewriting.html)
Dans le fichier httpd.conf de Apache, si vous avez deja quelquechose comme ceci, cela suffit :

> <Directory />
> Options FollowSymLinks
> AllowOverride All
> Order deny,allow
> Deny from all
> </Directory>

Sinon, vous pouvez ajouter ceci, uniquement pour Labinvent :

> <Directory /labinvent>
> Options FollowSymLinks
> AllowOverride All
> </Directory>

NB : si labinvent n'est pas dans le repertoire des sites webs, il faut mettre son chemin absolu a la place de /labinvent :
> <Directory /chemin/abosolu/vers/labinvent>

h2. Migration CakePHP3 (Sous UBuntu)

h3. Création projet avec Composer

* Télécharger composer.phar :
"curl -s https://getcomposer.org/installer | php"

* Avec le Composer créer un nouveau projet :
"php composer.phar create-project --prefer-dist cakephp/app labinvent_2.0"

> Voir structure projet : http://book.cakephp.org/3.0/fr/intro/cakephp-folder-structure.html

* On rempli la base de données avec le fichier sql

* On indique la BD utilisé à CakePHP dans le fichier config/app.php, propriété "Datasources".

* On se place à la racine du projet

* On génère le code Scaffold :
"bin/cake bake all nom_table" --> ça génére les modeles, les vues, et les controlleurs.

> Commande (en une fois) :
> > bin/cake bake all categories && bin/cake bake all emprunts && bin/cake bake all groupes_metiers && bin/cake bake all groupes_thematiques && bin/cake bake all organismes && bin/cake bake all sites && bin/cake bake all sous_categories && bin/cake bake all suivis && bin/cake bake all sur_categories && bin/cake bake all type_suivis && bin/cake bake all documents && bin/cake bake all utilisateurs && bin/cake bake all materiels

h3. Modification de la base de données
> Une version du sql corrigée au fur et à mesure est disponible dans le git :
> > Dans database, le fichier labinvent_2.0_19-04-16 correspond à la création de la base.
> > Dans database, le fichier labinvent_2.0_insert-irap_19-04-16 correspond aux insertions;

* Table "fichiers" en doublon de "documents" => supprimer
* Attribut organisme inutile dans la table matériel => supprimer

h3. Autres remarques lors du dévellopement

h4. instalation.sh

* "phpqrcode" et "fpdf" dans dossier vendor ?