Projet

Général

Profil

EnvoleBonnesPratiques » Historique » Version 68

Lionel Morin, 11/09/2012 10:03

1 21 Gérald Schwartzmann
h2. !http://dev-eole.ac-dijon.fr/attachments/download/9/puce.png! Environnement Libre Ouvert Evolutif - Envole
2 21 Gérald Schwartzmann
{{include(eole:menu)}}
3 1 Gérald Schwartzmann
4 1 Gérald Schwartzmann
h1. Les Bonnes Pratiques
5 22 Gérald Schwartzmann
6 22 Gérald Schwartzmann
{{include(ModeleEbauche)}}
7 6 Gérald Schwartzmann
8 7 Gérald Schwartzmann
h2. Documentations, sources et articles wiki
9 8 Gérald Schwartzmann
10 50 Gérald Schwartzmann
Voici les bonnes pratiques sur le nommage des applications EOLE : http://dev-eole.ac-dijon.fr/projects/documentations/wiki/DokielGuideBonnesPratiques
11 6 Gérald Schwartzmann
12 9 Gérald Schwartzmann
h2. Git
13 6 Gérald Schwartzmann
14 7 Gérald Schwartzmann
h3. Placement
15 1 Gérald Schwartzmann
16 11 Gérald Schwartzmann
Les applications de Envole sont des sous-projets de "Envole":http://dev-eole.ac-dijon.fr/projects/envole .
17 13 Gérald Schwartzmann
Dans le dépôt ils apparaissent les un à côté des autres (à plat).
18 1 Gérald Schwartzmann
19 13 Gérald Schwartzmann
h3. Les Bonnes Pratiques
20 1 Gérald Schwartzmann
21 50 Gérald Schwartzmann
Les Bonnes Pratiques de Git généralité et autres : http://dev-eole.ac-dijon.fr/projects/eole/wiki/GitBonnesPratiques
22 50 Gérald Schwartzmann
Recueil de commandes Git : http://dev-eole.ac-dijon.fr/projects/eole/wiki/RecueilGit
23 1 Gérald Schwartzmann
24 27 Gérald Schwartzmann
Lorsque le master existe il contient les sources de la première version du paquet.
25 27 Gérald Schwartzmann
Créer une nouvelle branche en vue d'ajouter des développements
26 27 Gérald Schwartzmann
27 27 Gérald Schwartzmann
<pre>
28 27 Gérald Schwartzmann
$ git checkout -b devel
29 27 Gérald Schwartzmann
$ git push --all
30 27 Gérald Schwartzmann
</pre>
31 27 Gérald Schwartzmann
32 32 Gérald Schwartzmann
h3. prompt sympa pour git
33 32 Gérald Schwartzmann
34 32 Gérald Schwartzmann
Ajouter les lignes suivantes à votre .bashrc pour un peu plus de confort
35 32 Gérald Schwartzmann
36 32 Gérald Schwartzmann
<pre>
37 32 Gérald Schwartzmann
toUpper() {
38 32 Gérald Schwartzmann
          echo $1 | tr "[:lower:]" "[:upper:]"
39 32 Gérald Schwartzmann
}
40 32 Gérald Schwartzmann
41 32 Gérald Schwartzmann
parse_git_branch() {
42 32 Gérald Schwartzmann
        branch=`git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'`
43 32 Gérald Schwartzmann
        if [ "$branch" != "" ];then
44 32 Gérald Schwartzmann
                label=`toUpper $branch`
45 32 Gérald Schwartzmann
        fi
46 32 Gérald Schwartzmann
        echo $label
47 32 Gérald Schwartzmann
}
48 32 Gérald Schwartzmann
</pre>
49 32 Gérald Schwartzmann
50 1 Gérald Schwartzmann
h3. Nommage
51 8 Gérald Schwartzmann
52 14 Gérald Schwartzmann
Le nom des sous-projets doivent être en minuscule
53 6 Gérald Schwartzmann
54 13 Gérald Schwartzmann
Exemple dans la liste des sous-projets : http://dev-eole.ac-dijon.fr/projects/envole
55 6 Gérald Schwartzmann
56 14 Gérald Schwartzmann
h3. Structure du Master
57 6 Gérald Schwartzmann
58 53 Lionel Morin
Puisque votre développement n'est pas la branche d'un projet déjà existant on réalise un master.
59 67 Lionel Morin
Pour cela il faut créer selon les besoins de votre application les fichiers et répertoires suivant (remplacez <appli> par le nom de votre projet et <version> par sa version) :
60 53 Lionel Morin
* /src/
61 67 Lionel Morin
** <appli>-<version>/
62 67 Lionel Morin
** plugins-<version>/nom/
63 67 Lionel Morin
** lang-<version>/nom/
64 53 Lionel Morin
* /tmpl/
65 53 Lionel Morin
* /dicos/
66 53 Lionel Morin
* /pretemplate/
67 53 Lionel Morin
* /posttemplate/
68 53 Lionel Morin
* /postservice/
69 1 Gérald Schwartzmann
* /sql/
70 57 Lionel Morin
** gen/
71 57 Lionel Morin
** updates/
72 57 Lionel Morin
** conf/
73 57 Lionel Morin
*** gen/
74 57 Lionel Morin
*** updtates/
75 57 Lionel Morin
*** passwords/
76 1 Gérald Schwartzmann
* /sso/
77 62 Philippe Caseiro
** filtres/
78 63 Lionel Morin
** user_info/
79 53 Lionel Morin
* /ldap/
80 64 Philippe Caseiro
* /sharenvole/
81 53 Lionel Morin
* Makefile
82 59 Philippe Caseiro
* eole.mk
83 59 Philippe Caseiro
* apps.mk
84 53 Lionel Morin
85 53 Lionel Morin
Commentaires :
86 67 Lionel Morin
* /src/ : répertoire des sources de l'application
87 67 Lionel Morin
* /src/<appli>-<version>/ : sources de l'application avec la possibilité de faire cohabiter plusieurs versions lors des mises à jour
88 67 Lionel Morin
* /src/plugins-<version>/ : dossier contenant les plugins externes et ceux développés en interne pour cette version (un dossier par plugin)
89 67 Lionel Morin
* /src/lang-<version>/ : dossier des traductions pour cette version (un dossier par langue)
90 53 Lionel Morin
* /tmpl/ : répertoire des templates eole
91 53 Lionel Morin
* /dicos/ : dictionnaire eole (XX_appli.xml)
92 53 Lionel Morin
* /pretemplate/, /posttemplate/, /postservice/ : scripts shell ou python
93 53 Lionel Morin
* /sql/gen/ et /sql/updates : fichiers sql de création ou de mise à jour de la base
94 1 Gérald Schwartzmann
* /sql/conf/ : sous-répertoires de configuration
95 63 Lionel Morin
* /sso/filtres/ : filtres sso (appli.ini, appli_apps.ini)
96 63 Lionel Morin
* /sso/user_info/ : profil sso (profil_appli.py)
97 53 Lionel Morin
* /ldap/ : configuration du mot de passe ldap (appli.ini)
98 65 Lionel Morin
* /sharenvole/ : scripts d'aide à l'installation (à éviter si possible)
99 66 Philippe Caseiro
* Makefile : Fichier de règles de "compilation"
100 66 Philippe Caseiro
* eole.mk : Règles standard Eole pour la gestion des dictionnaires, templates, gestion des bases de données, mots de passe ... ! ne pas changer ce fichier
101 66 Philippe Caseiro
* apps.mk : Règles pour l'installation de l'application web.
102 59 Philippe Caseiro
103 1 Gérald Schwartzmann
104 68 Lionel Morin
Les patchs sont gérés dans la branche de packaging : http://dev-eole.ac-dijon.fr/projects/envole/wiki/PatchAvance.
105 6 Gérald Schwartzmann
106 14 Gérald Schwartzmann
Exemple : http://dev-eole.ac-dijon.fr/projects/dokuwiki/repository
107 6 Gérald Schwartzmann
108 7 Gérald Schwartzmann
h2. Les fichiers templates
109 8 Gérald Schwartzmann
110 49 Lionel Morin
Le nom d'un fichier templétisé ne doit pas porter le même nom qu'un autre pour cela il faut préfixer le nom du fichier avec le nom de l'application.
111 6 Gérald Schwartzmann
112 6 Gérald Schwartzmann
Exemple du fichier config.php qui est présent dans une bonne partie des applications :
113 6 Gérald Schwartzmann
114 6 Gérald Schwartzmann
taskfreak_config.php
115 6 Gérald Schwartzmann
116 7 Gérald Schwartzmann
h2. Dico
117 8 Gérald Schwartzmann
118 7 Gérald Schwartzmann
h3. Nommage
119 8 Gérald Schwartzmann
120 6 Gérald Schwartzmann
Les applications du socle
121 6 Gérald Schwartzmann
<pre>5x_nom_de_l_application.xml</pre>
122 6 Gérald Schwartzmann
Les applications supplémentaires au socle
123 6 Gérald Schwartzmann
<pre>6x_nom_de_l_application.xml</pre>
124 6 Gérald Schwartzmann
x étant supérieur à 0
125 6 Gérald Schwartzmann
126 7 Gérald Schwartzmann
h3. construction du fichier
127 8 Gérald Schwartzmann
128 58 Emmanuel GARETTE
L'activation/la désactivation des applications se fait dans la famille "Applications web". Il ne faut pas utiliser de séparateur.
129 58 Emmanuel GARETTE
130 15 Gérald Schwartzmann
{{include(ModeleFixme)}}
131 6 Gérald Schwartzmann
132 7 Gérald Schwartzmann
h2. Paquetage
133 8 Gérald Schwartzmann
134 24 Gérald Schwartzmann
h3. nommage du paquet
135 25 Gérald Schwartzmann
136 6 Gérald Schwartzmann
eole-nom_de_l_application
137 24 Gérald Schwartzmann
138 24 Gérald Schwartzmann
h3. fichiers postinst postrm
139 25 Gérald Schwartzmann
140 24 Gérald Schwartzmann
dans les fichiers postinst et postrm il faut utiliser des chemins absolus pour les commandes :
141 26 Gérald Schwartzmann
<pre>/bin/cp</pre>
142 6 Gérald Schwartzmann
143 7 Gérald Schwartzmann
h2. Apache
144 1 Gérald Schwartzmann
145 15 Gérald Schwartzmann
h3. nommage du fichier de conf dans sites-enabled
146 15 Gérald Schwartzmann
147 6 Gérald Schwartzmann
Un fichier de conf apache par application :
148 1 Gérald Schwartzmann
<pre>apache-nom_de_l_application.conf</pre>
149 15 Gérald Schwartzmann
150 15 Gérald Schwartzmann
h3. contenu du fichier de conf dans sites-enabled
151 15 Gérald Schwartzmann
152 19 Gérald Schwartzmann
Le chemin de l'application doit être son nom
153 19 Gérald Schwartzmann
154 16 Gérald Schwartzmann
Si un projet ne contient pas de .htaccess il faut ajouter la directive *AllowOverride None*.
155 16 Gérald Schwartzmann
Celle-ci permet de diminuer le délai d'attente en lui évitant de partir à la recherche de fichier .htaccess dans chaque répertoire qu'il visite.
156 16 Gérald Schwartzmann
157 18 Gérald Schwartzmann
Date d'expiration du cache proxy ou navigateur.
158 18 Gérald Schwartzmann
Régler correctement et finement le cache des clients permet d'éviter un grand nombre de requête.
159 18 Gérald Schwartzmann
En prévision de l'activation du *mod_expires* sur le serveur Apache, on peut ajouter la directive *ExpiresActive On* suivit de directive *ExpiresByType type "durée de vie dans le cache"*
160 18 Gérald Schwartzmann
161 18 Gérald Schwartzmann
<pre>
162 18 Gérald Schwartzmann
<IfModule mod_expires.c>
163 18 Gérald Schwartzmann
                ExpiresActive On
164 18 Gérald Schwartzmann
                ExpiresByType text/html "access plus 1 day"
165 18 Gérald Schwartzmann
</IfModule>
166 18 Gérald Schwartzmann
</pre>
167 18 Gérald Schwartzmann
168 18 Gérald Schwartzmann
Exemple complet d'un fichier de configuration d'une application :
169 16 Gérald Schwartzmann
170 16 Gérald Schwartzmann
<pre>
171 16 Gérald Schwartzmann
# Envole Infos
172 16 Gérald Schwartzmann
# Equipe EOLE
173 16 Gérald Schwartzmann
Alias /envole-infos /var/www/html/envole-infos
174 16 Gérald Schwartzmann
<Directory "/var/www/html/envole-infos">
175 17 Gérald Schwartzmann
        AllowOverride None
176 16 Gérald Schwartzmann
        AddDefaultCharset UTF-8
177 16 Gérald Schwartzmann
        DirectoryIndex index.php
178 16 Gérald Schwartzmann
        Order Allow,Deny
179 16 Gérald Schwartzmann
        Allow from All
180 16 Gérald Schwartzmann
        <IfModule mod_expires.c>
181 16 Gérald Schwartzmann
                ExpiresActive On
182 16 Gérald Schwartzmann
                ExpiresByType text/html "access plus 1 day"
183 16 Gérald Schwartzmann
                ExpiresByType text/xml "access plus 1 day"
184 16 Gérald Schwartzmann
                ExpiresByType image/gif "access plus 1 week"
185 16 Gérald Schwartzmann
                ExpiresByType image/jpg "access plus 1 week"
186 16 Gérald Schwartzmann
                ExpiresByType image/png "access plus 1 week"
187 16 Gérald Schwartzmann
                ExpiresByType video/quicktime "access plus 1 month"
188 16 Gérald Schwartzmann
                ExpiresByType audio/mpeg "access plus 1 month"
189 16 Gérald Schwartzmann
                ExpiresByType application/pdf "access plus 1 month"
190 16 Gérald Schwartzmann
                ExpiresByType application/ps "access plus 1 month"
191 16 Gérald Schwartzmann
                ExpiresByType text/css "access plus 1 day"
192 16 Gérald Schwartzmann
                ExpiresByType application/x-shockwave-flash "access plus 1 day"
193 16 Gérald Schwartzmann
                ExpiresByType text/js "access plus 1 week"
194 16 Gérald Schwartzmann
                ExpiresByType text/javascript "access plus 1 week"
195 16 Gérald Schwartzmann
                ExpiresByType application/x-javascript "access plus 1 week"
196 16 Gérald Schwartzmann
                ExpiresByType image/x-icon "access plus 1 day"
197 16 Gérald Schwartzmann
        </IfModule>
198 16 Gérald Schwartzmann
</Directory>
199 16 Gérald Schwartzmann
</pre>
200 15 Gérald Schwartzmann
201 48 Lionel Morin
h2. répertoire debian (empaquetage)
202 47 Gérald Schwartzmann
203 47 Gérald Schwartzmann
h3. le changelog
204 47 Gérald Schwartzmann
205 47 Gérald Schwartzmann
<pre>
206 47 Gérald Schwartzmann
eole-envole-tools (1.0-eole1) eole-2.2-dev; urgency=low
207 47 Gérald Schwartzmann
208 47 Gérald Schwartzmann
  * Initial release
209 47 Gérald Schwartzmann
210 47 Gérald Schwartzmann
 -- Equipe Eole <eole@ac-dijon.fr>  Fri, 20 May 2011 09:25:40 +0200
211 47 Gérald Schwartzmann
</pre>
212 47 Gérald Schwartzmann
213 47 Gérald Schwartzmann
La date s'obtient avec la commande date -R
214 47 Gérald Schwartzmann
215 15 Gérald Schwartzmann
h3. les droits dans /var/www/html/
216 6 Gérald Schwartzmann
217 23 Gaston TJEBBES
Application des droits minimaux sur les répertoires:
218 1 Gérald Schwartzmann
219 23 Gaston TJEBBES
<pre>
220 23 Gaston TJEBBES
# Définition du propriétaire du répertoire
221 23 Gaston TJEBBES
/bin/chown -R root:www-data /var/www/html/votre_appli<br />
222 23 Gaston TJEBBES
# Définition des droits minimaux pour les répertoires (ont besoin d'être exécutables)
223 23 Gaston TJEBBES
/bin/chmod -R 750 /var/www/html/votre_appli<br />
224 23 Gaston TJEBBES
# Définition des droits minimaux pour les fichiers
225 23 Gaston TJEBBES
/usr/bin/find /var/www/html/votre_appli -type f -exec /bin/chmod ugo-x {} \;
226 23 Gaston TJEBBES
</pre>
227 23 Gaston TJEBBES
228 49 Lionel Morin
Pour des raisons de sécurité seuls les fichiers nécessitant d'être modifiés par l'application sont éditables par l'utilisateur avec lequel est lancé apache à savoir www-data.
229 23 Gaston TJEBBES
<pre>
230 23 Gaston TJEBBES
/bin/chmod 770 /var/www/html/votre_appli/datas
231 23 Gaston TJEBBES
/bin/chmod 660 /var/www/html/votre_appli/datas/*.*
232 23 Gaston TJEBBES
</pre>
233 6 Gérald Schwartzmann
234 7 Gérald Schwartzmann
h2. Base de données
235 8 Gérald Schwartzmann
236 6 Gérald Schwartzmann
<pre>scribe-nom_de_l_application.sql</pre>
237 6 Gérald Schwartzmann
238 29 Gérald Schwartzmann
Si la bdd nécessite une templétisation il est préférable de découper la bdd en deux fichiers MySql.
239 29 Gérald Schwartzmann
L'un avec la partie à templétiser et l'autre avec le reste.
240 29 Gérald Schwartzmann
Cette découpe fait gagner un temps considérable lors du reconfigure.
241 7 Gérald Schwartzmann
242 28 Gérald Schwartzmann
h2. Stockage des données
243 6 Gérald Schwartzmann
244 46 Gérald Schwartzmann
FIXME : méthode obsolète -> méthode bacula
245 46 Gérald Schwartzmann
246 29 Gérald Schwartzmann
Exemple de Dokuwiki
247 28 Gérald Schwartzmann
Pour être prise en charge par la sauvegarde Bacula les données des applications sont stockées dans :
248 28 Gérald Schwartzmann
<pre>
249 28 Gérald Schwartzmann
/home/www-data/var/www/html/nom_de_l'application
250 28 Gérald Schwartzmann
</pre>
251 46 Gérald Schwartzmann
252 46 Gérald Schwartzmann
h2. CASsifier une application
253 46 Gérald Schwartzmann
254 46 Gérald Schwartzmann
Se référer à la documentation suivante :
255 46 Gérald Schwartzmann
http://dev-eole.ac-dijon.fr/projects/eole-php5-cas/wiki
256 27 Gérald Schwartzmann
257 27 Gérald Schwartzmann
h2. Commandes systèmes
258 27 Gérald Schwartzmann
259 35 Gérald Schwartzmann
h3. Patch
260 35 Gérald Schwartzmann
261 27 Gérald Schwartzmann
==Création d'un patch==
262 43 Gaston TJEBBES
<pre>diff -uNr toto/ toto.new/ > patch/toto.patch</pre>
263 42 Gaston TJEBBES
264 43 Gaston TJEBBES
NB : Utilisez des chemins relatifs
265 27 Gérald Schwartzmann
266 27 Gérald Schwartzmann
==Application d'un patch==
267 27 Gérald Schwartzmann
<pre>patch -d /home/username/travail -p0 < toto.patch</pre>
268 27 Gérald Schwartzmann
269 36 Gérald Schwartzmann
[[patchAvance|Patch avancé]]
270 35 Gérald Schwartzmann
271 39 Gérald Schwartzmann
h3. Mot de passe
272 1 Gérald Schwartzmann
273 40 Gérald Schwartzmann
Changer les mots de passe PhpMyAdmin (mode interactif)
274 39 Gérald Schwartzmann
<pre>/usr/share/eole/mysql_pwd.py</pre>
275 1 Gérald Schwartzmann
276 1 Gérald Schwartzmann
Changer le mot de passe root de PhpMyAdmin
277 39 Gérald Schwartzmann
<pre>
278 40 Gérald Schwartzmann
/usr/share/eole/mysql_pwd.py monMotDePass
279 39 Gérald Schwartzmann
</pre>
280 39 Gérald Schwartzmann
281 39 Gérald Schwartzmann
Remettre un mot de passe aléatoire
282 39 Gérald Schwartzmann
<pre>
283 39 Gérald Schwartzmann
/usr/share/eole/mysql_pwd.py `/usr/bin/pwgen -1`
284 39 Gérald Schwartzmann
</pre>
285 35 Gérald Schwartzmann
286 44 Gérald Schwartzmann
h3. Debugger
287 44 Gérald Schwartzmann
288 44 Gérald Schwartzmann
Usage :
289 44 Gérald Schwartzmann
<pre>
290 44 Gérald Schwartzmann
include('envolePHP/logger.php');
291 44 Gérald Schwartzmann
$monlogger = new Logger("/var/log/monfichier.log");
292 44 Gérald Schwartzmann
$monlogger->debug('msg');
293 44 Gérald Schwartzmann
$monlogger->error('erreur');
294 44 Gérald Schwartzmann
</pre>
295 44 Gérald Schwartzmann
296 51 Lionel Morin
h2. Intégration au bureau Posh
297 51 Lionel Morin
298 51 Lionel Morin
Voici la marche à suivre pour que votre nouvelle application apparaisse automatiquement dans les items de bureau de Posh.
299 51 Lionel Morin
300 51 Lionel Morin
Dans le paquet eole-posh, mettre l’icône (32x32) de la nouvelle application dans :
301 51 Lionel Morin
<pre>
302 51 Lionel Morin
plugins/plugin_desktop/icones
303 51 Lionel Morin
</pre>
304 51 Lionel Morin
Puis ajouter l'item de bureau dans le fichier :
305 51 Lionel Morin
<pre>
306 51 Lionel Morin
eole/tmpls/poshprofile-update.sql
307 51 Lionel Morin
</pre>
308 51 Lionel Morin
Exemple :
309 51 Lionel Morin
<pre>
310 51 Lionel Morin
-- piwigo (Galerie de photos)
311 51 Lionel Morin
%if %%is_defined('activer_piwigo') and %%activer_piwigo == 'oui'
312 51 Lionel Morin
CALL InsertDesktopItem('piwigo', 'Galerie<br />de photos', '/piwigo', '%%alias_envole/includes/plugins/plugin_desktop/icones/piwigo.png');
313 51 Lionel Morin
%end if
314 51 Lionel Morin
315 51 Lionel Morin
</pre>
316 51 Lionel Morin
317 35 Gérald Schwartzmann
h2. Logiciels
318 35 Gérald Schwartzmann
319 38 Gérald Schwartzmann
h3. Firebug
320 38 Gérald Schwartzmann
321 35 Gérald Schwartzmann
Très pratique dans la conception de page web.
322 1 Gérald Schwartzmann
Console permettant le debbugage Javascript et Css :
323 38 Gérald Schwartzmann
https://addons.mozilla.org/firefox/1843/
324 31 Gérald Schwartzmann
325 33 Gérald Schwartzmann
h2. Batterie de tests
326 33 Gérald Schwartzmann
327 33 Gérald Schwartzmann
h3. Tester la compilation du paquet (postinst, Makefile, ...)
328 33 Gérald Schwartzmann
329 33 Gérald Schwartzmann
Il est possible de tester la compilation de votre paquet sur une machine perso :
330 33 Gérald Schwartzmann
exporter vos sources :
331 33 Gérald Schwartzmann
<pre>
332 33 Gérald Schwartzmann
git archive nomDeBranche | tar -x -C /somewhere/else
333 33 Gérald Schwartzmann
</pre>
334 41 Gérald Schwartzmann
Se rendre dans le répertoire des sources et compiler sans signer (-uc -us)
335 33 Gérald Schwartzmann
<pre>
336 41 Gérald Schwartzmann
fakeroot dpkg-buildpackage -uc -us
337 33 Gérald Schwartzmann
</pre>
338 33 Gérald Schwartzmann
Le paquet est disponible dans le répertoire parent.
339 33 Gérald Schwartzmann
340 33 Gérald Schwartzmann
h3. Tester le paquet
341 34 Gérald Schwartzmann
342 33 Gérald Schwartzmann
Le nouveau paquet doit être testé en fresh install et en update (cas de figure où l'application est en production).
343 33 Gérald Schwartzmann
344 33 Gérald Schwartzmann
h3. Test de l'application
345 34 Gérald Schwartzmann
346 49 Lionel Morin
L'application doit être testée avec tous les types de comptes utilisateurs.
347 33 Gérald Schwartzmann
348 33 Gérald Schwartzmann
h2. Documentation
349 33 Gérald Schwartzmann
350 33 Gérald Schwartzmann
h3. Première mouture
351 33 Gérald Schwartzmann
352 33 Gérald Schwartzmann
Il faut documenter une application avant son passage en candidat.
353 49 Lionel Morin
Ouvrez une page wiki et y mettre les changements majeurs concernant
354 33 Gérald Schwartzmann
l'installation, les rôles, les consignes diverses ...
355 49 Lionel Morin
Ses informations doivent permettre de faciliter la vie du testeur.
356 33 Gérald Schwartzmann
357 33 Gérald Schwartzmann
h3. Finalisation
358 33 Gérald Schwartzmann
359 33 Gérald Schwartzmann
L'utilisateur doit trouver la doc à jour au moment où il en a besoin.
360 33 Gérald Schwartzmann
Aussi votre documentation doit être faite avant la sortie du paquet en stable.
361 33 Gérald Schwartzmann
Si vous n'avez pas accès au logiciel pour élaborer la doc, posez un signalement dans "Documentations" en mettant le lien vers la page wiki.
362 33 Gérald Schwartzmann
363 31 Gérald Schwartzmann
h2. Fioritures
364 31 Gérald Schwartzmann
365 31 Gérald Schwartzmann
Les couleurs pour uniformiser les applications.
366 31 Gérald Schwartzmann
jaune pâle max #fff999
367 31 Gérald Schwartzmann
jaune pâle mini #ffffcc
368 31 Gérald Schwartzmann
jaune orangé logo Eole #ffcc29
369 31 Gérald Schwartzmann
mauve logo Eole #57537e
370 45 Benoit Vila
371 45 Benoit Vila
h2. Divers
372 45 Benoit Vila
373 45 Benoit Vila
Logiciel de packaging Epack : http://test-eoleng.ac-dijon.fr/eoleng/eole-2.2-security/all/eolepack_2.2-eole37_all.deb