Projet

Général

Profil

EnvoleBonnesPratiques » Historique » Version 17

Version 16 (Gérald Schwartzmann, 11/03/2010 15:23) → Version 17/75 (Gérald Schwartzmann, 11/03/2010 15:24)

{{include(ModeleEbauche)}}

h1. Les Bonnes Pratiques

h2. Documentations, sources et articles wiki

Voici "Les bonnes pratiques sur le nommage des applications EOLE":http://eole.orion.education.fr/wiki/index.php/DocumentationDokiel

h2. Git

h3. Placement

Les applications de Envole sont des sous-projets de "Envole":http://dev-eole.ac-dijon.fr/projects/envole .
Dans le dépôt ils apparaissent les un à côté des autres (à plat).

h3. Les Bonnes Pratiques
"Les Bonnes Pratiques":http://dev-eole.ac-dijon.fr/projects/eole-interne/wiki/GitBonnesPratiques

h3. Nommage

Le nom des sous-projets doivent être en minuscule

Exemple dans la liste des sous-projets : http://dev-eole.ac-dijon.fr/projects/envole

h3. Structure du Master

Puisque votre développement n'est pas la branche d'un projet déjà existant on réalise un master.<br />
Pour cela il faut créer selon les besoins de votre application les fichiers et répertoires suivant :
- Makefile
- debian/
- dicos/
- mysql/
- patch/
- sso/
- source_de_votre_appli_num_de_version/
- tmpls/
- etc/

Exemple : http://dev-eole.ac-dijon.fr/projects/dokuwiki/repository

h2. Les fichiers templates

Le nom d'un fichier templétisé ne doit pas porté le même nom qu'un autre pour cela il faut préfixer le nom du fichier avec le nom de l'application.

Exemple du fichier config.php qui est présent dans une bonne partie des applications :

taskfreak_config.php

h2. Dico

h3. Nommage

Les applications du socle
<pre>5x_nom_de_l_application.xml</pre>
Les applications supplémentaires au socle
<pre>6x_nom_de_l_application.xml</pre>
x étant supérieur à 0

h3. construction du fichier

{{include(ModeleFixme)}}

h2. Paquetage

eole-nom_de_l_application

h2. Apache

h3. nommage du fichier de conf dans sites-enabled

Un fichier de conf apache par application :
<pre>apache-nom_de_l_application.conf</pre>

h3. contenu du fichier de conf dans sites-enabled

Si un projet ne contient pas de .htaccess il faut ajouter la directive *AllowOverride None*.
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.

Exemple

<pre>
# Envole Infos
# Equipe EOLE
Alias /envole-infos /var/www/html/envole-infos
<Directory "/var/www/html/envole-infos">
AllowOverride None *AllowOverride None*
AddDefaultCharset UTF-8
DirectoryIndex index.php
Order Allow,Deny
Allow from All
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/html "access plus 1 day"
ExpiresByType text/xml "access plus 1 day"
ExpiresByType image/gif "access plus 1 week"
ExpiresByType image/jpg "access plus 1 week"
ExpiresByType image/png "access plus 1 week"
ExpiresByType video/quicktime "access plus 1 month"
ExpiresByType audio/mpeg "access plus 1 month"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType application/ps "access plus 1 month"
ExpiresByType text/css "access plus 1 day"
ExpiresByType application/x-shockwave-flash "access plus 1 day"
ExpiresByType text/js "access plus 1 week"
ExpiresByType text/javascript "access plus 1 week"
ExpiresByType application/x-javascript "access plus 1 week"
ExpiresByType image/x-icon "access plus 1 day"
</IfModule>
</Directory>
</pre>

h3. les droits dans /var/www/html/

Les droits de /var/www/html/votre_appli<br />
<pre>chmod -R 755 /var/www/html/moodle
chown -R root: /var/www/html/moodle</pre>

Pour des raisons de sécurité seuls les fichiers nécessitant d'être modifiés par l'application appartiennent à l'utilisateur avec lequel est lancé apache à savoir www-data<br />
<pre>chown -R www-data: /var/www/html/moodledata</pre>

h2. Base de données

<pre>scribe-nom_de_l_application.sql</pre>

Si la bdd nécessite une templétisation il est préférable de découper la bdd en deux fichiers MySql.<br />
L'un avec la partie à templétiser et l'autre avec le reste.<br />
Cette découpe fait gagner un temps considérable lors du reconfigure.<br />

h2. {{include(ModeleFixme)}}

Où stocker les données des applications d'Envole ?<br />
exemple Moodle<br />
les données sont pour le moment stockées dans /var/www/<br />
serait-ce mieux dans /home/<br />
sauvegarde de Bacule ?