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