Installation

Version 282 (Etienne Pallier, 01/22/2018 03:34 pm)

1 1 Etienne Pallier
h1. Labinvent 2.0 (cakephp3) - Installation
2 1 Etienne Pallier
3 1 Etienne Pallier
4 20 Etienne Pallier
Cette page décrit la phase d'installation du logiciel.
5 279 Etienne Pallier
_La version la plus à jour est sur la page "Installation" du wiki du projet_ : https://projects.irap.omp.eu/projects/inventirap/wiki/Installation
6 20 Etienne Pallier
7 20 Etienne Pallier
[ [[Labinvent_nouvelle_version|Retour au sommmaire]] ]
8 20 Etienne Pallier
9 20 Etienne Pallier
10 1 Etienne Pallier
{{toc}}
11 1 Etienne Pallier
12 1 Etienne Pallier
13 1 Etienne Pallier
14 1 Etienne Pallier
---
15 1 Etienne Pallier
16 1 Etienne Pallier
h2. LIENS UTILES
17 1 Etienne Pallier
18 133 Thibaud Ajas
* HOWTO Format Redmine Wiki : http://www.redmine.org/projects/redmine/wiki/FrRedmineWikiFormatting
19 1 Etienne Pallier
20 51 Etienne Pallier
* *Fichier README* : https://gitlab.irap.omp.eu/epallier/labinvent/blob/master/README-LABINVENT.md
21 51 Etienne Pallier
22 227 Etienne Pallier
* *Version majeure en cours (2.7)*: https://projects.irap.omp.eu/versions/162
23 12 Etienne Pallier
24 50 Etienne Pallier
* Liste complète des évolutions: https://gitlab.irap.omp.eu/epallier/labinvent/commits/master
25 50 Etienne Pallier
26 12 Etienne Pallier
* Browse files (gitlab): https://gitlab.irap.omp.eu/epallier/labinvent/tree/master
27 1 Etienne Pallier
28 1 Etienne Pallier
---
29 1 Etienne Pallier
30 257 Etienne Pallier
h2. VERSION DE DEMO (en ligne)
31 214 Etienne Pallier
32 214 Etienne Pallier
http://planetoweb2.cesr.fr/labinvent2
33 214 Etienne Pallier
34 228 Etienne Pallier
(utilisateurs disponibles : "utilisateur", "responsable", "admin" sans mot de passe)
35 1 Etienne Pallier
36 215 Etienne Pallier
---
37 214 Etienne Pallier
38 215 Etienne Pallier
h2. RECUPERATION du logiciel
39 1 Etienne Pallier
40 1 Etienne Pallier
41 1 Etienne Pallier
42 113 Etienne Pallier
*1) Deux options*
43 113 Etienne Pallier
44 1 Etienne Pallier
Deux options se présentent à vous :
45 1 Etienne Pallier
46 230 Etienne Pallier
 * a) *soit vous récupérez une version statique* du logiciel, en le téléchargeant (pas besoin de login, c'est anonyme) : considérez alors cette version comme une version de test jetable car il vous faudra recommencer pour obtenir chaque nouvelle version
47 230 Etienne Pallier
 * b) (méthode préférée) *soit vous récupérez une version synchronisée*, avec git (nécessité d'avoir un login), ce qui vous permettra de rester constamment à jour (sans réinstallation), et même de contribuer à l'évolution du logiciel si vous le désirez
48 1 Etienne Pallier
49 237 Etienne Pallier
*a) (non recommandé) Téléchargement anonyme (version statique, non synchronisée, jetable)*
50 1 Etienne Pallier
51 124 Thibaud Ajas
Vous pouvez télécharger la version actuelle du logiciel.
52 1 Etienne Pallier
53 124 Thibaud Ajas
Pour cela, aller sur : https://gitlab.irap.omp.eu/epallier/labinvent/tree/master
54 1 Etienne Pallier
55 124 Thibaud Ajas
Cliquez sur : "Download zip" dans le coin en haut à droite.
56 1 Etienne Pallier
57 124 Thibaud Ajas
Double-cliquez dessus ou dézippez-le (ou lancez la commande gzip -d labinvent.zip). Vous devriez avoir un dossier "labinvent.git".
58 1 Etienne Pallier
59 124 Thibaud Ajas
Dans sa documentation, le logiciel sera désigné par "LABINVENT".
60 1 Etienne Pallier
61 124 Thibaud Ajas
Vous pouvez renommer "labinvent.git" en "labinvent" si vous le souhaitez ("mv labinvent.git labinvent" ou clic droit->Renommer).
62 1 Etienne Pallier
63 1 Etienne Pallier
64 237 Etienne Pallier
*b) (recommandé) Récupérer le logiciel via GIT (version dynamique, synchronisée, nécessité d'un login)*
65 216 Etienne Pallier
66 113 Etienne Pallier
Pour cette option, vous devez avoir un login. Si vous n'avez pas déjà un login, allez sur la page https://gitlab.irap.omp.eu/users/sign_in,
67 113 Etienne Pallier
puis remplissez la section "Sign up". Ensuite, envoyez un email à epallier AT irap. omp. eu
68 113 Etienne Pallier
en demandant l'autorisation d'accéder au gitlab du projet labinvent. On vous donnera alors la procédure à suivre pour vous connecter.
69 113 Etienne Pallier
70 126 Thibaud Ajas
(Si vous utilisez Windows, vous DEVEZ avant tout installer git pour windows, voir plus bas "Obtenir git pour windows")
71 1 Etienne Pallier
72 126 Thibaud Ajas
En récupérant directement le logiciel via git, vous allez avoir une version dynamiquement synchronisée.
73 126 Thibaud Ajas
Vous serez donc en mesure de la mettre à jour dès qu'une nouvelle version sera disponible avec la commande "git pull".
74 1 Etienne Pallier
75 126 Thibaud Ajas
* (Depuis Eclipse : Voir plus bas, section "A L'ATTENTION DES UTILISATEURS D'ECLIPSE")
76 1 Etienne Pallier
77 126 Thibaud Ajas
* Depuis un terminal:
78 1 Etienne Pallier
79 1 Etienne Pallier
<pre>
80 1 Etienne Pallier
git clone https://gitlab.irap.omp.eu/epallier/labinvent.git labinvent
81 1 Etienne Pallier
</pre>
82 1 Etienne Pallier
83 126 Thibaud Ajas
_(Ou aussi depuis ssh : git clone git@gitlab.irap.omp.eu:epallier/labinvent.git labinvent)_
84 1 Etienne Pallier
85 126 Thibaud Ajas
Si vous obtenez ce message d'erreur ... :
86 1 Etienne Pallier
<pre>
87 1 Etienne Pallier
fatal: unable to access 'https://gitlab.irap.omp.eu/epallier/labinvent.git/': Peer's certificate issuer has been marked as not trusted by the user.
88 1 Etienne Pallier
</pre>
89 1 Etienne Pallier
90 126 Thibaud Ajas
...tapez cette commande (et relancez une commade "git clone"):
91 1 Etienne Pallier
<pre>
92 1 Etienne Pallier
$ git config --global http.sslVerify false
93 127 Thibaud Ajas
</pre>
94 1 Etienne Pallier
Puis vérifiez que votre configuration soit OK :
95 128 Thibaud Ajas
<pre>
96 134 Etienne Pallier
$ git config --list
97 134 Etienne Pallier
(ou encore : cat ~/.gitconfig)
98 135 Etienne Pallier
99 1 Etienne Pallier
[user]
100 1 Etienne Pallier
	name = Etienne Pallier
101 1 Etienne Pallier
	email = epallier@irap.omp.eu
102 1 Etienne Pallier
[http]
103 1 Etienne Pallier
	sslVerify = false
104 1 Etienne Pallier
[push]
105 1 Etienne Pallier
	default = simple
106 1 Etienne Pallier
</pre>
107 1 Etienne Pallier
108 126 Thibaud Ajas
(Si vous récupérez le projet pour la première fois, git vous demandera un login et un mot de passe)
109 1 Etienne Pallier
110 1 Etienne Pallier
Git a normalement créé un dossier "labinvent" qui contiendra votre projet (avec un sous dossier ".git" qui sert à la synchronisation avec le dépot git).
111 136 Etienne Pallier
112 216 Etienne Pallier
Par défaut, vous êtes sur la branche "master" du git. Elle contient une version stable du logiciel.
113 1 Etienne Pallier
114 218 Etienne Pallier
Si vous souhaitez contribuer au développement de ce logiciel, vous devez absolument changer de branche et vous placer sur la branche "dev" (ou bien une sous-branche dédiée comme "dev-IRAP", ou "dev-LATMOS") : 
115 216 Etienne Pallier
<pre>
116 216 Etienne Pallier
cd labinvent/
117 216 Etienne Pallier
$ git branch
118 216 Etienne Pallier
$ git checkout dev
119 216 Etienne Pallier
$ git branch
120 1 Etienne Pallier
</pre>
121 217 Etienne Pallier
122 217 Etienne Pallier
Si vous désirez seulement utiliser ce logiciel sans le modifier, alors restez sur la branche "master", vous y serez très bien ;-).
123 216 Etienne Pallier
124 136 Etienne Pallier
*Seulement pour Windows* : 
125 136 Etienne Pallier
126 136 Etienne Pallier
Obtenir git pour windows :
127 136 Etienne Pallier
128 126 Thibaud Ajas
 * Téléchargez git sur https://git-scm.com/download/win
129 126 Thibaud Ajas
 * Lancez l'installation (gardez la configuration par défaut)
130 136 Etienne Pallier
 * Une fois installé, lancer une invite de commande (Touche Windows+R, tapez cmd, touche entrer)
131 1 Etienne Pallier
<pre>
132 1 Etienne Pallier
$ git config --global http.sslVerify false
133 1 Etienne Pallier
</pre>
134 1 Etienne Pallier
Vous pouvez désormais utiliser git depuis une invite de commande ou depuis l'interface graphique de git.
135 136 Etienne Pallier
136 1 Etienne Pallier
137 53 Etienne Pallier
*2) Préparation*
138 1 Etienne Pallier
139 260 Etienne Pallier
* Si jamais votre dossier "labinvent" appartient à root (vous avez fait un "git clone" depuis root...), il serait préférable que vous en soyez vous-même (ou un autre user) le propriétaire : 
140 137 Etienne Pallier
> sudo chown -R nom_utilisateur labinvent/
141 1 Etienne Pallier
142 258 Etienne Pallier
* Où placer le dossier "labinvent" ?
143 258 Etienne Pallier
2 possibilités :
144 258 Etienne Pallier
- (1) soit vous le laissez là où il est (ou bien vous le placez n'importe où ailleurs, par exemple dans votre repertoire home), et vous indiquez seulement au serveur web où le trouver, ou encore vous faites un lien depuis votre /var/www/html/ vers ce dossier labinvent/, ou encore vous créez un Virtual Host (Apache)
145 258 Etienne Pallier
- (2) soit vous placez ce dossier directement dans le repertoire des sites webs du serveur web (par exemple /var/www/html/ ou /var/www/html/localhost/public_html/, ...)
146 216 Etienne Pallier
147 1 Etienne Pallier
148 215 Etienne Pallier
---
149 215 Etienne Pallier
150 1 Etienne Pallier
h2. INSTALLATION
151 1 Etienne Pallier
152 238 Etienne Pallier
h3. Plateformes testées
153 1 Etienne Pallier
154 240 Etienne Pallier
*- Fedora 20* (version test Thibault Ajas, IRAP, avril 2017)
155 239 Etienne Pallier
156 240 Etienne Pallier
*- Centos 6.6* (version de "production", SI IRAP ) :
157 239 Etienne Pallier
	- PHP : 5.6.22
158 239 Etienne Pallier
	- Mysql : 5.1.73-3.el6_5
159 239 Etienne Pallier
	- Apache : 2.2.15-39.el6.centos
160 239 Etienne Pallier
161 240 Etienne Pallier
*- Debian GNU/Linux 8.5* (jessie) (version de "production", IAS) :
162 239 Etienne Pallier
	- PHP : 5.6.22
163 239 Etienne Pallier
	- Mysql : MariaDB 10.0.25
164 239 Etienne Pallier
	- Apache : 2.4.10
165 239 Etienne Pallier
166 240 Etienne Pallier
*- Scientific Linux (=Centos) 6.4* (version dev/test Etienne Pallier linux, IRAP) :
167 239 Etienne Pallier
	- PHP : 5.6.30
168 239 Etienne Pallier
	- MYSQL : 5.5.56
169 239 Etienne Pallier
	- APACHE : 2.2.15
170 239 Etienne Pallier
171 243 Etienne Pallier
*- UBuntu 14.04.4* (Ancienne version dev/test Alexandre Cases, IRAP) :
172 243 Etienne Pallier
	- PHP : 5.5.9 (ne suffit plus)
173 239 Etienne Pallier
	- MYSQL : 5.5.47 
174 239 Etienne Pallier
	- Apache : 2.4.7
175 239 Etienne Pallier
176 263 Etienne Pallier
*- (17/1/18) Mac OS 10.13.2 avec brew* (version dev/test Etienne Pallier, IRAP) :
177 261 Etienne Pallier
	- PHP 7.2.0 + MySQL 5.7.20 + Apache 2.4.28
178 261 Etienne Pallier
179 239 Etienne Pallier
*- Mac OS 10.12.5 avec XAMPP* 5.6.3 et 7.1 (version dev/test Etienne Pallier, IRAP) :
180 1 Etienne Pallier
	- PHP 5.6.3 + MySQL 5.6.21 + Apache 2.4.10
181 261 Etienne Pallier
	- PHP7.1.6 + MariaDB 10.1.24 + Apache 2.4.25
182 238 Etienne Pallier
183 242 Etienne Pallier
h3. A/ PREREQUIS
184 1 Etienne Pallier
185 61 Etienne Pallier
Le logiciel nécessite une combinaison "AMP" pour fonctionner, soit les 3 pré-requis suivants :
186 62 Etienne Pallier
187 73 Etienne Pallier
* un serveur web Apache
188 73 Etienne Pallier
* un serveur de base de données Mysql
189 242 Etienne Pallier
* le langage Php en version 5.6 minimum ou 7.x (recommandé)
190 1 Etienne Pallier
191 68 Etienne Pallier
Si ce tiercé est déjà présent sur votre OS, vous pouvez passer à l'étape suivante (B/ Installation), et revenir ici seulement en cas de problème de configuration.
192 63 Etienne Pallier
193 61 Etienne Pallier
Sur Windows, vous pouvez utiliser Wampserver ou XAMPP qui regroupent ces 3 éléments (il n'y aura rien d'autre à faire ensuite).
194 61 Etienne Pallier
195 140 Etienne Pallier
Sur Mac, vous pouvez utiliser XAMPP (ou autre équivalent) ou bien installer chacun des 3 éléments séparément soit via MacPort (ou HomeBrew) soit en téléchargeant le paquet binaire Mac correspondant à chaque élément.
196 61 Etienne Pallier
197 141 Etienne Pallier
*Voici la démarche à suivre sur Linux* :
198 1 Etienne Pallier
199 75 Etienne Pallier
h4. *1) Installation des prérequis*
200 72 Etienne Pallier
201 266 Etienne Pallier
202 268 Etienne Pallier
* *Exemple pour Mac OS 10.13 avec brew (fait en janvier 2018) :*
203 266 Etienne Pallier
204 266 Etienne Pallier
Installation AMP : http://planetowiki.irap.omp.eu/do/view/Computers/Mac201801Laptop?twiki_redirect_cache=5e6c3505b8a2d20ab3d2c31b29d11352#AMP_installation
205 266 Etienne Pallier
206 266 Etienne Pallier
207 268 Etienne Pallier
* *Exemple pour ScientificLinux (CentOS) 6.4 (fait en juillet 2017) :*
208 248 Etienne Pallier
209 248 Etienne Pallier
    Pour mettre à jour PHP de la 5.6 à la 7.1 : 
210 248 Etienne Pallier
    --> https://blog.remirepo.net/post/2016/12/05/Install-PHP-7.1-on-CentOS-RHEL-or-Fedora
211 248 Etienne Pallier
<pre>
212 249 Etienne Pallier
$ sudo yum update kernel
213 249 Etienne Pallier
$ sudo yum update
214 249 Etienne Pallier
215 248 Etienne Pallier
$ sudo yum install yum-utils
216 248 Etienne Pallier
$ sudo yum-config-manager --enable remi-php71
217 248 Etienne Pallier
$ sudo yum update
218 248 Etienne Pallier
=> mais il y a un conflit à cause de phpmyadmin, donc je supprime ce package :
219 248 Etienne Pallier
$ sudo yum erase phpmyadmin
220 248 Etienne Pallier
$ sudo yum update
221 248 Etienne Pallier
222 248 Etienne Pallier
$ php -v => 7.1
223 248 Etienne Pallier
224 248 Etienne Pallier
Redémarrage Apache:
225 248 Etienne Pallier
$ sudo /etc/init.d/httpd restart
226 249 Etienne Pallier
227 249 Etienne Pallier
Tentative de réinstaller phpmyadmin
228 249 Etienne Pallier
$ sudo yum install phpmyadmin
229 249 Etienne Pallier
=> toujours un conflit, je laisse tomber, dommage...
230 251 Etienne Pallier
231 251 Etienne Pallier
Tentative d'accelerer php 7:
232 253 Etienne Pallier
(https://community.1and1.com/php-7)
233 1 Etienne Pallier
$ sudo yum install php71-php-opcache
234 253 Etienne Pallier
Creer un repertoire .opcache/ dans le webroot/ du projet:
235 253 Etienne Pallier
$ cd webroot/
236 253 Etienne Pallier
$ mkdir .opcache/
237 253 Etienne Pallier
$ chmod 777 .opcache/
238 253 Etienne Pallier
239 253 Etienne Pallier
Modifier php.ini :
240 253 Etienne Pallier
$ sudo vi /etc/php.ini
241 253 Etienne Pallier
Ajout des lignes suivantes :
242 253 Etienne Pallier
; EP added this for opcache (Jul 2017):
243 253 Etienne Pallier
zend_extension=opcache.so;
244 253 Etienne Pallier
opcache.enable=1;opcache.memory_consumption=32;
245 253 Etienne Pallier
opcache.interned_strings_buffer=8;
246 253 Etienne Pallier
opcache.max_accelerated_files=3000;
247 253 Etienne Pallier
opcache.revalidate_freq=180;
248 253 Etienne Pallier
opcache.fast_shutdown=0;
249 253 Etienne Pallier
opcache.enable_cli=0;
250 253 Etienne Pallier
opcache.revalidate_path=0;
251 253 Etienne Pallier
opcache.validate_timestamps=2;
252 253 Etienne Pallier
opcache.max_file_size=0;
253 253 Etienne Pallier
opcache.file_cache=/projects/labinvent/labinvent2/webroot/.opcache;
254 253 Etienne Pallier
opcache.file_cache_only=1;
255 253 Etienne Pallier
256 253 Etienne Pallier
Faire un lien vers l'extension opcache.so
257 253 Etienne Pallier
$ cd /usr/lib64/php/modules/
258 253 Etienne Pallier
$ sudo ln -s /opt/remi/php71/root/usr/lib64/php/modules/opcache.so
259 253 Etienne Pallier
260 253 Etienne Pallier
Verifier que .opcache/ contient bien des données (du cache)
261 253 Etienne Pallier
262 253 Etienne Pallier
Mais je ne vois pas vraiment d'accélération...
263 248 Etienne Pallier
</pre>
264 248 Etienne Pallier
    
265 248 Etienne Pallier
266 248 Etienne Pallier
267 268 Etienne Pallier
* *Exemple pour Cent OS 6.7 (fait en 2016) :*
268 35 Alexandre Cases
269 130 Thibaud Ajas
    Mettre à jour le serveur:
270 130 Thibaud Ajas
<pre>
271 1 Etienne Pallier
$ sudo yum kernel
272 1 Etienne Pallier
(restart)
273 1 Etienne Pallier
$ sudo yum update
274 130 Thibaud Ajas
</pre>
275 1 Etienne Pallier
276 130 Thibaud Ajas
    Pour installer Apache, MySQL & PHP 5.3 :
277 130 Thibaud Ajas
    --> https://www.zerostopbits.com/how-to-install-apache-mysql-and-php-on-centos-6-7/
278 35 Alexandre Cases
279 130 Thibaud Ajas
    Pour mettre à jour PHP de la 5.3 à la 5.6
280 130 Thibaud Ajas
    --> https://www.zerostopbits.com/how-to-upgrade-php-5-3-to-php-5-6-on-centos-6-7/
281 1 Etienne Pallier
282 130 Thibaud Ajas
    Mettre à jour Mysql (version 5.1 à 5.5):
283 130 Thibaud Ajas
<pre>
284 71 Etienne Pallier
$ sudo yum update
285 1 Etienne Pallier
</pre>
286 1 Etienne Pallier
287 70 Etienne Pallier
288 268 Etienne Pallier
* *Exemple pour une distribution UBuntu 14.04.4 (fait en 2016) et 14.04.5 (Mai 2017) :*
289 1 Etienne Pallier
290 243 Etienne Pallier
%{color:red;} /!\ Par défaut, la version de php installée ici est php5.5 qui ne suffit plus. Si vous souhaitez installer la version 5.6, remplacez TOUS les "php5" par "php5.6", et si vous voulez la version 7.1, remplacez TOUS les "php5" par "php7.1" /!\%
291 1 Etienne Pallier
292 129 Thibaud Ajas
    Pour commencer il faut mettre à jour les "repository" de apt :
293 129 Thibaud Ajas
<pre>
294 1 Etienne Pallier
$ sudo apt-get update && sudo apt-get upgrade
295 129 Thibaud Ajas
</pre>
296 1 Etienne Pallier
297 129 Thibaud Ajas
    Installer un serveur web (Apache) :
298 129 Thibaud Ajas
<pre>
299 72 Etienne Pallier
$ sudo apt-get install apache2
300 129 Thibaud Ajas
</pre>
301 1 Etienne Pallier
302 129 Thibaud Ajas
    Installer un serveur de base de données (MySQL):
303 1 Etienne Pallier
<pre>
304 1 Etienne Pallier
$ sudo apt-get install mysql-server 
305 1 Etienne Pallier
</pre>
306 72 Etienne Pallier
307 129 Thibaud Ajas
    Installer le langage PHP en version 5.5.9 minimum (5.6 recommandé)
308 129 Thibaud Ajas
<pre>
309 1 Etienne Pallier
$ sudo apt-get install php5 php-pear
310 63 Etienne Pallier
$ sudo apt-get install php5-mysql
311 1 Etienne Pallier
</pre>
312 119 Etienne Pallier
313 173 Thibaud Ajas
    Installer phpmyadmin et le configurer
314 173 Thibaud Ajas
<pre>
315 173 Thibaud Ajas
$ sudo apt-get install phpmyadmin
316 177 Thibaud Ajas
$ sudo dpkg-reconfigure -plow phpmyadmin
317 173 Thibaud Ajas
</pre>
318 173 Thibaud Ajas
/!\ Lorsque vous aurez l'écran suivant, n'oubliez pas d'appuyer sur la touche "espace" avant la touche "entrée" /!\
319 173 Thibaud Ajas
320 173 Thibaud Ajas
!https://i.stack.imgur.com/Q9qYW.png!
321 173 Thibaud Ajas
322 173 Thibaud Ajas
Afin d'avoir cela :
323 173 Thibaud Ajas
324 173 Thibaud Ajas
!https://i.stack.imgur.com/VIh0U.png!
325 173 Thibaud Ajas
326 175 Thibaud Ajas
Si, en visitant http://localhost/phpmyadmin/ vous avez l'erreur "The mcrypt extension is missing. Please check your PHP configuration.", executez les commades suivantes :
327 175 Thibaud Ajas
<pre>
328 175 Thibaud Ajas
$ sudo apt-get install php5-mcrypt
329 175 Thibaud Ajas
$ sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available
330 175 Thibaud Ajas
$ sudo php5enmod mcrypt 
331 175 Thibaud Ajas
$ sudo service apache2 restart
332 175 Thibaud Ajas
</pre>
333 175 Thibaud Ajas
334 268 Etienne Pallier
* *Exemple pour une distribution Fedora 20+ (fait en avril 2017) :*
335 114 Etienne Pallier
336 130 Thibaud Ajas
    https://www.digitalocean.com/community/tutorials/how-to-install-lamp-linux-apache-mysql-php-on-fedora
337 1 Etienne Pallier
338 130 Thibaud Ajas
    Pour commencer il faut mettre à jour l'OS :
339 129 Thibaud Ajas
<pre>
340 114 Etienne Pallier
$ sudo dnf update dnf
341 1 Etienne Pallier
$ sudo dnf update kernel
342 1 Etienne Pallier
$ sudo dnf update
343 129 Thibaud Ajas
</pre>
344 115 Etienne Pallier
345 130 Thibaud Ajas
    Installer git:
346 129 Thibaud Ajas
<pre>
347 115 Etienne Pallier
$ sudo dnf install git
348 1 Etienne Pallier
</pre>
349 115 Etienne Pallier
350 130 Thibaud Ajas
    Installer php :
351 129 Thibaud Ajas
<pre>
352 115 Etienne Pallier
$ sudo dnf install php
353 1 Etienne Pallier
$ sudo dnf install php-mysql
354 129 Thibaud Ajas
</pre>
355 115 Etienne Pallier
356 130 Thibaud Ajas
    Installer un serveur web (Apache) :
357 129 Thibaud Ajas
<pre>
358 115 Etienne Pallier
$ sudo dnf install httpd
359 116 Etienne Pallier
$ sudo systemctl enable httpd
360 116 Etienne Pallier
(ln -s '/usr/lib/systemd/system/httpd.service' '/etc/systemd/system/multi-user.target.wants/httpd.service')
361 116 Etienne Pallier
$ sudo systemctl start httpd
362 129 Thibaud Ajas
</pre>
363 1 Etienne Pallier
364 130 Thibaud Ajas
    Installer un serveur de base de données (MySQL):
365 129 Thibaud Ajas
<pre>
366 115 Etienne Pallier
$ sudo dnf install mariadb mariadb-server -y
367 116 Etienne Pallier
$ sudo systemctl enable mariadb
368 116 Etienne Pallier
(ln -s '/usr/lib/systemd/system/mariadb.service' '/etc/systemd/system/multi-user.target.wants/mariadb.service')
369 115 Etienne Pallier
$ sudo systemctl start mariadb
370 118 Etienne Pallier
$ sudo mysql_secure_installation
371 129 Thibaud Ajas
</pre>
372 118 Etienne Pallier
373 158 Etienne Pallier
    (OPTIONNEL) Installer phpmyadmin (par defaut accessible uniquement depuis localhost), utile pour gérer plus facilement la BD :
374 129 Thibaud Ajas
<pre>
375 118 Etienne Pallier
$ sudo dnf install phpmyadmin
376 1 Etienne Pallier
$ sudo systemctl restart httpd
377 158 Etienne Pallier
378 158 Etienne Pallier
Pour Ubuntu:
379 158 Etienne Pallier
sudo apt-get php5-mcrypt
380 158 Etienne Pallier
sudo apt-get install phpmyadmin
381 158 Etienne Pallier
Pensez à activer l'extension mcrypt : sudo php5enmod mcrypt
382 158 Etienne Pallier
</pre>
383 158 Etienne Pallier
384 114 Etienne Pallier
</pre>
385 114 Etienne Pallier
386 75 Etienne Pallier
h4. *2) Configuration des prérequis*
387 1 Etienne Pallier
388 76 Etienne Pallier
389 143 Etienne Pallier
390 63 Etienne Pallier
391 264 Etienne Pallier
* *+Configuration de Php+*
392 226 Etienne Pallier
Pour savoir où est le fichier php.ini:
393 226 Etienne Pallier
php -r "print phpinfo();" | grep ".ini"
394 226 Etienne Pallier
(sur XAMPP, c'est dans /Applications/XAMPP/xamppfiles/etc/php.ini)
395 1 Etienne Pallier
396 145 Etienne Pallier
 * *Extension PHP "intl"*:
397 145 Etienne Pallier
Vérifier qu'elle est activée dans le php.ini:
398 1 Etienne Pallier
<pre>
399 80 Etienne Pallier
php --ini|grep intl
400 80 Etienne Pallier
Sinon, l'ajouter dans le php.ini:
401 1 Etienne Pallier
extension=intl.so
402 1 Etienne Pallier
</pre>
403 1 Etienne Pallier
Vérifier qu'elle est bien installée :
404 1 Etienne Pallier
<pre>
405 1 Etienne Pallier
$ php -m| grep intl
406 1 Etienne Pallier
(ça devrait retourner "intl")
407 1 Etienne Pallier
408 1 Etienne Pallier
Sinon, l'installer:
409 1 Etienne Pallier
410 1 Etienne Pallier
Ubuntu:
411 1 Etienne Pallier
$ sudo apt-get install php5-intl
412 1 Etienne Pallier
413 1 Etienne Pallier
CentOS:
414 1 Etienne Pallier
$ sudo yum install php-intl
415 1 Etienne Pallier
416 273 Etienne Pallier
MacOS avec brew:
417 275 Etienne Pallier
Installer l'extension 
418 273 Etienne Pallier
Les extensions sont recherchées dans /usr/local/Cellar/php72/7.2.0_11/lib/php/
419 273 Etienne Pallier
$ brew install php72-intl
420 1 Etienne Pallier
Fichier créé /usr/local/etc/php/7.2/conf.d/ext-intl.ini donne chemin de l'extension : /usr/local/opt/php72-intl/intl.so
421 274 Etienne Pallier
(Pour info, le fichier php.ini est dans /usr/local/etc/php/7.2/php.ini, mais c'est inutile de le modifier)
422 273 Etienne Pallier
423 273 Etienne Pallier
424 1 Etienne Pallier
MacOS avec XAMPP: 
425 1 Etienne Pallier
cf http://stackoverflow.com/questions/27886117/php-intl-installation-on-xampp
426 1 Etienne Pallier
Il se pourrait que vous ayez besoin de ré-exécuter l'installeur de XAMPP afin de cocher l'option "XAMPP Developer Files", si vous ne l'aviez pas déjà fait lors de votre installation de XAMPP
427 1 Etienne Pallier
cd /Applications/XAMPP/bin
428 1 Etienne Pallier
sudo ./pecl install intl
429 1 Etienne Pallier
(Vérifier qu'elle a bien été installée dans /Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20131226/)
430 1 Etienne Pallier
Attention, cette méthode semble ne plus fonctionner avec XAMPP 7 (qui inclut php 7).
431 1 Etienne Pallier
Sur Mac, j'ai dû installer l'extension intl via macport :
432 1 Etienne Pallier
sudo port install php71-intl
433 1 Etienne Pallier
Puis copie de cette extension dans le dossier de XAMPP :
434 1 Etienne Pallier
sudo cp /opt/local/lib/php71/extensions/no-debug-non-zts-20160303/intl.so XAMPP_716-0/xamppfiles/lib/php/extensions/no-debug-non-zts-20160303/
435 1 Etienne Pallier
Redémarrer Apache
436 1 Etienne Pallier
</pre>
437 273 Etienne Pallier
438 273 Etienne Pallier
439 1 Etienne Pallier
440 1 Etienne Pallier
 * *Dossier de log (optionnel)*:
441 1 Etienne Pallier
Dans le fichier /etc/php5/apache2/php.ini (ou /etc/php.ini sur CentOS), vous devez positionner votre répertoire de log :
442 1 Etienne Pallier
<pre>
443 1 Etienne Pallier
error_reporting = E_ALL
444 1 Etienne Pallier
error_log = /var/log/php/error.log
445 1 Etienne Pallier
max_input_time = 30
446 1 Etienne Pallier
</pre>
447 1 Etienne Pallier
Ensuite il vous faudra peut-être créer le dossier en question et donner à Apache les droits sur ce dossier (www-data pour Ubuntu, apache pour CentOS...):
448 1 Etienne Pallier
<pre>
449 1 Etienne Pallier
sudo mkdir /var/log/php
450 1 Etienne Pallier
sudo chown www-data /var/log/php
451 1 Etienne Pallier
</pre>
452 269 Etienne Pallier
453 271 Etienne Pallier
 * *Recharger la configuration du serveur Web*
454 270 Etienne Pallier
<pre>
455 270 Etienne Pallier
$ sudo service httpd reload
456 270 Etienne Pallier
(CentOS: $ sudo systemctl reload httpd)
457 276 Etienne Pallier
(MacOS: $ sudo apachectl restart)
458 270 Etienne Pallier
</pre>
459 269 Etienne Pallier
460 269 Etienne Pallier
461 1 Etienne Pallier
462 272 Etienne Pallier
* *OPTIONNEL - +Configuration du serveur web+ (Apache)*
463 270 Etienne Pallier
464 269 Etienne Pallier
Ces configurations sont nécessaires sur Ubuntu, mais pas forcément sur CentOS/Fedora :
465 269 Etienne Pallier
466 269 Etienne Pallier
 * KeepAlive:
467 269 Etienne Pallier
Editer le fichier de configuration du serveur web (/etc/apache2/apache2.conf sur Ubuntu, /etc/httpd/conf/http.conf sur CentOS/Fedora) et mettre le paramêtre "KeepAlive" à "Off" :
468 269 Etienne Pallier
<pre>
469 269 Etienne Pallier
KeepAlive Off
470 269 Etienne Pallier
</pre>
471 269 Etienne Pallier
472 269 Etienne Pallier
 * event et prefork modules:
473 269 Etienne Pallier
Par défaut Apache utilise un "event module" et PHP un "prefork module".
474 269 Etienne Pallier
Il faut désactiver le 1er module et activer le second :
475 269 Etienne Pallier
<pre>
476 269 Etienne Pallier
sudo a2dismod mpm_event
477 269 Etienne Pallier
sudo a2enmod mpm_prefork
478 269 Etienne Pallier
</pre>
479 269 Etienne Pallier
480 269 Etienne Pallier
 * Activer le mode rewrite de Apache:
481 269 Etienne Pallier
<pre>
482 269 Etienne Pallier
sudo a2enmod rewrite
483 269 Etienne Pallier
</pre>
484 269 Etienne Pallier
485 269 Etienne Pallier
 * Autoriser les fichiers .htaccess sur le site :
486 269 Etienne Pallier
(cf http://book.cakephp.org/3.0/fr/installation.html#url-rewriting)
487 269 Etienne Pallier
Allez dans le fichier /etc/apache2/apache2.conf (ou httpd.conf sur CentOS), vérifier que la propriété 'AllowOverride' soit à la valeur 'All' pour le dossier Labinvent : 
488 269 Etienne Pallier
<pre>
489 269 Etienne Pallier
<Directory /var/www/html/labinvent>
490 269 Etienne Pallier
  Options FollowSymLinks
491 269 Etienne Pallier
  AllowOverride All
492 269 Etienne Pallier
</Directory>
493 269 Etienne Pallier
</pre>
494 269 Etienne Pallier
NB : Si Labinvent n'est pas dans le repertoire des sites webs :
495 269 Etienne Pallier
- faire un lien dans le dossier web racine de Apache (/var/www/html/) vers le repertoire d'installation de Labinvent
496 269 Etienne Pallier
- sinon, vous pouvez tenter de mettre son chemin absolu :
497 269 Etienne Pallier
<pre>
498 269 Etienne Pallier
<Directory /chemin/abosolu/vers/labinvent>
499 269 Etienne Pallier
</pre>
500 269 Etienne Pallier
NB: Une autre solution plus "propre" consisterait à créer un virtual host dédié pour Labinvent, sur un port 808x (8081, 8082, ...)
501 269 Etienne Pallier
(TODO: mettre ici un exemple de config)
502 1 Etienne Pallier
503 271 Etienne Pallier
 * *Recharger la configuration du serveur Web*
504 83 Etienne Pallier
<pre>
505 82 Etienne Pallier
$ sudo service httpd reload
506 146 Etienne Pallier
(CentOS: $ sudo systemctl reload httpd)
507 276 Etienne Pallier
(MacOS: $ sudo apachectl restart)
508 83 Etienne Pallier
</pre>
509 82 Etienne Pallier
510 149 Etienne Pallier
h3. B/ Installation du logiciel LabInvent
511 1 Etienne Pallier
512 150 Etienne Pallier
<pre>
513 26 Etienne Pallier
cd install/
514 26 Etienne Pallier
./installation.sh
515 150 Etienne Pallier
</pre>
516 150 Etienne Pallier
517 265 Etienne Pallier
Attention: sur Mac, utiliser installation-macos.sh au lieu de installation.sh
518 265 Etienne Pallier
519 1 Etienne Pallier
(vous pourriez éventuellement le faire en tant qu'administrateur "root", mais ça n'est pas nécessaire, le script fera quelques petits "sudo" seulement au besoin).
520 1 Etienne Pallier
(Conseil : à la plupart des questions, laissez les réponses par défaut)
521 23 Etienne Pallier
522 96 Etienne Pallier
---
523 96 Etienne Pallier
524 161 Etienne Pallier
---
525 1 Etienne Pallier
526 161 Etienne Pallier
h3. C/ TESTS
527 161 Etienne Pallier
528 282 Etienne Pallier
* Verifiez que la BD d'inventaire (par défaut "labinvent" sauf si vous lui avez donné un autre nom) à bien été créée (avec phpmyadmin par exemple).
529 161 Etienne Pallier
530 219 Etienne Pallier
* Verifiez que les tests passent :
531 223 Etienne Pallier
placez-vous à la racine du projet, exécutez la commande 'vendor/bin/phpunit'
532 219 Etienne Pallier
Si la commande ne fonctionne pas, essayez 'vendor/phpunit/phpunit/phpunit'.
533 219 Etienne Pallier
534 244 Etienne Pallier
* Performance :
535 244 Etienne Pallier
536 277 Etienne Pallier
 * Sur Mac OS 10.13 avec brew :
537 277 Etienne Pallier
538 277 Etienne Pallier
  * En php7.2, les 94 tests s'exécutent en 49 secondes...
539 277 Etienne Pallier
540 277 Etienne Pallier
 * Sur Mac OS 10.12 avec XAMPP :
541 245 Etienne Pallier
542 245 Etienne Pallier
  * En php5.6, les 53 tests s'exécutent en 25-26 secondes
543 247 Etienne Pallier
  * En php7.1, les 53 tests s'exécutent en 9-10 secondes, soit 2 à 3 fois plus vite !!! (vive Php 7)
544 245 Etienne Pallier
545 255 Etienne Pallier
 * Sur ScientificLinux (CentOS) 6.4 (serveur de test pweb) :
546 245 Etienne Pallier
547 245 Etienne Pallier
  * En php5.6, les 53 tests s'exécutent en 20 secondes
548 252 Etienne Pallier
  * En php7.1, les 53 tests s'exécutent en 16-17 secondes, soit pas beaucoup plus rapide, bizarre...
549 254 Etienne Pallier
550 254 Etienne Pallier
 * Sur CentOS 6.4 (serveur de production), dans une VM :
551 254 Etienne Pallier
  * En php5.6 avec phpunit 5.7, les 53 tests s'exécutent en 47 secondes !!!
552 254 Etienne Pallier
  * En php7.1, les 53 tests s'exécutent en ??? (Php7, c'est pour très bientôt...)
553 244 Etienne Pallier
 
554 219 Etienne Pallier
555 219 Etienne Pallier
PS : Pour n'exécuter que certains tests :
556 219 Etienne Pallier
557 1 Etienne Pallier
<pre>
558 222 Etienne Pallier
Marquer le(s) test voulu avec une annotation :
559 219 Etienne Pallier
/**
560 219 Etienne Pallier
 * @group failing
561 219 Etienne Pallier
 * Tests the api edit form
562 219 Etienne Pallier
 */
563 1 Etienne Pallier
public function testEditAction()
564 219 Etienne Pallier
565 222 Etienne Pallier
Ensuite, exécuter avec : phpunit --group failing
566 219 Etienne Pallier
567 219 Etienne Pallier
Attention, ne pas oublier d'enlever ces annotations avant le commit !
568 219 Etienne Pallier
569 219 Etienne Pallier
On peut attribuer plusieurs groupes à un test :
570 219 Etienne Pallier
/**
571 219 Etienne Pallier
  * @group failing
572 219 Etienne Pallier
  * @group bug2204 
573 219 Etienne Pallier
  */
574 1 Etienne Pallier
public function testSomethingElse()
575 221 Etienne Pallier
</pre>
576 161 Etienne Pallier
577 161 Etienne Pallier
578 161 Etienne Pallier
---
579 161 Etienne Pallier
580 161 Etienne Pallier
h3. D/ CONFIGURATION DU SITE WEB
581 161 Etienne Pallier
582 121 Thibaud Ajas
Le site est maintenant installé, il vous faut maintenant le configurer.
583 281 Etienne Pallier
Si vous voulez le conserver, le script de creation de la BD est database/build.sql (s'il existait déjà avant votre installation, il a été sauvegardé dans build.sql.ORIG).
584 278 Etienne Pallier
Votre fichier de configuration est config/app.php (s'il existait déjà avant votre installation, il a été sauvegardé dans app.php.ORIG).
585 121 Thibaud Ajas
586 87 Etienne Pallier
* Tester l'accès web à l'application : http://localhost/labinvent/
587 98 Etienne Pallier
Vous devriez arriver par défaut sur une page correspondant au mode install, elle vous indique la bonne configuration de l'application et de ses dépendances.
588 280 Etienne Pallier
Vérifier simplement que TOUS LES POINTS SONT AU VERT.
589 98 Etienne Pallier
(La page affichera un message si l'URL-Rewriting ne fonctionne pas correctement).
590 98 Etienne Pallier
Si tout est au vert, passez à l'étape suivante (D/ Configuration de l'application).
591 280 Etienne Pallier
Sinon (il y a des points rouges), reportez-vous ci-dessous à l'extension qui pose problème, pour l'installer ou la configurer:
592 1 Etienne Pallier
593 89 Etienne Pallier
* Extension PHP "mbstring" et librairie "zlib"
594 90 Etienne Pallier
La collection de librairies est normalement déja installée avec PHP en tant que dépendance, sinon faire :
595 90 Etienne Pallier
<pre>
596 90 Etienne Pallier
sudo apt-get install libapache2-mod-php5
597 90 Etienne Pallier
</pre>
598 6 Alexandre Cases
=> Redémarrer votre serveur et vérifier que la ligne correspondant à l'extension soit passée au vert.
599 6 Alexandre Cases
600 90 Etienne Pallier
* Librairie PHP "php-gd" 
601 90 Etienne Pallier
<pre>
602 90 Etienne Pallier
sudo apt-get install php5-gd
603 90 Etienne Pallier
</pre>
604 1 Etienne Pallier
=> Redémarrer votre serveur et vérifier que la ligne correspondant à l'extension soit passée au vert.
605 1 Etienne Pallier
Si ce n'est toujours pas le cas, aller dans le fichier /etc/php5/apache2/php.ini :
606 6 Alexandre Cases
Vérifier que la ligne suivante est présente et décommentée (absence de ";" devant la ligne) sinon il faut la rajouter : 
607 6 Alexandre Cases
<pre>
608 6 Alexandre Cases
extension=gd.so
609 90 Etienne Pallier
</pre>
610 1 Etienne Pallier
611 1 Etienne Pallier
* URL-Rewriting
612 1 Etienne Pallier
Il est possible que le mode rewrite ne fonctionne pas correctement si les fichiers .htaccess dans la racine et dans webroot disparaissent. Sur certains systèmes les fichiers commençant par un point peuvent disparaitre lors d'une copie. Si c'est le cas pour vous, voici le contenu de ces deux fichiers et leurs emplacements : 
613 1 Etienne Pallier
<pre>
614 7 Alexandre Cases
Fichier ./.htaccess : 
615 1 Etienne Pallier
<IfModule mod_rewrite.c>
616 1 Etienne Pallier
    RewriteEngine on
617 1 Etienne Pallier
    RewriteRule    ^$    webroot/    [L]
618 1 Etienne Pallier
    RewriteRule    (.*) webroot/$1    [L]
619 1 Etienne Pallier
</IfModule>
620 1 Etienne Pallier
621 1 Etienne Pallier
Fichier ./webroot/.htaccess : 
622 1 Etienne Pallier
<IfModule mod_rewrite.c>
623 1 Etienne Pallier
    RewriteEngine On
624 1 Etienne Pallier
    RewriteCond %{REQUEST_FILENAME} !-f
625 1 Etienne Pallier
    RewriteRule ^ index.php [L]
626 27 Etienne Pallier
</IfModule>
627 280 Etienne Pallier
</pre>
628 280 Etienne Pallier
629 280 Etienne Pallier
* Une fois que tout est au vert, redémarrer votre serveur Web et vérifier que la ligne correspondant à l'extension manquante soit passée au vert.
630 280 Etienne Pallier
<pre>
631 280 Etienne Pallier
sudo service apache2 restart
632 280 Etienne Pallier
(ou simplement le recharger: utiliser "reload" au lieu de "restart")
633 32 Etienne Pallier
</pre>
634 94 Etienne Pallier
635 1 Etienne Pallier
636 95 Etienne Pallier
---
637 95 Etienne Pallier
638 162 Etienne Pallier
h3. E/ CONFIGURATION DU LOGICIEL D'INVENTAIRE
639 94 Etienne Pallier
640 99 Etienne Pallier
* Depuis la page web de configuration "Configurer votre Labinvent", cliquez sur le lien "Editer la configuration générale" (en bas à gauche) pour configurer le logiciel, puis cliquez sur "Valider".
641 34 Alexandre Cases
642 99 Etienne Pallier
* Maintenant, sortez du "mode installation" en cliquant sur le bouton "Stopper le mode installation"
643 1 Etienne Pallier
644 99 Etienne Pallier
* Allez dans le dossier config à la racine du projet, et ouvrez le fichier config/app.php
645 34 Alexandre Cases
<pre>
646 11 Alexandre Cases
Allez à la ligne 12 :
647 11 Alexandre Cases
'debug' => filter_var(env('DEBUG', true), FILTER_VALIDATE_BOOLEAN),
648 1 Etienne Pallier
649 11 Alexandre Cases
Et remplacer le true par false :
650 11 Alexandre Cases
'debug' => filter_var(env('DEBUG', false), FILTER_VALIDATE_BOOLEAN),
651 11 Alexandre Cases
</pre>
652 1 Etienne Pallier
653 1 Etienne Pallier
* Connectez-vous à l'aide du login utilisateur créé lors de la création de la base, SANS mot de passe (ou bien avec le mot de passe "login")
654 256 Etienne Pallier
NB1 : Les autres comptes utilisateurs que le script d'installation aura créé auront tous le même mot de passe par défaut : "login"
655 256 Etienne Pallier
NB2 : Il y a toujours un utilisateur par défaut en mode "SANS LDAP", il s'agit de l'utilisateur "_fake_ldap_user_" avec le mot de passe "_fake_ldap_user_pass" (il a le profil minimum, c'est à dire "Utilisateur" ; il est utile notamment pour les tests, afin de tester le profil "Utilisateur" accordé par défaut à toute personne du ldap qui n'a pas de privilège particulier)
656 28 Etienne Pallier
657 99 Etienne Pallier
* Si vous n'avez pas configuré l'application avec le mode install
658 14 Alexandre Cases
Dans le menu latéral, cliquez sur le lien "Outils", puis sur "Configuration générale de l'application".
659 99 Etienne Pallier
Sur cette page vous pouvez voir la configuration de votre application (nom, mode, ...) et l'éditer.
660 14 Alexandre Cases
661 99 Etienne Pallier
* Ensuite retournez dans la liste des outils et cliquez sur "Gérer le contenu variable de l'application".
662 21 Alexandre Cases
663 99 Etienne Pallier
* Sur cette page vous aurez accès à toutes les données statiques communes aux matériels (catégories, groupes métier et techniques, types de suivi, ...). Vous pouvez en ajouter, en supprimer ou les éditer..
664 94 Etienne Pallier
665 1 Etienne Pallier
666 95 Etienne Pallier
---
667 94 Etienne Pallier
668 101 Etienne Pallier
h3. F/ Gestion de l'authentification des utilisateurs via un annuaire LDAP
669 43 Etienne Pallier
670 164 Etienne Pallier
Labinvent peut être utilisé avec un annuaire LDAP. Si c'est ce que vous voulez, ceci vous concerne :
671 37 Etienne Pallier
672 100 Etienne Pallier
* Une fois la connexion au LDAP configurée (configuration générale de l'application), toute personne enregistrée dans l'annuaire LDAP peut désormais se connecter au logiciel.
673 44 Etienne Pallier
674 100 Etienne Pallier
* Par défaut, un utilisateur provenant du LDAP a un statut de simple "utilisateur". Pour lui attribuer un rôle supérieur (privilégié), il faut aller dans "Gérer les utilisateurs privilégiés" du menu "Outils" pour l'y ajouter (liste déroulante des utilisateurs du LDAP), en lui attribuant un rôle.
675 44 Etienne Pallier
676 37 Etienne Pallier
---
677 43 Etienne Pallier
678 168 Thibaud Ajas
h3. G/ Configuration de l'envoi des emails
679 168 Thibaud Ajas
680 169 Thibaud Ajas
* En tant que SuperAdministrateur, aller dans "Outils" -> "Configuration générale de l'application", cliquez sur "Editer la configuration" et décocher "Ne pas envoyer les mails de management en local".
681 169 Thibaud Ajas
682 170 Thibaud Ajas
* L'envoi de mail est réalisé grâce à une adresse qu'il faut créer pour labinvent. Le protocole d'envoi est à définir dans app.php selon le serveur choisi. Lors de l'envoi d'un mail il faut utiliser le transport 'dev' en local.
683 169 Thibaud Ajas
684 172 Thibaud Ajas
* Pour changer de mail et de transport, il faut aller dans la section Email/Transport de app.php, et vérifier/adapter a votre convenance le bloc suivant :
685 169 Thibaud Ajas
686 169 Thibaud Ajas
<pre>
687 169 Thibaud Ajas
'EmailTransport' => [
688 169 Thibaud Ajas
    	'default' => [
689 169 Thibaud Ajas
            'className' => 'Mail',
690 169 Thibaud Ajas
            // The following keys are used in SMTP transports
691 169 Thibaud Ajas
            'host' => 'localhost',
692 169 Thibaud Ajas
            'port' => 25,
693 169 Thibaud Ajas
            'timeout' => 30,
694 169 Thibaud Ajas
            'username' => 'user',
695 169 Thibaud Ajas
            'password' => 'secret',
696 169 Thibaud Ajas
            'client' => null,
697 169 Thibaud Ajas
            'tls' => null,
698 169 Thibaud Ajas
            'url' => env('EMAIL_TRANSPORT_DEFAULT_URL', null),
699 169 Thibaud Ajas
        ],
700 169 Thibaud Ajas
...
701 169 Thibaud Ajas
</pre>
702 169 Thibaud Ajas
703 168 Thibaud Ajas
---
704 168 Thibaud Ajas
705 198 Etienne Pallier
h3. H/ Etiquettes (optionnel)
706 180 Etienne Pallier
707 191 Etienne Pallier
!etiqueteuse.jpg!
708 191 Etienne Pallier
709 195 Etienne Pallier
Si la fonction d'impression d'étiquettes (ruban) de LabInvent vous intéresse, voici ce que vous devez faire
710 195 Etienne Pallier
711 1 Etienne Pallier
712 205 Etienne Pallier
*1) Etiqueteuse (environ 50€ HT)*
713 1 Etienne Pallier
714 202 Etienne Pallier
Vous devez acheter une étiqueteuse (titreuse) "Imprimante d'étiquettes - Dymo - LabelManager PnP - USB" et la brancher sur le port USB d'un poste (client) Windows ou Mac (pas de driver pour linux).
715 193 Etienne Pallier
716 187 Etienne Pallier
"Lien chez Lyreco (Réf : 4.976.543)":https://www.lyreco.com/webshop/FRBE/product-product-000000000004976543.html
717 183 Etienne Pallier
718 188 Etienne Pallier
"Lien chez OfficeDepot (Réf : 5375844)":http://www.officedepot.fr/a/pb/Imprimante-d-etiquettes-Dymo-PnP/pr=&id=5375844/
719 183 Etienne Pallier
720 190 Etienne Pallier
"Lien chez le constructeur DYMO (Réf : S0915350)":http://global.dymo.com/frFR/Products/LabelManager_PnP.html
721 190 Etienne Pallier
722 183 Etienne Pallier
<pre>
723 183 Etienne Pallier
    Pas de logiciel ni de pilote à installer. Le logiciel intégré s’ouvre à l’écran, prêt à l’emploi.
724 183 Etienne Pallier
    Garantie 2 ans.
725 183 Etienne Pallier
    Fonctionne avec les rubans D1 6, 9 et 12 mm.
726 183 Etienne Pallier
    Petite et compacte, elle trouve facilement sa place sur un bureau.
727 183 Etienne Pallier
    Batterie lithium-ion fournie, rechargeable par USB - pas d’adaptateur secteur ni de piles.
728 183 Etienne Pallier
    Personnalisez vos étiquettes avec les polices et graphiques de votre ordinateur.
729 183 Etienne Pallier
    Connectez-là à votre PC ou Mac et imprimez instantanément et très facilement des étiquettes professionnelles !
730 183 Etienne Pallier
    Connexion USB à votre PC ou Mac.
731 1 Etienne Pallier
</pre>
732 205 Etienne Pallier
733 205 Etienne Pallier
734 206 Etienne Pallier
*ATTENTION*: Ruban à commander : *D1 en 12mm*
735 1 Etienne Pallier
736 1 Etienne Pallier
737 194 Etienne Pallier
*2) Installation du logiciel DLS*
738 194 Etienne Pallier
739 1 Etienne Pallier
Pour pouvoir utiliser cette étiqueteuse (à ruban) avec le logiciel LabInvent, vous devez installer le logiciel DLS (DYMO LABEL SOFTWARE)
740 1 Etienne Pallier
741 259 Etienne Pallier
La dernière version testée sur MacOSX, Win7, et Win10 avec LabInvent est la v8.6.1 (DLS 8.5.4 aussi testé ok sur Win 7)
742 196 Etienne Pallier
743 213 Etienne Pallier
"Page de téléchargement du logiciel, section - The Latest Software & Drivers for all LabelWriters® and LabelManagers -":http://www.dymo.com/en-US/online-support/dymo-user-guides
744 192 Etienne Pallier
745 208 Etienne Pallier
"Plus de versions (si besoin)":http://www.dymo.com/fr-FR/labelmanager-pnp-label-maker
746 208 Etienne Pallier
747 208 Etienne Pallier
748 194 Etienne Pallier
749 194 Etienne Pallier
*3) Activation de la fonction d'impression sur LabInvent*
750 193 Etienne Pallier
751 201 Etienne Pallier
Enfin, pour pouvoir étiqueter vos matériels depuis LabInvent, vous devez cocher "Imprimante disponible" dans la section "Divers" de la page de configuration générale (Outils/Configuration générale de l'application).
752 183 Etienne Pallier
753 183 Etienne Pallier
754 207 Etienne Pallier
*4) Adaptation des étiquettes au besoin du laboratoire*
755 207 Etienne Pallier
*<TODO>*
756 1 Etienne Pallier
757 207 Etienne Pallier
758 207 Etienne Pallier
*5) Etiqueteuses installées sur le labo (IRAP ONLY)*
759 203 Etienne Pallier
760 203 Etienne Pallier
761 203 Etienne Pallier
Dans l'idéal, il faudrait une étiqueteuse par gestionnaire financier :
762 203 Etienne Pallier
763 203 Etienne Pallier
SUR LE SITE ROCHE :
764 203 Etienne Pallier
765 203 Etienne Pallier
* Jean-Louis Lefort (site Roche 101) ==> installée le 1/12/14 (pc8008, Windows 7 Pro 2009 SP1, version soft DLS 8.5.1)
766 203 Etienne Pallier
    Aucun problème, installée sur lettre G: - laissé 1 ruban D1 12mm de 7m en plus du ruban installé (3m seulement)
767 203 Etienne Pallier
    Pour info, ancienne installation faite sur son pc XP (23/5/14) (version soft DLS 8.5.1) Problème : si le logiciel DLS (Dymo Label Soft) est déjà ouvert, ça provoque une erreur Windows. Il faut donc refermer le logiciel avant de demander l'impression d'un ruban (c'est peut-être dû à cette version 8.5.1, la dernière version sortie, car sur l'ancienne version, je ne crois pas qu'il y ait cette erreur sur XP)
768 203 Etienne Pallier
* Dorine Roma (site Roche 102) ==> installée le 1/12/14 (pc8006 Optiplex 7010, Windows 7 Pro 2009 SP1, version soft DLS 8.5.1)
769 203 Etienne Pallier
    Installée sur lettre G: - ruban installé = 3m seulement
770 203 Etienne Pallier
* Carole Lecinana (site Roche 104) ==> installée le 1/12/14 (pc8005 Optiplex 7010, Windows 7 Pro 2009 SP1, version soft DLS 8.5.1)
771 203 Etienne Pallier
    Installée sur lettre G: - ruban installé = 3m seulement
772 203 Etienne Pallier
* Marjorie Cloup (site Roche 104) ==> installée le 1/12/14 (pc8007 Optiplex 7010, Windows 7 Pro 2009 SP1, version soft DLS 8.5.1)
773 203 Etienne Pallier
    Installée sur lettre G: - ruban installé = 3m seulement
774 203 Etienne Pallier
775 203 Etienne Pallier
776 203 Etienne Pallier
SUR LE SITE BELIN :
777 203 Etienne Pallier
778 204 Etienne Pallier
* Carole Gaiti (site Belin 61) ==> installée le 24/6/14 (pc Win 7 - version soft DLS 8.5.1)
779 204 Etienne Pallier
* Dolores Granat (site Belin 80bis) ==> A FAIRE
780 204 Etienne Pallier
* Isabelle Moro (site Belin B064) ==> A FAIRE
781 204 Etienne Pallier
* De plus, Etienne Pallier (site Roche 63, Mac OS 10.7) et Elodie Bourrec (site Belin 59, Win 7) sont tous les deux équipés d'une étiqueteuse
782 204 Etienne Pallier
* Enfin, l'étiqueteuse (ancienne) de Gilbert Rouaix (site Roche 19, Win XP) semble compatible puisqu'on a réussi à imprimer des étiquettes dessus.
783 203 Etienne Pallier
784 203 Etienne Pallier
785 183 Etienne Pallier
Au total, ça fait donc 9. 
786 1 Etienne Pallier
787 181 Etienne Pallier
---
788 180 Etienne Pallier
789 215 Etienne Pallier
h2. UTILISATION du logiciel
790 110 Etienne Pallier
791 165 Etienne Pallier
Depuis le site web de Labinvent, cliquez sur "Accueil", et ouvrez le "Guide d'utilisation" (pdf)
792 165 Etienne Pallier
793 165 Etienne Pallier
(Vous pouvez aussi aller à la page wiki "Utilisation" [[Documentation_utilisateurs]])
794 110 Etienne Pallier
795 112 Etienne Pallier
---
796 112 Etienne Pallier
797 1 Etienne Pallier
h2. MISE A JOUR du logiciel 
798 43 Etienne Pallier
799 235 Etienne Pallier
*1) Mettre à jour le code*
800 45 Etienne Pallier
801 43 Etienne Pallier
Aller sur la racine du projet et exécuter :
802 1 Etienne Pallier
803 43 Etienne Pallier
<pre>
804 1 Etienne Pallier
$ git pull
805 57 Alexandre Cases
</pre>
806 57 Alexandre Cases
807 235 Etienne Pallier
*2) [Seulement si nécessaire] Mettre à jour la base de données*
808 44 Etienne Pallier
809 56 Alexandre Cases
Aller dans le dossier database/update/
810 44 Etienne Pallier
811 56 Alexandre Cases
*Exécuter tous les scripts qui sont d'une date postérieure à la date de votre version du logiciel* (sur la page d'accueil en bas à droite).
812 1 Etienne Pallier
Attention, il faut les exécuter *dans l'ordre chronologique*, un par un
813 1 Etienne Pallier
814 44 Etienne Pallier
Exemple:
815 54 Etienne Pallier
<pre>
816 57 Alexandre Cases
Placez vous dans ./database/update et éxécutez les commandes correspondantes : 
817 58 Alexandre Cases
818 57 Alexandre Cases
./db-update-2016-06-03.sh
819 57 Alexandre Cases
820 57 Alexandre Cases
./db-update-2016-06-06.sh
821 57 Alexandre Cases
822 57 Alexandre Cases
./db-update-2016-06-07.sh
823 57 Alexandre Cases
</pre>
824 54 Etienne Pallier
825 43 Etienne Pallier
826 56 Alexandre Cases
827 41 Etienne Pallier
Remarques : 
828 103 Etienne Pallier
* Le fichier README-LABINVENT.md contient la liste des mises à jour.
829 55 Etienne Pallier
830 235 Etienne Pallier
*3) Upgrade du framework CakePhp*
831 234 Etienne Pallier
832 234 Etienne Pallier
<pre>
833 234 Etienne Pallier
sudo php composer.phar update
834 1 Etienne Pallier
</pre>
835 1 Etienne Pallier
836 236 Etienne Pallier
NB: si phpunit ne se met pas à jour, ne pas hésiter à supprimer tout le dossier vendor/phpunit/ avant de lancer cette commande
837 234 Etienne Pallier
838 234 Etienne Pallier
839 235 Etienne Pallier
*4) Upgrade de Php => passage à Php7*
840 234 Etienne Pallier
841 234 Etienne Pallier
* Ubuntu:
842 234 Etienne Pallier
<pre>
843 234 Etienne Pallier
sudo apt-get install php7.0 php-gettext php7.0-mbstring libapache2-mod-php7.0 php7.0-mysql php7.0-mcrypt php7.0-intl
844 234 Etienne Pallier
sudo a2dismod php5.6
845 234 Etienne Pallier
sudo a2enmod php7.0
846 234 Etienne Pallier
sudo service apache2 restart
847 234 Etienne Pallier
sudo update-alternatives --set php /usr/bin/php7.0
848 234 Etienne Pallier
sudo service apache2 restart
849 234 Etienne Pallier
</pre>
850 234 Etienne Pallier
851 234 Etienne Pallier
852 1 Etienne Pallier
---
853 55 Etienne Pallier
854 55 Etienne Pallier
h2. MODE PANIQUE
855 55 Etienne Pallier
856 55 Etienne Pallier
Vous avez changé la configuration du LDAP et elle ne fonctionne plus !
857 55 Etienne Pallier
Du coup, vous ne pouvez plus vous connecter au site !
858 106 Etienne Pallier
Pas de panique, le mode panique est là !
859 106 Etienne Pallier
Il suffit de repasser le logiciel en mode INSTALL pour pouvoir y accéder sans connexion.
860 105 Etienne Pallier
Pour cela, exécuter le script mode_panique.sh qui se trouve dans le dossier database/ :
861 1 Etienne Pallier
862 1 Etienne Pallier
<pre>
863 105 Etienne Pallier
./mode_panique.sh
864 1 Etienne Pallier
</pre>
865 1 Etienne Pallier
866 107 Etienne Pallier
(
867 108 Etienne Pallier
_Si vous préférez, vous pouvez aussi exécuter manuellement la requête sql set_mode_install.sql qui se trouve dans le même dossier:_
868 105 Etienne Pallier
mysql -u login -p labinvent2 < set_mode_install.sql
869 1 Etienne Pallier
_Remplacer 'login' par le 'username' défini dans votre fichier config/app.php dans la section Datasources (default)_
870 1 Etienne Pallier
_Remplacer 'labinvent2' par le 'database' défini au même endroit_
871 107 Etienne Pallier
_Ou bien exécuter cette requête depuis phpmyadmin_
872 105 Etienne Pallier
)