Wiki

Version 39 (Etienne Pallier, 04/13/2016 06:03 pm)

1 1 Etienne Pallier
h1. INVENTIRAP WIKI
2 1 Etienne Pallier
3 16 Etienne Pallier
{{toc}}
4 13 Etienne Pallier
5 26 Etienne Pallier
6 35 Etienne Pallier
7 26 Etienne Pallier
8 36 Etienne Pallier
---
9 26 Etienne Pallier
10 36 Etienne Pallier
h2. ROADMAP
11 1 Etienne Pallier
12 38 Etienne Pallier
Version en cours (1.3) : https://projects.irap.omp.eu/projects/inventirap/roadmap#version_1.3
13 37 Etienne Pallier
14 36 Etienne Pallier
Carte routière du projet : https://projects.irap.omp.eu/projects/inventirap/roadmap
15 36 Etienne Pallier
16 39 Etienne Pallier
---
17 39 Etienne Pallier
18 39 Etienne Pallier
h2. %{margin-left:0px; font-weight:bold; font-size:25px;  display:block; color:red;}I - GET THE SOFTWARE%
19 39 Etienne Pallier
20 39 Etienne Pallier
h3. Authenticate to https://gitlab.irap.omp.eu/epallier/labinvent
21 39 Etienne Pallier
22 39 Etienne Pallier
In order to get this software, you must first authenticate on the IRAP gitlab.
23 39 Etienne Pallier
24 39 Etienne Pallier
For this, just go to https://gitlab.irap.omp.eu/epallier/labinvent
25 39 Etienne Pallier
and either sign in with your LDAP account (if you are from IRAP),
26 39 Etienne Pallier
or register via the "Sign up" form.
27 39 Etienne Pallier
28 39 Etienne Pallier
Then, confirm your registration by answering an email sent by gitlab,
29 39 Etienne Pallier
and wait for the "SI" to authorize your registration.
30 39 Etienne Pallier
31 39 Etienne Pallier
32 39 Etienne Pallier
33 39 Etienne Pallier
h3. Software structure
34 39 Etienne Pallier
35 39 Etienne Pallier
Once you have fetched the project, you should obtain AT LEAST this structure:
36 39 Etienne Pallier
37 39 Etienne Pallier
<pre>
38 39 Etienne Pallier
39 39 Etienne Pallier
labinvent/
40 39 Etienne Pallier
├── doc/
41 39 Etienne Pallier
├── install/
42 39 Etienne Pallier
│   └── REQUIREMENTS.txt
43 39 Etienne Pallier
│   └── INSTALLATION.txt
44 39 Etienne Pallier
├── src/
45 39 Etienne Pallier
├── test/
46 39 Etienne Pallier
47 39 Etienne Pallier
48 39 Etienne Pallier
49 39 Etienne Pallier
</pre>
50 39 Etienne Pallier
51 39 Etienne Pallier
h3. Browse the code (from gitlab)
52 39 Etienne Pallier
53 39 Etienne Pallier
https://gitlab.irap.omp.eu/epallier/labinvent/tree/master
54 39 Etienne Pallier
55 39 Etienne Pallier
h3. Download it (static version, not synchronized)
56 39 Etienne Pallier
57 39 Etienne Pallier
You can download the current version of the software.
58 39 Etienne Pallier
59 39 Etienne Pallier
Go to https://gitlab.irap.omp.eu/epallier/labinvent/tree/master
60 39 Etienne Pallier
61 39 Etienne Pallier
Click on "Download zip" on the up right hand corner.
62 39 Etienne Pallier
63 39 Etienne Pallier
Double-click on it to unzip it.
64 39 Etienne Pallier
65 39 Etienne Pallier
You should get a "labinvent.git" folder.
66 39 Etienne Pallier
67 39 Etienne Pallier
In this documentation, this software folder will be referenced as "labinvent".
68 39 Etienne Pallier
69 39 Etienne Pallier
(you can rename "labinvent.git" as "labinvent" if you want : "mv labinvent.git labinvent")
70 39 Etienne Pallier
71 39 Etienne Pallier
h3. Get it from GIT (dynamic version, synchronized)
72 39 Etienne Pallier
73 39 Etienne Pallier
(If you are using Windows, you must first get the git software, see below "Get git for Windows")
74 39 Etienne Pallier
75 39 Etienne Pallier
By getting the software from git, you will get a dynamically synchronized version,
76 39 Etienne Pallier
which means that you will be able to update your version as soon as a new version is available
77 39 Etienne Pallier
(with the command : "git pull").
78 39 Etienne Pallier
79 39 Etienne Pallier
* From Eclipse : See below, section "NOTES FOR ECLIPSE USERS"
80 39 Etienne Pallier
81 39 Etienne Pallier
* From the terminal
82 39 Etienne Pallier
83 39 Etienne Pallier
<pre>
84 39 Etienne Pallier
git clone https://gitlab.irap.omp.eu/epallier/labinvent.git labinvent
85 39 Etienne Pallier
</pre>
86 39 Etienne Pallier
87 39 Etienne Pallier
_(or also : git clone git@gitlab.irap.omp.eu:epallier/labinvent.git labinvent)_
88 39 Etienne Pallier
89 39 Etienne Pallier
If you ever get this error message :
90 39 Etienne Pallier
<pre>
91 39 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.
92 39 Etienne Pallier
</pre>
93 39 Etienne Pallier
94 39 Etienne Pallier
Then, type this command (and then run again the "git clone" command):
95 39 Etienne Pallier
<pre>
96 39 Etienne Pallier
$ git config --global http.sslVerify false
97 39 Etienne Pallier
98 39 Etienne Pallier
Then check that your config is ok:
99 39 Etienne Pallier
100 39 Etienne Pallier
$ cat ~/.gitconfig 
101 39 Etienne Pallier
[user]
102 39 Etienne Pallier
	name = Etienne Pallier
103 39 Etienne Pallier
	email = epallier@irap.omp.eu
104 39 Etienne Pallier
[http]
105 39 Etienne Pallier
	sslVerify = false
106 39 Etienne Pallier
[push]
107 39 Etienne Pallier
	default = simple
108 39 Etienne Pallier
</pre>
109 39 Etienne Pallier
110 39 Etienne Pallier
111 39 Etienne Pallier
(Also, the first time you get the project, git will ask you for a login and password)
112 39 Etienne Pallier
113 39 Etienne Pallier
This creates a labinvent/ folder containing the project (with a .git/ subfolder for synchronization with the git repository)
114 39 Etienne Pallier
115 39 Etienne Pallier
116 39 Etienne Pallier
h4. (Windows only) : Get git for Windows
117 39 Etienne Pallier
118 39 Etienne Pallier
 * Download git at https://git-scm.com/download/win
119 39 Etienne Pallier
 * Run setup (keep default configurations)
120 39 Etienne Pallier
 * Once installed, open cmd
121 39 Etienne Pallier
<pre>
122 39 Etienne Pallier
$ git config --global http.sslVerify false
123 39 Etienne Pallier
</pre>
124 39 Etienne Pallier
125 39 Etienne Pallier
You can now use your git from the cmd or the graphic client !
126 36 Etienne Pallier
127 36 Etienne Pallier
---
128 36 Etienne Pallier
129 36 Etienne Pallier
h2. INSTALLATION DU LOGICIEL (HOWTO)
130 18 Etienne Pallier
131 18 Etienne Pallier
132 12 Etienne Pallier
(Pour les developpeurs avec Eclipse, voir aussi le document install/manual_install/INSTALLATION_MANUELLE_mode_expert.txt)
133 12 Etienne Pallier
(Une fois l'installation terminee, les developpeurs devraient aussi lire le document docs/HOWTO.txt) 
134 12 Etienne Pallier
135 19 Etienne Pallier
LabInvent est un logiciel multi-plateformes (Linux, Mac OS X, Windows), il nécessite les services suivants :
136 12 Etienne Pallier
- serveur web (Apache)
137 12 Etienne Pallier
- serveur de base de données (Mysql)
138 12 Etienne Pallier
- interpréteur Php 5.3+ (minimum)
139 12 Etienne Pallier
140 12 Etienne Pallier
Il est aussi conseillé d'avoir un "phpmyadmin" installé pour pouvoir gérer manuellement la base de données
141 12 Etienne Pallier
142 12 Etienne Pallier
Il a été testé avec les configurations suivantes :
143 12 Etienne Pallier
- OS : CentOS 6.2 et 6.6, Mac OS 10.7, Windows 7
144 12 Etienne Pallier
- PHP : 5.3, 5.4, et 5.6
145 12 Etienne Pallier
- Mysql : 5.1, 5.6
146 12 Etienne Pallier
- Apache : 2.2.14, 2.2.15, et 2.4.10
147 12 Etienne Pallier
148 12 Etienne Pallier
Le projet occupe un espace d'environ 190 Mo (environ 370 Mo si versionné avec svn).
149 12 Etienne Pallier
150 12 Etienne Pallier
ATTENTION, pré-requis : 
151 12 Etienne Pallier
1) Apache rewrite activé 
152 12 Etienne Pallier
Le module rewrite d'apache doit etre chargé et actif. 
153 12 Etienne Pallier
Pour verifier le chargement, phpinfo affiche la liste des modules d'apache pris en compte. 
154 12 Etienne Pallier
2) Le projet necessite la librairie gd (utilisee par php), sans quoi vous aurez une erreur (fatale) 
155 12 Etienne Pallier
lors de la visualisation de la fiche d'un materiel (qui contient l'image d'un QRCode). 
156 12 Etienne Pallier
(Pour info, c'est la librairie phpqrcode, dans cakephp/app/Vendor, qui génère le QRCode et donc utilise gd, par exemple pour appeler des fonctions telles que ImageCreate...)
157 1 Etienne Pallier
Il faut donc vérifier que gd et php-gd sont installés :
158 31 Etienne Pallier
- gd => on l'installe avec "yum install gd" sur CentOS
159 12 Etienne Pallier
- php-gd doit etre installé avec la bonne version, c'est à dire celle du php que vous utilisez 
160 31 Etienne Pallier
(par exemple, si php 5.4, installer php-gd version 5.4) => on l'installe avec "yum install php-gd" sur CentOS 
161 12 Etienne Pallier
(Pour info, la librairie phpqrcode necessite aussi la librairie zlib qui offre les fonctions gzcompress, gzuncompress, etc.)
162 12 Etienne Pallier
163 21 Etienne Pallier
164 1 Etienne Pallier
-----------------
165 1 Etienne Pallier
166 23 Etienne Pallier
h3. INSTALLATION
167 21 Etienne Pallier
168 21 Etienne Pallier
-----------------
169 12 Etienne Pallier
170 12 Etienne Pallier
Pour une MISE A JOUR du logiciel, aller directement à la fin de ce document, a la section MISE A JOUR (UPGRADE)
171 12 Etienne Pallier
172 12 Etienne Pallier
Il y a deux façons de l'installer :
173 12 Etienne Pallier
- Pour une installation manuelle (mode expert) allez dans le sous-repertoire manual_install et lisez le document INSTALLATION_MANUELLE_mode_expert.txt
174 12 Etienne Pallier
- Sinon (méthode conseillée), si vous voulez une installation complètement assistée (avec questions/réponses), poursuivez la lecture de ce document.
175 12 Etienne Pallier
(NB : l'ancien script d'installation fourni à l'origine par Upsilon s'appelle install-upsillon.sh, il n'est plus a jour)
176 12 Etienne Pallier
177 12 Etienne Pallier
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.
178 12 Etienne Pallier
179 12 Etienne Pallier
Pour cela, suivez les instructions ci-dessous.
180 12 Etienne Pallier
181 12 Etienne Pallier
Si ce n'est pas déjà fait, récuperer l'archive labinvent.tgz
182 12 Etienne Pallier
183 12 Etienne Pallier
Placer cette archive à l'endroit voulu, 2 possibilités :
184 28 Etienne Pallier
- (1) soit vous placez cette archive directement dans le repertoire des sites webs du serveur web (par exemple /var/www/html/)
185 28 Etienne Pallier
- (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
186 12 Etienne Pallier
187 12 Etienne Pallier
Dézipper l'archive :
188 12 Etienne Pallier
	tar xvfz labinvent.tgz
189 30 Etienne Pallier
	=> cela crée un dossier labinvent_1-3-xxx/
190 12 Etienne Pallier
	
191 12 Etienne Pallier
Aller dans le repertoire d'installation :
192 12 Etienne Pallier
	cd labinvent/install/
193 12 Etienne Pallier
194 12 Etienne Pallier
Exécuter le script d'installation :
195 12 Etienne Pallier
	./installation.sh
196 12 Etienne Pallier
(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).
197 12 Etienne Pallier
(Conseil : à la plupart des questions, laissez les réponses par défaut)
198 12 Etienne Pallier
(Comme expliqué au début, faites une installation en mode "sans LDAP")
199 12 Etienne Pallier
200 12 Etienne Pallier
201 12 Etienne Pallier
Autoriser les fichiers .htaccess sur le site :
202 12 Etienne Pallier
(cf http://book.cakephp.org/2.0/fr/installation/url-rewriting.html)
203 12 Etienne Pallier
Dans le fichier httpd.conf de Apache, si vous avez deja quelquechose comme ceci, cela suffit :
204 12 Etienne Pallier
<Directory />
205 12 Etienne Pallier
    Options FollowSymLinks
206 12 Etienne Pallier
    AllowOverride All
207 12 Etienne Pallier
#    Order deny,allow
208 12 Etienne Pallier
#    Deny from all
209 12 Etienne Pallier
</Directory>
210 12 Etienne Pallier
Sinon, vous pouvez ajouter ceci, uniquement pour Labinvent :
211 12 Etienne Pallier
<Directory /labinvent>
212 12 Etienne Pallier
    Options FollowSymLinks
213 12 Etienne Pallier
    AllowOverride All
214 12 Etienne Pallier
</Directory>
215 12 Etienne Pallier
NB : si labinvent n'est pas dans le repertoire des sites webs, il faut mettre son chemin absolu a la place de /labinvent :
216 12 Etienne Pallier
<Directory /chemin/abosolu/vers/labinvent>
217 12 Etienne Pallier
218 1 Etienne Pallier
219 1 Etienne Pallier
Tester l'accès web à l'application :
220 1 Etienne Pallier
- (1) Si vous avez placé le logiciel directement dans le repertoire des sites webs du serveur web :
221 31 Etienne Pallier
	=> tester l'url http://localhost/labinvent/cakephp
222 12 Etienne Pallier
- (2) Si vous avez placé le logiciel dans un autre repertoire, par exemple /home/votre_nom/ :
223 12 Etienne Pallier
	Faites un lien nommé "labinvent" dans le repertoire des sites webs du serveur web (par exemple /var/www/html/), qui pointe vers le repertoire "cakephp" du logiciel :
224 31 Etienne Pallier
	=> cd /var/www/html/
225 31 Etienne Pallier
	=> ln -s /home/votre_nom/labinvent/cakephp/ labinvent
226 31 Etienne Pallier
	=> puis, tester l'url http://localhost/labinvent/
227 12 Etienne Pallier
	(Si vous ne voulez ou ne pouvez pas utiliser un lien, vous pouvez plutôt créer un Virtual Host, voir tout à la fin de ce doc, la section "VIRTUAL HOST") 
228 12 Etienne Pallier
229 12 Etienne Pallier
Tester le bon fonctionnement de l'application :
230 12 Etienne Pallier
- Connectez-vous au logiciel (normalement, vous etes le super administrateur) avec votre login (ldap), SANS MOT DE PASSE (grâce au mode "SANS ldap")
231 12 Etienne Pallier
- Vous etes maintenant sur la page d'accueil générale ; vous devez voir votre nom s'afficher :
232 12 Etienne Pallier
"Vous êtes connecté en tant que <vos nom et prénom> et avec le niveau d'authentification Super Administrateur"
233 12 Etienne Pallier
- Cliquez un peu partout pour voir si tout s'affiche bien sans erreur (par exemple, "Liste des matériels" doit afficher 0 matériel...)
234 12 Etienne Pallier
- Cliquez sur Outils, puis "Gérer les utilisateurs privilégiés" : vous devriez voir un seul utilisateur dans la liste, le "super administrateur" (a priori vous)
235 12 Etienne Pallier
- Déconnectez-vous du logiciel 
236 12 Etienne Pallier
237 12 Etienne Pallier
Voila, felicitations, votre installation fonctionne !
238 12 Etienne Pallier
239 12 Etienne Pallier
Pensez à personnaliser les 2 fichiers logos suivants dans cakephp/app/webroot/img/ :
240 12 Etienne Pallier
	- logo_entity.jpg : le logo du laboratoire
241 22 Etienne Pallier
	- logo_software.jpg : le logo du logiciel
242 1 Etienne Pallier
243 1 Etienne Pallier
-----------------
244 23 Etienne Pallier
245 1 Etienne Pallier
h3. PASSAGE EN MODE "AVEC LDAP" (facultatif) :
246 22 Etienne Pallier
247 22 Etienne Pallier
-----------------
248 12 Etienne Pallier
249 12 Etienne Pallier
Maintenant, si vous le désirez, vous pouvez ajouter la connexion au LDAP :
250 12 Etienne Pallier
- soit en refaisant une nouvelle installation complète, qui incluera cette fois-ci une connexion au LDAP, 
251 12 Etienne Pallier
	mais il faudra répondre à nouveau à toutes les questions
252 12 Etienne Pallier
- soit (méthode conseillée) directement à la main dans votre fichier de configuration comme ceci :
253 12 Etienne Pallier
	Editer votre fichier de configuration cakephp/app/Config/labinvent.php, chercher la section ci-dessous, 
254 12 Etienne Pallier
	et remplacer chacune des valeurs par celles concernant votre LDAP.
255 12 Etienne Pallier
	Attention, il faut bien mettre USE_LDAP à la valeur TRUE :
256 12 Etienne Pallier
	 
257 12 Etienne Pallier
	'USE_LDAP' => TRUE,
258 12 Etienne Pallier
	'ldap' => array (
259 12 Etienne Pallier
		'host'		 			=> 'ldap-servername-or-ip',
260 12 Etienne Pallier
		'port'					=> '389',
261 12 Etienne Pallier
		'authenticationType'	=> 'cn',
262 12 Etienne Pallier
		'baseDn'				=> 'ou=users,dc=irap,dc=omp,dc=eu',
263 12 Etienne Pallier
		'filter'				=> '(cn=*)'
264 12 Etienne Pallier
	),
265 12 Etienne Pallier
266 12 Etienne Pallier
Pour tester que votre connexion LDAP fonctionne bien,
267 12 Etienne Pallier
connectez-vous au logiciel d'inventaire avec votre login ldap, et cette fois-ci AVEC votre mot de passe LDAP 
268 12 Etienne Pallier
(normalement, vous ne devriez plus pouvoir vous connecter sans mot de passe)
269 12 Etienne Pallier
Voila, vous devriez maintenant etre connecte sur le logiciel avec votre login ldap et avec le profil "super administrateur" 
270 12 Etienne Pallier
271 1 Etienne Pallier
La base de donnees est actuellement vide. Vous pouvez donc commencer à alimenter le logiciel avec quelques données.
272 12 Etienne Pallier
Pour cela, poursuivez votre lecture.
273 12 Etienne Pallier
274 12 Etienne Pallier
-----------------
275 12 Etienne Pallier
276 12 Etienne Pallier
h3. PARAMETRAGE DU LOGICIEL (PERSONNALISATION)
277 1 Etienne Pallier
278 1 Etienne Pallier
-----------------
279 1 Etienne Pallier
280 26 Etienne Pallier
Vous devez maintenant personnaliser le logiciel à partir des données concernant votre entité (laboratoire).
281 26 Etienne Pallier
Pour cela, éditer le fichier de configuration cakephp/app/Config/labinvent.php et adapter la valeur des paramètres
282 12 Etienne Pallier
contenus dans le tableau "localisation".
283 26 Etienne Pallier
284 26 Etienne Pallier
		'localisation' => array(
285 26 Etienne Pallier
				
286 26 Etienne Pallier
			// Nom de l'entité (laboratoire) :			
287 12 Etienne Pallier
			//'labName' => "IRAP",
288 1 Etienne Pallier
			'labName' => "LABONAME",
289 26 Etienne Pallier
			
290 26 Etienne Pallier
			...
291 26 Etienne Pallier
		
292 22 Etienne Pallier
		), // $localisation
293 1 Etienne Pallier
294 23 Etienne Pallier
295 22 Etienne Pallier
-----------------
296 22 Etienne Pallier
297 22 Etienne Pallier
h3. ALIMENTATION DE LA BASE DE DONNEES
298 12 Etienne Pallier
299 12 Etienne Pallier
-----------------
300 12 Etienne Pallier
301 12 Etienne Pallier
En ce qui concerne le rôle quotidien des personnes de l'administration sur ce logiciel, voir le document Inventirap_AdministrationUser_Manual.docx dans le dossier docs/
302 12 Etienne Pallier
En ce qui concerne les possibilites offertes à tout utilisateur (non privilegie) de ce logiciel, voir le document Inventirap_User_Manual.docx dans le dossier docs/
303 12 Etienne Pallier
304 12 Etienne Pallier
Ici, nous allons plutot expliquer comment commencer a alimenter la base de donnees du logiciel (a priori vide) avec un minimum de donnees 
305 12 Etienne Pallier
afin de rendre possible la saisie de l'inventaire materiel. En effet, pour pouvoir saisir des materiels dans l'inventaire, 
306 12 Etienne Pallier
il vous faut au prealable :
307 12 Etienne Pallier
308 12 Etienne Pallier
1) definir quelques utilisateurs PRIVILEGIES (comme vous, mais avec des profils moins forts comme "administrateur", "responsable"...)
309 12 Etienne Pallier
qui seront habilites a faire cette saisie (notamment le personnel administratif) ; attention,
310 1 Etienne Pallier
tout utilisateur (du LDAP) non privilegie peut entrer un nouveau materiel dans l'inventaire, mais seul le personnel administratif 
311 12 Etienne Pallier
pourra ensuite faire la saisie des informations administratives et valider la fiche materiel...
312 12 Etienne Pallier
313 1 Etienne Pallier
2) definir quelques domaines et categories (et éventuellement des sous-categories si vous en avez besoin), qui permettront de classer le materiel
314 12 Etienne Pallier
315 12 Etienne Pallier
3) (FACULTATIF) definir des groupes metiers (auquels on pourra associer les utilisateurs mais aussi les materiels) et groupes thematiques (associés aux materiels)
316 12 Etienne Pallier
317 31 Etienne Pallier
=> Pour ces 3 premiers points, lire le document Inventirap_AdministrationUser_Manual.docx (dans le dossier docs/) au chapitre 2 "Les outils"
318 1 Etienne Pallier
319 1 Etienne Pallier
On pourra ensuite enfin commencer la saisie des materiels
320 1 Etienne Pallier
321 31 Etienne Pallier
=> Sur ce point, lire le document Inventirap_User_Manual.docx (dans le dossier docs/) au chapitre 3, en particulier 3.2 "Saisie de materiel"
322 22 Etienne Pallier
323 12 Etienne Pallier
324 23 Etienne Pallier
325 22 Etienne Pallier
-----------------
326 22 Etienne Pallier
327 1 Etienne Pallier
h3. LOGS (facultatif)
328 1 Etienne Pallier
329 1 Etienne Pallier
-----------------
330 1 Etienne Pallier
331 12 Etienne Pallier
Un fichier de log est créé et alimenté par l'application.
332 22 Etienne Pallier
Il s'agit de cakephp/app/tmp/logs/labinvent.log
333 12 Etienne Pallier
334 23 Etienne Pallier
335 22 Etienne Pallier
-----------------
336 22 Etienne Pallier
337 22 Etienne Pallier
h3. INSTALLATION DES ETIQUETEUSES (facultatif)
338 12 Etienne Pallier
339 12 Etienne Pallier
-----------------
340 12 Etienne Pallier
341 12 Etienne Pallier
Si vous désirez imprimer des étiquettes (ruban) à coller sur les materiels inventoriés,
342 12 Etienne Pallier
il vous faut installer une ou plusieurs étiqueteuses (au moins une) sur les postes clients.
343 12 Etienne Pallier
344 12 Etienne Pallier
Voici la procédure à suivre pour installer une étiqueteuse sur un poste client :
345 12 Etienne Pallier
346 12 Etienne Pallier
1) Acheter la bonne imprimante (!) 
347 12 Etienne Pallier
L'imprimante configurée est une "DYMO LabelManager PnP USB"
348 12 Etienne Pallier
Pour avoir plus d'informations sur cette étiqueteuse, aller sur la page Outils puis cliquer sur "Voir les étiqueteuses installées"
349 12 Etienne Pallier
350 12 Etienne Pallier
2) Installer cette imprimante sur le poste client
351 12 Etienne Pallier
Attention, il faut bien faire l'installation dans cette ordre sinon ça ne marche pas :
352 12 Etienne Pallier
a) Mettre la batterie dans l'imprimante
353 12 Etienne Pallier
b) Connecter l'imprimante sur un port USB du poste client, l'imprimante s'installe normalement toute seule,
354 12 Etienne Pallier
et représente un nouvel espace disque sur le bureau (sur Windows, elle occupe une lettre de lecteur disque monté, style "G:")
355 12 Etienne Pallier
C'est normal car ce disque contient un mini logiciel qui permet d'utiliser très simplement cette imprimante.
356 12 Etienne Pallier
Mais ce n'est pas ce logiciel que nous allons utiliser, donc surtout ne l'installez pas. 
357 12 Etienne Pallier
358 12 Etienne Pallier
3) Télécharger et installer le logiciel DLS (Dymo Label Software) associé à cette imprimante
359 12 Etienne Pallier
Pour cela aller dans la section "LOGICIEL DLS (DYMO LABEL SOFTWARE) A INSTALLER", et cliquer sur le lien "Téléchargement logiciel"
360 12 Etienne Pallier
Selon que c'est un poste Mac ou Windows, cliquer sur le bon lien "DOWNLOAD"
361 12 Etienne Pallier
Installer ce logiciel
362 12 Etienne Pallier
363 12 Etienne Pallier
4) Imprimer une étiquette 
364 12 Etienne Pallier
Allumer l'imprimante (si ce n'est déjà fait)
365 12 Etienne Pallier
Depuis ce poste client, aller sur le logiciel Labinvent (via un navigateur comme Firefox par exemple),
366 12 Etienne Pallier
cliquez sur "Liste des matériels", cliquez sur un matériel quelconque, et cliquez sur le bouton "Impr. ruban"
367 12 Etienne Pallier
Les 5 étapes suivantes ne sont à faire qu'une seule fois pour toutes : 
368 12 Etienne Pallier
- Une boîte de dialogue s'ouvre pour vous demander quel logiciel il faut ouvrir.
369 12 Etienne Pallier
- Cliquez sur le bouton "Choisir..." (à droite du texte "Ouvrir avec")
370 1 Etienne Pallier
- Choisir l'application DLS (Dymo Label Software)
371 1 Etienne Pallier
- Cocher l'option "Toujours effectuer cette opération avec ce type de fichier"
372 1 Etienne Pallier
- Cliquer sur OK
373 12 Etienne Pallier
Le logiciel DLS s'ouvre avec l'étiquette prête à être imprimée.
374 12 Etienne Pallier
Cliquer sur le bouton "Imprimer"
375 12 Etienne Pallier
376 22 Etienne Pallier
377 12 Etienne Pallier
378 23 Etienne Pallier
379 12 Etienne Pallier
-----------------
380 22 Etienne Pallier
381 22 Etienne Pallier
h3. AUTORISATIONS (ACL) : REGLAGE DES DROITS ASSOCIES A CHAQUE PROFIL
382 12 Etienne Pallier
383 12 Etienne Pallier
-----------------
384 12 Etienne Pallier
385 12 Etienne Pallier
TODO: expliquer comment ajouter, modifer, ou supprimer un profil 
386 12 Etienne Pallier
387 12 Etienne Pallier
Cette application définit 5 profils de pouvoir croissant :
388 12 Etienne Pallier
- USER : le profil par défaut de tout utilisateur)
389 12 Etienne Pallier
- RESPONSABLE : le responsable d'un ou plusieurs matériels 
390 12 Etienne Pallier
- ADMIN : le service administratif (gestion)
391 12 Etienne Pallier
- ADMINPLUS : le responsable administratif
392 12 Etienne Pallier
- SUPERADMIN (ce profil correspond au super administrateur, il a TOUS les droits)
393 12 Etienne Pallier
394 12 Etienne Pallier
Les droits associés à chaque profil sont décrits dans le document docs/userguide/ACL.pdf, principalement dans le tableau II-B.
395 12 Etienne Pallier
396 12 Etienne Pallier
L'ensemble de tous ces droits est contrôllé (presque) entièrement par un seul tableau nommé $easyACL
397 12 Etienne Pallier
398 12 Etienne Pallier
Il vous suffit donc de jouer sur le contenu de ce tableau pour modifier les droits.
399 12 Etienne Pallier
400 12 Etienne Pallier
On peut définir ces droits à deux niveaux : 
401 12 Etienne Pallier
- Les droits PAR DEFAUT sont définis dans la classe mère de tous les controleurs, nommée app/Controller/AppController
402 12 Etienne Pallier
- Les droits spécifiques à un modèle (Matériel, Suivi, Emprunt) sont définis dans le controleur respectif (MaterielsController, SuivisController, EmpruntController...)
403 12 Etienne Pallier
404 12 Etienne Pallier
1) Les droits PAR DEFAUT sont définis dans la classe mère de tous les controleurs, nommée app/Controller/AppController
405 12 Etienne Pallier
406 12 Etienne Pallier
Vous y trouverez un tableau $easyACL avec un contenu semblable à celui-ci :
407 12 Etienne Pallier
408 12 Etienne Pallier
	protected $easyACL = array(
409 12 Etienne Pallier
	
410 12 Etienne Pallier
			'ALL' => array (
411 12 Etienne Pallier
				// CRUD actions :
412 12 Etienne Pallier
				'index' => 'Y', // Read all
413 12 Etienne Pallier
				'view' => 'Y', // Read one
414 12 Etienne Pallier
				'add' => 'Y', // Create
415 12 Etienne Pallier
				'edit' => 'N', // Update
416 12 Etienne Pallier
				//'delete' => 'N', // Delete
417 12 Etienne Pallier
			),
418 12 Etienne Pallier
	
419 12 Etienne Pallier
			'USER' => array (
420 12 Etienne Pallier
				// CRUD actions :
421 12 Etienne Pallier
				'index' => 'Y', // read all
422 12 Etienne Pallier
				'view' => 'Y', // read one
423 12 Etienne Pallier
				//'add' => 'Y', // create
424 12 Etienne Pallier
				'edit' => 'N', // update
425 12 Etienne Pallier
				'delete' => 'N',
426 12 Etienne Pallier
			),
427 12 Etienne Pallier
428 12 Etienne Pallier
			'RESPONSABLE' => array (
429 12 Etienne Pallier
				// CRUD actions :
430 12 Etienne Pallier
				'index' => 'Y', // read all
431 12 Etienne Pallier
				'view' => 'Y', // read one
432 12 Etienne Pallier
				'add' => 'Y', // create
433 12 Etienne Pallier
				'edit' => 'N', // update
434 12 Etienne Pallier
				'delete' => 'Y',
435 12 Etienne Pallier
			),
436 12 Etienne Pallier
			
437 12 Etienne Pallier
			...
438 12 Etienne Pallier
439 12 Etienne Pallier
	}
440 12 Etienne Pallier
441 12 Etienne Pallier
Le sous-tableau 'ALL' contient les DROITS PAR DEFAUT pour TOUS les profils (ALL), 
442 12 Etienne Pallier
pour TOUS les modèles, et pour les actions qu'il définit (ici, les actions CRUD, Create Read Update Delete).
443 12 Etienne Pallier
Par exemple, avec l'entrée 'delete' => 'N', par défaut aucun profil n'a le droit de supprimer quelque modèle (matériel, suivi, emprunt, ...) que ce soit,
444 12 Etienne Pallier
même les nouveaux modèles qui pourraient être ajoutés dans le futur.
445 12 Etienne Pallier
Attention, ce système est "permissif" dans le sens ou par défaut tout est autorisé.
446 12 Etienne Pallier
Si vous voulez interdire une action, il faut le dire explicitement, sinon elle est autorisée par défaut.
447 12 Etienne Pallier
En général, cela simplifie les choses.
448 12 Etienne Pallier
Donc, par exemple, si on commente l'action 'delete', elle est alors autorisée.
449 12 Etienne Pallier
C'est comme si elle était définie avec 'delete' => 'Y'
450 12 Etienne Pallier
 
451 12 Etienne Pallier
Si un profil spécifique doit avoir un droit sur une action, qui est différent du droit PAR DEFAUT défini dans 'ALL',
452 12 Etienne Pallier
alors il faut ajouter un sous-tableau pour ce profil, portant le nom de ce profil (en majuscule).
453 12 Etienne Pallier
454 12 Etienne Pallier
Ainsi, le sous-tableau 'USER' contient les droits spécifiques pour le profil USER, 
455 12 Etienne Pallier
pour TOUS les modèles, et pour les actions qu'il définit. 
456 12 Etienne Pallier
Par exemple, avec l'entrée 'delete' => 'N', par défaut un USER n'a pas le droit de supprimer quelque modèle (matériel, suivi, emprunt, ...) que ce soit.
457 12 Etienne Pallier
Si une action n'est pas définie (par exemple 'add'), alors c'est l'autorisation définie dans 'ALL' qui fait foi.
458 12 Etienne Pallier
459 12 Etienne Pallier
Le sous-tableau 'ADMIN' contient les droits par défaut pour le profil ADMIN, 
460 12 Etienne Pallier
pour TOUS les modèles, et pour les actions qu'il définit. 
461 12 Etienne Pallier
Par exemple, avec l'entrée 'delete' => 'Y', par défaut un ADMIN a le droit de supprimer TOUS les modèles (matériel, suivi, emprunt, ...),
462 12 Etienne Pallier
y-compris les nouveaux modèles qui pourraient être ajoutés dans le futur.
463 12 Etienne Pallier
464 12 Etienne Pallier
Et ainsi de suite pour les autres profils ADMIN, ADMINPLUS, et SUPERADMIN.
465 12 Etienne Pallier
S'ils ne sont pas définis, alors ils héritent des autorisations par défaut définies dans 'ALL'. 
466 12 Etienne Pallier
467 12 Etienne Pallier
468 12 Etienne Pallier
2) Les droits spécifiques à un modèle (Matériel, Suivi, Emprunt) sont définis dans le controleur respectif (MaterielsController, SuivisController, EmpruntController...)
469 12 Etienne Pallier
470 12 Etienne Pallier
Si, pour un modèle donné, on veut définir des droits différents de ceux définis globalement dans app/Controller/AppController,
471 12 Etienne Pallier
il faut le faire dans le controleur correspondant au modèle.
472 12 Etienne Pallier
Par exemple, si on veut des droits particuliers pour les matériels, il faut les définirs dans app/Controller/MaterielsController
473 12 Etienne Pallier
Cependant, afin de garder la plupart des droits définis globalement dans AppController, 
474 12 Etienne Pallier
et de redéfinir SEULEMENT CERTAINS droits spécifiques pour certains profils ou certaines actions,
475 12 Etienne Pallier
on définira les nouveaux droits un peu différemment de ce qui a été fait dans AppController.
476 12 Etienne Pallier
(TODO: je n'ai pas réussi avec Php 5.3 à gérer un héritage au niveau du tableau $easyACL entre celui de AppController et celui des sous-classes,
477 12 Etienne Pallier
car celui défini dans une sous-classe écrase complètement celui de la classe mère AppController ; peut-être qu'avec Php 5.6 il y aurait une solution plus éléguante).
478 12 Etienne Pallier
En effet, plutôt que de définir à nouveau un tableau $easyACL qui écraserait celui défini dans AppController,
479 12 Etienne Pallier
on hérite du $easyACL de AppController, et on en écrase seulement certaines entrées.
480 12 Etienne Pallier
On définit ces nouvelles entrées dans la méthode beforeFilter() du controleur.
481 12 Etienne Pallier
Voir par exemple les entrées définies dans la méthode beforeFilter() du controleur MaterielsController. 
482 12 Etienne Pallier
483 12 Etienne Pallier
Par exemple, une entrée comme celle-ci :
484 12 Etienne Pallier
	$this->easyACL['ALL']['view'] = 'N';
485 12 Etienne Pallier
remplacerait l'entrée par défaut de AppController
486 12 Etienne Pallier
	'ALL' => array (
487 12 Etienne Pallier
		...
488 12 Etienne Pallier
		'view' => 'Y',
489 12 Etienne Pallier
		...
490 12 Etienne Pallier
	);
491 12 Etienne Pallier
492 12 Etienne Pallier
Une entrée (un peu plus complexe) comme celle-ci :
493 12 Etienne Pallier
	$this->easyACL['ALL']['delete'] = 'status == CREATED';
494 12 Etienne Pallier
remplacerait l'entrée par défaut de AppController
495 12 Etienne Pallier
	'ALL' => array (
496 12 Etienne Pallier
		...
497 12 Etienne Pallier
		'delete' => 'Y',
498 12 Etienne Pallier
		...
499 12 Etienne Pallier
	);
500 12 Etienne Pallier
et signifierait que la suppression d'un matériel n'est possible (par défaut) que si le statut du matériel est "CREATED" (il vient d'être créé, mais il n'est pas encore validé). 
501 12 Etienne Pallier
502 12 Etienne Pallier
Enfin, une entrée (encore plus complexe) comme celle-ci :
503 12 Etienne Pallier
	$this->easyACL['USER']['edit'] = '&& nom_createur == CURRENT_USER_NAME';
504 12 Etienne Pallier
remplacerait l'entrée par défaut de AppController pour le profile USER
505 12 Etienne Pallier
	'USER' => array (
506 12 Etienne Pallier
		...
507 1 Etienne Pallier
		'edit' => 'Y',
508 1 Etienne Pallier
		...
509 1 Etienne Pallier
	);
510 1 Etienne Pallier
et ajouterait (grâce au '&&') une contrainte supplémentaire pour la modification d'un matériel (pour les USER),
511 12 Etienne Pallier
qui est que le matériel doit avoir été créé par l'utilisateur qui en fait la modification
512 12 Etienne Pallier
513 12 Etienne Pallier
... etc.
514 12 Etienne Pallier
515 12 Etienne Pallier
A vous de jouer maintenant, vous savez comment "tuner" votre application, au niveau des droits de chaque profil et sur chaque action.
516 22 Etienne Pallier
517 12 Etienne Pallier
518 23 Etienne Pallier
519 12 Etienne Pallier
-----------------
520 22 Etienne Pallier
521 22 Etienne Pallier
h3. VIRTUAL HOST (facultatif)
522 12 Etienne Pallier
523 12 Etienne Pallier
-----------------
524 12 Etienne Pallier
525 12 Etienne Pallier
But : Créer un virtual host pour pouvoir acceder au logiciel avec cette simple url "http://localhost:8081" par exemple.
526 12 Etienne Pallier
527 12 Etienne Pallier
Pour cela :
528 12 Etienne Pallier
529 12 Etienne Pallier
- Ajouter a la fin du fichier de conf apache /etc/httpd.conf (ou /etc/httpd/conf/httpd.conf, ou encore XAMPP/xamppfiles/etc/httpd.conf) la ligne :
530 12 Etienne Pallier
	Include etc/extra/labinvent.conf
531 12 Etienne Pallier
	(ou conf.d/labinvent.conf)
532 12 Etienne Pallier
533 12 Etienne Pallier
- Editer ce fichier etc/extra/labinvent.conf et y mettre ceci :
534 12 Etienne Pallier
#####################
535 12 Etienne Pallier
Listen 8081
536 12 Etienne Pallier
NameVirtualHost *:8081
537 12 Etienne Pallier
<VirtualHost *:8081>
538 12 Etienne Pallier
        ServerAdmin VOTRE_ADRESSE_MAIL
539 12 Etienne Pallier
        DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs/labinvent/cakephp/app/webroot"
540 12 Etienne Pallier
        ErrorLog logs/labinvent.error_log
541 12 Etienne Pallier
        CustomLog logs/labinvent.access_log combined
542 1 Etienne Pallier
</VirtualHost>
543 1 Etienne Pallier
#####################
544 1 Etienne Pallier
545 1 Etienne Pallier
- Remplacer VOTRE_ADRESSE_MAIL par votre adresse email
546 12 Etienne Pallier
- Modifier la ligne DocumentRoot avec le chemmin absolu vers votre installation de l'application (jusqu'au dossier webroot inclus)
547 12 Etienne Pallier
548 1 Etienne Pallier
Redemarrez maintenant votre serveur web Apache
549 12 Etienne Pallier
550 12 Etienne Pallier
Voila ! Vous devriez maintenant pouvoir vous connecter a l'application avec l'url http://localhost:8081
551 12 Etienne Pallier
552 12 Etienne Pallier
553 12 Etienne Pallier
554 12 Etienne Pallier
NB: Une fois l'installation terminee, les developpeurs devraient aussi lire le document docs/HOWTO.txt 
555 22 Etienne Pallier
556 1 Etienne Pallier
557 22 Etienne Pallier
558 23 Etienne Pallier
-----------------
559 22 Etienne Pallier
560 22 Etienne Pallier
h3. MISE A JOUR (UPGRADE) en 5 petites etapes
561 12 Etienne Pallier
562 12 Etienne Pallier
-----------------
563 12 Etienne Pallier
564 1 Etienne Pallier
Nous expliquons ici comment mettre à jour votre logiciel,
565 12 Etienne Pallier
en installant une nouvelle version,
566 12 Etienne Pallier
qui doit remplacer la version actuelle (déjà installée et utilisée avec des données).
567 1 Etienne Pallier
Le but est de mettre a jour le logiciel tout en conservant la connexion a la base de données actuelle et son contenu.
568 12 Etienne Pallier
569 12 Etienne Pallier
1) Desactiver la version actuelle
570 1 Etienne Pallier
Aller dans le repertoire parent de l’application actuelle
571 12 Etienne Pallier
Le repertoire de l’application actuelle devrait avoir un nom du style labinvent/
572 12 Etienne Pallier
C’est sur ce nom que doit pointer l’URL du navigateur (ex: http://labinvent/cakephp)
573 12 Etienne Pallier
Renommer ce repertoire en "labinvent_OLD" :
574 12 Etienne Pallier
	mv labinvent labinvent_OLD
575 12 Etienne Pallier
576 12 Etienne Pallier
2) Activer la nouvelle version
577 12 Etienne Pallier
Extraire la nouvelle version à côté de l’actuelle :
578 12 Etienne Pallier
	tar xvfz labinvent_X-Y-ZZZ.tgz (par exemple : tar xvfz labinvent_1-3-460.tgz)
579 31 Etienne Pallier
=> cela doit créer un dossier labinvent_X-Y-ZZZ/ (par exemple : labinvent_1-3-460/)
580 12 Etienne Pallier
(à coté du dossier labinvent_OLD/)
581 12 Etienne Pallier
Renommer ce repertoire en "labinvent" :
582 12 Etienne Pallier
	mv labinvent_X-Y-ZZZ.tgz labinvent (par exemple : mv labinvent_1-3-460 labinvent)
583 12 Etienne Pallier
584 12 Etienne Pallier
3) Aller dans le dossier d’installation de la NOUVELLE version
585 12 Etienne Pallier
cd labinvent/install/
586 12 Etienne Pallier
587 12 Etienne Pallier
4) Executer le script installation.sh
588 26 Etienne Pallier
./installation.sh
589 1 Etienne Pallier
ATTENTION : Répondre "Non" à la question "Voulez-vous creer la base de donnees ?"
590 1 Etienne Pallier
591 1 Etienne Pallier
5) Récupérer la configuration de l’application actuelle dans la nouvelle
592 1 Etienne Pallier
- Configuration Base de données : 
593 12 Etienne Pallier
Copier le fichier labinvent_OLD/cakephp/app/Config/database.php de l’application actuelle dans la nouvelle, c’est à dire dans labinvent/cakephp/app/Config/
594 1 Etienne Pallier
- Configuration Générale : 
595 1 Etienne Pallier
Adapter le nouveau fichier labinvent/cakephp/app/Config/labinvent.php à partir de ce que vous avez dans le même fichier de l’application actuelle,
596 1 Etienne Pallier
c'est à dire dans labinvent_OLD/cakephp/app/Config/labinvent.php
597 12 Etienne Pallier
(la commande « diff » peut aider à voir ce qui a changé)
598 31 Etienne Pallier
599 31 Etienne Pallier
600 31 Etienne Pallier
601 23 Etienne Pallier
602 23 Etienne Pallier
h2. Comment accéder au site redmine depuis l'extérieur ?
603 1 Etienne Pallier
604 1 Etienne Pallier
-----------------
605 1 Etienne Pallier
606 1 Etienne Pallier
607 1 Etienne Pallier
1) Créer un tunnel (entre le port local 9443 et le port distant 443 du serveur web irap, via la passerelle)
608 1 Etienne Pallier
609 1 Etienne Pallier
ssh -L 9443:projects.irap.omp.eu:443 MONLOGINDULABO@PASSERELLE.irap.omp.eu
610 2 Etienne Pallier
611 3 Etienne Pallier
(Pour les personnes qui utilisent Windows, vous pouvez faire la même chose avec le logiciel Putty, en vous inspirant de ce qui est décrit au point 4) a) de cet article http://planetoweb.cesr.fr/twiki/bin/view/Main/HowtoInformatique#Se_connecter_un_serveur_linux_en) 
612 24 Etienne Pallier
613 24 Etienne Pallier
2) Pointer son navigateur sur https://localhost:9443
614 5 Etienne Pallier
615 24 Etienne Pallier
-----------------
616 24 Etienne Pallier
617 5 Etienne Pallier
h2. Dépôt SVN
618 10 Etienne Pallier
619 5 Etienne Pallier
-----------------
620 25 Etienne Pallier
621 25 Etienne Pallier
https://usvn-inventirap.irap.omp.eu/repo/inventirap/trunk/
622 5 Etienne Pallier
623 25 Etienne Pallier
-----------------
624 25 Etienne Pallier
625 1 Etienne Pallier
h2. Mailing list
626 1 Etienne Pallier
627 1 Etienne Pallier
-----------------
628 1 Etienne Pallier
629 1 Etienne Pallier
usvn-repo_inventirap AT irap.omp.eu
630 1 Etienne Pallier
631 1 Etienne Pallier
(https://listes.irap.omp.eu/wws/info/usvn-repo_inventirap)