EnvoleBonnesPratiques » Historique » Version 18
Gérald Schwartzmann, 11/03/2010 15:32
1 | 1 | Gérald Schwartzmann | {{include(ModeleEbauche)}} |
---|---|---|---|
2 | 5 | Gérald Schwartzmann | |
3 | 5 | Gérald Schwartzmann | h1. Les Bonnes Pratiques |
4 | 6 | Gérald Schwartzmann | |
5 | 7 | Gérald Schwartzmann | h2. Documentations, sources et articles wiki |
6 | 8 | Gérald Schwartzmann | |
7 | 12 | Gérald Schwartzmann | Voici "Les bonnes pratiques sur le nommage des applications EOLE":http://eole.orion.education.fr/wiki/index.php/DocumentationDokiel |
8 | 6 | Gérald Schwartzmann | |
9 | 9 | Gérald Schwartzmann | h2. Git |
10 | 6 | Gérald Schwartzmann | |
11 | 7 | Gérald Schwartzmann | h3. Placement |
12 | 1 | Gérald Schwartzmann | |
13 | 11 | Gérald Schwartzmann | Les applications de Envole sont des sous-projets de "Envole":http://dev-eole.ac-dijon.fr/projects/envole . |
14 | 13 | Gérald Schwartzmann | Dans le dépôt ils apparaissent les un à côté des autres (à plat). |
15 | 1 | Gérald Schwartzmann | |
16 | 13 | Gérald Schwartzmann | h3. Les Bonnes Pratiques |
17 | 13 | Gérald Schwartzmann | "Les Bonnes Pratiques":http://dev-eole.ac-dijon.fr/projects/eole-interne/wiki/GitBonnesPratiques |
18 | 13 | Gérald Schwartzmann | |
19 | 1 | Gérald Schwartzmann | h3. Nommage |
20 | 8 | Gérald Schwartzmann | |
21 | 14 | Gérald Schwartzmann | Le nom des sous-projets doivent être en minuscule |
22 | 6 | Gérald Schwartzmann | |
23 | 13 | Gérald Schwartzmann | Exemple dans la liste des sous-projets : http://dev-eole.ac-dijon.fr/projects/envole |
24 | 6 | Gérald Schwartzmann | |
25 | 14 | Gérald Schwartzmann | h3. Structure du Master |
26 | 6 | Gérald Schwartzmann | |
27 | 14 | Gérald Schwartzmann | Puisque votre développement n'est pas la branche d'un projet déjà existant on réalise un master.<br /> |
28 | 14 | Gérald Schwartzmann | Pour cela il faut créer selon les besoins de votre application les fichiers et répertoires suivant : |
29 | 6 | Gérald Schwartzmann | - Makefile |
30 | 6 | Gérald Schwartzmann | - debian/ |
31 | 6 | Gérald Schwartzmann | - dicos/ |
32 | 6 | Gérald Schwartzmann | - mysql/ |
33 | 6 | Gérald Schwartzmann | - patch/ |
34 | 6 | Gérald Schwartzmann | - sso/ |
35 | 6 | Gérald Schwartzmann | - source_de_votre_appli_num_de_version/ |
36 | 6 | Gérald Schwartzmann | - tmpls/ |
37 | 6 | Gérald Schwartzmann | - etc/ |
38 | 6 | Gérald Schwartzmann | |
39 | 14 | Gérald Schwartzmann | Exemple : http://dev-eole.ac-dijon.fr/projects/dokuwiki/repository |
40 | 6 | Gérald Schwartzmann | |
41 | 7 | Gérald Schwartzmann | h2. Les fichiers templates |
42 | 8 | Gérald Schwartzmann | |
43 | 6 | Gérald Schwartzmann | 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. |
44 | 6 | Gérald Schwartzmann | |
45 | 6 | Gérald Schwartzmann | Exemple du fichier config.php qui est présent dans une bonne partie des applications : |
46 | 6 | Gérald Schwartzmann | |
47 | 6 | Gérald Schwartzmann | taskfreak_config.php |
48 | 6 | Gérald Schwartzmann | |
49 | 7 | Gérald Schwartzmann | h2. Dico |
50 | 8 | Gérald Schwartzmann | |
51 | 7 | Gérald Schwartzmann | h3. Nommage |
52 | 8 | Gérald Schwartzmann | |
53 | 6 | Gérald Schwartzmann | Les applications du socle |
54 | 6 | Gérald Schwartzmann | <pre>5x_nom_de_l_application.xml</pre> |
55 | 6 | Gérald Schwartzmann | Les applications supplémentaires au socle |
56 | 6 | Gérald Schwartzmann | <pre>6x_nom_de_l_application.xml</pre> |
57 | 6 | Gérald Schwartzmann | x étant supérieur à 0 |
58 | 6 | Gérald Schwartzmann | |
59 | 7 | Gérald Schwartzmann | h3. construction du fichier |
60 | 8 | Gérald Schwartzmann | |
61 | 15 | Gérald Schwartzmann | {{include(ModeleFixme)}} |
62 | 6 | Gérald Schwartzmann | |
63 | 7 | Gérald Schwartzmann | h2. Paquetage |
64 | 8 | Gérald Schwartzmann | |
65 | 6 | Gérald Schwartzmann | eole-nom_de_l_application |
66 | 6 | Gérald Schwartzmann | |
67 | 7 | Gérald Schwartzmann | h2. Apache |
68 | 1 | Gérald Schwartzmann | |
69 | 15 | Gérald Schwartzmann | h3. nommage du fichier de conf dans sites-enabled |
70 | 15 | Gérald Schwartzmann | |
71 | 6 | Gérald Schwartzmann | Un fichier de conf apache par application : |
72 | 1 | Gérald Schwartzmann | <pre>apache-nom_de_l_application.conf</pre> |
73 | 15 | Gérald Schwartzmann | |
74 | 15 | Gérald Schwartzmann | h3. contenu du fichier de conf dans sites-enabled |
75 | 15 | Gérald Schwartzmann | |
76 | 16 | Gérald Schwartzmann | Si un projet ne contient pas de .htaccess il faut ajouter la directive *AllowOverride None*. |
77 | 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. |
78 | 16 | Gérald Schwartzmann | |
79 | 18 | Gérald Schwartzmann | Date d'expiration du cache proxy ou navigateur. |
80 | 18 | Gérald Schwartzmann | Régler correctement et finement le cache des clients permet d'éviter un grand nombre de requête. |
81 | 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"* |
82 | 18 | Gérald Schwartzmann | |
83 | 18 | Gérald Schwartzmann | <pre> |
84 | 18 | Gérald Schwartzmann | <IfModule mod_expires.c> |
85 | 18 | Gérald Schwartzmann | ExpiresActive On |
86 | 18 | Gérald Schwartzmann | ExpiresByType text/html "access plus 1 day" |
87 | 18 | Gérald Schwartzmann | </IfModule> |
88 | 18 | Gérald Schwartzmann | </pre> |
89 | 18 | Gérald Schwartzmann | |
90 | 18 | Gérald Schwartzmann | Exemple complet d'un fichier de configuration d'une application : |
91 | 16 | Gérald Schwartzmann | |
92 | 16 | Gérald Schwartzmann | <pre> |
93 | 16 | Gérald Schwartzmann | # Envole Infos |
94 | 16 | Gérald Schwartzmann | # Equipe EOLE |
95 | 16 | Gérald Schwartzmann | Alias /envole-infos /var/www/html/envole-infos |
96 | 16 | Gérald Schwartzmann | <Directory "/var/www/html/envole-infos"> |
97 | 17 | Gérald Schwartzmann | AllowOverride None |
98 | 16 | Gérald Schwartzmann | AddDefaultCharset UTF-8 |
99 | 16 | Gérald Schwartzmann | DirectoryIndex index.php |
100 | 16 | Gérald Schwartzmann | Order Allow,Deny |
101 | 16 | Gérald Schwartzmann | Allow from All |
102 | 16 | Gérald Schwartzmann | <IfModule mod_expires.c> |
103 | 16 | Gérald Schwartzmann | ExpiresActive On |
104 | 16 | Gérald Schwartzmann | ExpiresByType text/html "access plus 1 day" |
105 | 16 | Gérald Schwartzmann | ExpiresByType text/xml "access plus 1 day" |
106 | 16 | Gérald Schwartzmann | ExpiresByType image/gif "access plus 1 week" |
107 | 16 | Gérald Schwartzmann | ExpiresByType image/jpg "access plus 1 week" |
108 | 16 | Gérald Schwartzmann | ExpiresByType image/png "access plus 1 week" |
109 | 16 | Gérald Schwartzmann | ExpiresByType video/quicktime "access plus 1 month" |
110 | 16 | Gérald Schwartzmann | ExpiresByType audio/mpeg "access plus 1 month" |
111 | 16 | Gérald Schwartzmann | ExpiresByType application/pdf "access plus 1 month" |
112 | 16 | Gérald Schwartzmann | ExpiresByType application/ps "access plus 1 month" |
113 | 16 | Gérald Schwartzmann | ExpiresByType text/css "access plus 1 day" |
114 | 16 | Gérald Schwartzmann | ExpiresByType application/x-shockwave-flash "access plus 1 day" |
115 | 16 | Gérald Schwartzmann | ExpiresByType text/js "access plus 1 week" |
116 | 16 | Gérald Schwartzmann | ExpiresByType text/javascript "access plus 1 week" |
117 | 16 | Gérald Schwartzmann | ExpiresByType application/x-javascript "access plus 1 week" |
118 | 16 | Gérald Schwartzmann | ExpiresByType image/x-icon "access plus 1 day" |
119 | 16 | Gérald Schwartzmann | </IfModule> |
120 | 16 | Gérald Schwartzmann | </Directory> |
121 | 16 | Gérald Schwartzmann | </pre> |
122 | 15 | Gérald Schwartzmann | |
123 | 15 | Gérald Schwartzmann | h3. les droits dans /var/www/html/ |
124 | 6 | Gérald Schwartzmann | |
125 | 6 | Gérald Schwartzmann | Les droits de /var/www/html/votre_appli<br /> |
126 | 6 | Gérald Schwartzmann | <pre>chmod -R 755 /var/www/html/moodle |
127 | 6 | Gérald Schwartzmann | chown -R root: /var/www/html/moodle</pre> |
128 | 6 | Gérald Schwartzmann | |
129 | 6 | Gérald Schwartzmann | 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 /> |
130 | 6 | Gérald Schwartzmann | <pre>chown -R www-data: /var/www/html/moodledata</pre> |
131 | 6 | Gérald Schwartzmann | |
132 | 7 | Gérald Schwartzmann | h2. Base de données |
133 | 8 | Gérald Schwartzmann | |
134 | 6 | Gérald Schwartzmann | <pre>scribe-nom_de_l_application.sql</pre> |
135 | 6 | Gérald Schwartzmann | |
136 | 6 | 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.<br /> |
137 | 6 | Gérald Schwartzmann | L'un avec la partie à templétiser et l'autre avec le reste.<br /> |
138 | 6 | Gérald Schwartzmann | Cette découpe fait gagner un temps considérable lors du reconfigure.<br /> |
139 | 6 | Gérald Schwartzmann | |
140 | 7 | Gérald Schwartzmann | h2. {{include(ModeleFixme)}} |
141 | 6 | Gérald Schwartzmann | |
142 | 6 | Gérald Schwartzmann | Où stocker les données des applications d'Envole ?<br /> |
143 | 6 | Gérald Schwartzmann | exemple Moodle<br /> |
144 | 6 | Gérald Schwartzmann | les données sont pour le moment stockées dans /var/www/<br /> |
145 | 6 | Gérald Schwartzmann | serait-ce mieux dans /home/<br /> |
146 | 6 | Gérald Schwartzmann | sauvegarde de Bacule ? |