Doc-geting-started » Historique » Version 4
Philippe Caseiro, 19/09/2012 11:56
| 1 | 1 | Philippe Caseiro | h1. Premiers pas |
|---|---|---|---|
| 2 | 1 | Philippe Caseiro | |
| 3 | 1 | Philippe Caseiro | Dans ce documents vous trouverez toutes les étapes pour utiliser le dépôt standard Eole pour le packaging. |
| 4 | 1 | Philippe Caseiro | |
| 5 | 1 | Philippe Caseiro | L'idée de départ de ce dépôt est de fournir un outil qui vous permet de disposer d'un environement prêt a l'emplois |
| 6 | 1 | Philippe Caseiro | pour construire un paquet "Eole". |
| 7 | 1 | Philippe Caseiro | |
| 8 | 1 | Philippe Caseiro | Il suffit de mettre les fichiers dans les bons répertoires. |
| 9 | 1 | Philippe Caseiro | |
| 10 | 1 | Philippe Caseiro | h2. Le dépôt |
| 11 | 1 | Philippe Caseiro | |
| 12 | 2 | Philippe Caseiro | Voici l'arboréscence type d'un dépôts "standardisé" |
| 13 | 1 | Philippe Caseiro | |
| 14 | 2 | Philippe Caseiro | * */src/* |
| 15 | 1 | Philippe Caseiro | ** *<appli>-<version>/* |
| 16 | 1 | Philippe Caseiro | ** *plugins-<version>/nom/* |
| 17 | 1 | Philippe Caseiro | ** *lang-<version>/nom/* |
| 18 | 1 | Philippe Caseiro | * */tmpl/* |
| 19 | 1 | Philippe Caseiro | * */dicos/* |
| 20 | 1 | Philippe Caseiro | * */pretemplate/* |
| 21 | 1 | Philippe Caseiro | * */posttemplate/* |
| 22 | 1 | Philippe Caseiro | * */postservice/* |
| 23 | 1 | Philippe Caseiro | * */sql/* |
| 24 | 1 | Philippe Caseiro | ** *gen/* |
| 25 | 1 | Philippe Caseiro | ** *updates/* |
| 26 | 1 | Philippe Caseiro | ** *conf/* |
| 27 | 1 | Philippe Caseiro | *** *gen/* |
| 28 | 1 | Philippe Caseiro | *** *updates/* |
| 29 | 1 | Philippe Caseiro | *** *pwd/* |
| 30 | 1 | Philippe Caseiro | * */sso/* |
| 31 | 1 | Philippe Caseiro | ** *filtres/* |
| 32 | 1 | Philippe Caseiro | ** *user-info/* |
| 33 | 1 | Philippe Caseiro | * */ldap/* |
| 34 | 1 | Philippe Caseiro | ** *pwd/* |
| 35 | 1 | Philippe Caseiro | * */sharenvole/* |
| 36 | 3 | Philippe Caseiro | * _Makefile_ |
| 37 | 3 | Philippe Caseiro | * _eole.mk_ |
| 38 | 3 | Philippe Caseiro | * _apps.mk_ |
| 39 | 1 | Philippe Caseiro | |
| 40 | 1 | Philippe Caseiro | Commentaires : |
| 41 | 1 | Philippe Caseiro | |
| 42 | 1 | Philippe Caseiro | table{border:1px solid black}. |
| 43 | 2 | Philippe Caseiro | | */src/* | _Répertoire a destination des sources de l'application_ | |
| 44 | 2 | Philippe Caseiro | | */src/<appli>-<version>/* | _Code source de l'application avec la possibilité de faire cohabiter plusieurs versions lors des mises à jour_ | |
| 45 | 1 | Philippe Caseiro | | */src/plugins-<version>/* | _Répertoire contenant les plugins externes et ceux développés en interne pour cette version de l'application (un sous-répertoire par plugin)_ | |
| 46 | 2 | Philippe Caseiro | | */src/lang-<version>/* | _Répertoire des traductions pour cette version (un sous-répertoire par langue)_ | |
| 47 | 2 | Philippe Caseiro | | */tmpl/* | _Répertoire des templates eole_ | |
| 48 | 2 | Philippe Caseiro | | */dicos/* | _Répertoire des dictionnaires eole (XX_<appli>.xml)_ | |
| 49 | 2 | Philippe Caseiro | | */pretemplate/* | _Répertoire des scripts (shell ou python) de pretemplate_ | |
| 50 | 2 | Philippe Caseiro | | */posttemplate/* | _Répertoire des scripts (shell ou python) de posttemplate_ | |
| 51 | 2 | Philippe Caseiro | | */postservice/* | _Répertoire des scripts (shell ou python) de postservice_ | |
| 52 | 2 | Philippe Caseiro | | */sql/* | _Répertoire des configurations pour la génération et la gestion des mise à jours des bases de données_ | |
| 53 | 2 | Philippe Caseiro | | */sql/gen/* | _Répertoire des scripts sql a exécuter lors de la génération de la base de données_ | |
| 54 | 2 | Philippe Caseiro | | */sql/updates* | _Répertoire des scripts sql a éxécuter lors de mise à jour de la base de données_ | |
| 55 | 2 | Philippe Caseiro | | */sql/conf/* | _Répertoire des configurations pour la gestion de la bases de données_ | |
| 56 | 2 | Philippe Caseiro | | */sql/conf/gen* | _Répertoire du fichier de configuration de génération de la base de données_ | |
| 57 | 2 | Philippe Caseiro | | */sql/conf/updates* | _Répertoire du fichier de configuration des mise à jour de la base de données_ | |
| 58 | 2 | Philippe Caseiro | | */sql/conf/passwords* | _Répertoire du fichier de configuration pour la gestion de mots de passes d'accès à la base de données_ | |
| 59 | 2 | Philippe Caseiro | | */sso/* | _Répertoire des configurations pour la gestion du SSO_ | |
| 60 | 2 | Philippe Caseiro | | */sso/filtres/* | _Répertoire des filtres sso (<appli>.ini, <appli>_apps.ini)_ | |
| 61 | 2 | Philippe Caseiro | | */sso/user-info/* | _Répertoire du profil sso (profil_<appli>.py)_ | |
| 62 | 2 | Philippe Caseiro | | */ldap/* | _Répertoire des configurations pour la gestion des mots de passe d'accès au serveur ldap_ | |
| 63 | 2 | Philippe Caseiro | | */ldap/passwords/* | _Répertoire du fichier de configuration du mot de passe ldap (<appli>.ini)_ | |
| 64 | 2 | Philippe Caseiro | | */sharenvole/* | _Répertoire des scripts historiques d'aide à l'installation des applictions envole (à éviter si possible)_ | |
| 65 | 2 | Philippe Caseiro | | Makefile | _Fichier de règles de "compilation"_ | |
| 66 | 2 | Philippe Caseiro | | eole.mk | _Règles standard Eole ! ne pas changer ce fichier_ | |
| 67 | 1 | Philippe Caseiro | | apps.mk | _Règles pour l'installation de l'application web._ | |
| 68 | 1 | Philippe Caseiro | |
| 69 | 1 | Philippe Caseiro | h2. Etape 1 : Cloner le dépôt |
| 70 | 3 | Philippe Caseiro | |
| 71 | 3 | Philippe Caseiro | @git clone http://dev-eole.ac-dijon.fr/git/eole-skeletor@ |
| 72 | 3 | Philippe Caseiro | <pre> |
| 73 | 3 | Philippe Caseiro | Cloning into 'eole-skeletor'... |
| 74 | 3 | Philippe Caseiro | remote: Counting objects: 83, done. |
| 75 | 3 | Philippe Caseiro | remote: Compressing objects: 100% (71/71), done. |
| 76 | 3 | Philippe Caseiro | remote: Total 83 (delta 26), reused 0 (delta 0) |
| 77 | 3 | Philippe Caseiro | Unpacking objects: 100% (83/83), done. |
| 78 | 3 | Philippe Caseiro | </pre> |
| 79 | 3 | Philippe Caseiro | |
| 80 | 3 | Philippe Caseiro | Vous disposez désormais d'un répertoire _eole-skeletor_. |
| 81 | 3 | Philippe Caseiro | Ce répertoire contiens un exemple type de dépôt standard. |
| 82 | 3 | Philippe Caseiro | |
| 83 | 3 | Philippe Caseiro | h2. Etape 2: Créer votre propre dépôt |
| 84 | 3 | Philippe Caseiro | |
| 85 | 3 | Philippe Caseiro | Lancer les commandes suivantes : |
| 86 | 3 | Philippe Caseiro | |
| 87 | 3 | Philippe Caseiro | @mkdir eole-monappli@ |
| 88 | 3 | Philippe Caseiro | @cd eole-monappli@ |
| 89 | 3 | Philippe Caseiro | @git init .@ |
| 90 | 3 | Philippe Caseiro | @cp ../eole-skeletor/*.mk ../eole-skeletor/Makefile .@ |
| 91 | 3 | Philippe Caseiro | @git add .@ |
| 92 | 3 | Philippe Caseiro | @git commit -am "Premier commit : Ajout des fichiers Makefile standard"@ |
| 93 | 3 | Philippe Caseiro | |
| 94 | 4 | Philippe Caseiro | <pre> |
| 95 | 4 | Philippe Caseiro | user@host:code $ mkdir eole-monappli |
| 96 | 4 | Philippe Caseiro | user@host:code $ cd eole-monappli |
| 97 | 4 | Philippe Caseiro | user@host:code/eole-monappli $ git init . |
| 98 | 4 | Philippe Caseiro | Initialized empty Git repository in /tmp/eole-monappli/.git/ |
| 99 | 4 | Philippe Caseiro | user@host:code/eole-monappli $ cp ../eole-skeletor/*.mk ../eole-skeletor/Makefile . |
| 100 | 4 | Philippe Caseiro | user@host:code/eole-monappli $ git add . |
| 101 | 4 | Philippe Caseiro | user@host:code/eole-monappli $ git commit -am "Premier commit : Ajout des fichiers Makefile standard" |
| 102 | 4 | Philippe Caseiro | [master (root-commit) 1be6951] Premier commit : Ajout des fichiers Makefile standard |
| 103 | 4 | Philippe Caseiro | 3 files changed, 195 insertions(+) |
| 104 | 4 | Philippe Caseiro | create mode 100644 Makefile |
| 105 | 4 | Philippe Caseiro | create mode 100644 apps.mk |
| 106 | 4 | Philippe Caseiro | create mode 100644 eole.mk |
| 107 | 4 | Philippe Caseiro | user@host:code/eole-monappli $ |
| 108 | 4 | Philippe Caseiro | </pre> |
| 109 | 3 | Philippe Caseiro | |
| 110 | 4 | Philippe Caseiro | h2. Etape 3: Mise en place des fichiers (dico,templates,sources,configurations ...) |
| 111 | 4 | Philippe Caseiro | |
| 112 | 4 | Philippe Caseiro | Le principe est simple pour que le "Makefile" installe votre fichier au bon endroit, il suffit de créer le répertoire et |
| 113 | 4 | Philippe Caseiro | de mettre votre fichier dans le dit répertoire. |
| 114 | 4 | Philippe Caseiro | |
| 115 | 4 | Philippe Caseiro | h3. Exemple d'ajout diconnaire "Eole" : |
| 116 | 4 | Philippe Caseiro | |
| 117 | 4 | Philippe Caseiro | Il suffit de lancer les commandes suivantes : |
| 118 | 4 | Philippe Caseiro | |
| 119 | 4 | Philippe Caseiro | @mkdir dicos@ |
| 120 | 4 | Philippe Caseiro | @cp XX_nom_appli.xml dicos@ |
| 121 | 4 | Philippe Caseiro | |
| 122 | 3 | Philippe Caseiro | <pre> |
| 123 | 4 | Philippe Caseiro | user@host:code/eole-monappli $ mkdir dicos |
| 124 | 4 | Philippe Caseiro | user@host:code/eole-monappli $ ls |
| 125 | 4 | Philippe Caseiro | apps.mk dicos/ eole.mk Makefile |
| 126 | 4 | Philippe Caseiro | user@host:code/eole-monappli $ cp /emplacement/de/mon/dico/XX_nom_appli.xml dicos |
| 127 | 4 | Philippe Caseiro | user@host:code/eole-monappli $ ls dicos |
| 128 | 4 | Philippe Caseiro | XX_nom_appli.xml |
| 129 | 3 | Philippe Caseiro | </pre> |
| 130 | 4 | Philippe Caseiro | |
| 131 | 4 | Philippe Caseiro | Pour l'ajout d'un template la procédure est la même avec le répertoire tmpl |
| 132 | 4 | Philippe Caseiro | |
| 133 | 4 | Philippe Caseiro | h3. Exemple d'ajout de la génération d'une base de données |
| 134 | 4 | Philippe Caseiro | |
| 135 | 4 | Philippe Caseiro | h4. Création de l'arborescence: |
| 136 | 4 | Philippe Caseiro | |
| 137 | 4 | Philippe Caseiro | <pre> |
| 138 | 4 | Philippe Caseiro | ├── sql |
| 139 | 4 | Philippe Caseiro | │ ├── conf |
| 140 | 4 | Philippe Caseiro | │ │ ├── gen |
| 141 | 4 | Philippe Caseiro | │ │ │ └── mon_appi.py |
| 142 | 4 | Philippe Caseiro | │ │ └── passwords |
| 143 | 4 | Philippe Caseiro | │ │ └── monappli.ini |
| 144 | 4 | Philippe Caseiro | │ └── gen |
| 145 | 4 | Philippe Caseiro | │ ├── premier_script.sql |
| 146 | 4 | Philippe Caseiro | │ └── second_script.sql |
| 147 | 4 | Philippe Caseiro | </pre> |
| 148 | 4 | Philippe Caseiro | |
| 149 | 4 | Philippe Caseiro | @mkdir -p sql/conf/gen sql/conf/passwords sql/gen@ |
| 150 | 4 | Philippe Caseiro | |
| 151 | 4 | Philippe Caseiro | <pre> |
| 152 | 4 | Philippe Caseiro | user@host:code/eole-monappli $ mkdir -p sql/conf/gen sql/conf/passwords sql/gen |
| 153 | 4 | Philippe Caseiro | user@host:code/eole-monappli $ ls -R sql |
| 154 | 4 | Philippe Caseiro | sql: |
| 155 | 4 | Philippe Caseiro | conf/ gen/ |
| 156 | 4 | Philippe Caseiro | |
| 157 | 4 | Philippe Caseiro | sql/conf: |
| 158 | 4 | Philippe Caseiro | gen/ passwords/ |
| 159 | 4 | Philippe Caseiro | |
| 160 | 4 | Philippe Caseiro | sql/conf/gen: |
| 161 | 4 | Philippe Caseiro | |
| 162 | 4 | Philippe Caseiro | sql/conf/passwords: |
| 163 | 4 | Philippe Caseiro | |
| 164 | 4 | Philippe Caseiro | sql/gen: |
| 165 | 4 | Philippe Caseiro | user@host:code/eole-monappli $ tree |
| 166 | 4 | Philippe Caseiro | sql |
| 167 | 4 | Philippe Caseiro | ├── conf |
| 168 | 4 | Philippe Caseiro | │ ├── gen |
| 169 | 4 | Philippe Caseiro | │ └── passwords |
| 170 | 4 | Philippe Caseiro | └── gen |
| 171 | 4 | Philippe Caseiro | </pre> |
| 172 | 4 | Philippe Caseiro | |
| 173 | 4 | Philippe Caseiro | h4. Création des fichiers de configurations |
| 174 | 4 | Philippe Caseiro | |
| 175 | 4 | Philippe Caseiro | Pour créer une base de données il faut plusieurs fichiers. |
| 176 | 4 | Philippe Caseiro | * Un fichier de configuration pour la génération |
| 177 | 4 | Philippe Caseiro | * Un fichier de configuration pour la gestion des mots de passe d'accès à la base |
| 178 | 4 | Philippe Caseiro | * Les scripts SQL pour la création et l'initialisation de la base de donéés |
| 179 | 4 | Philippe Caseiro | |
| 180 | 4 | Philippe Caseiro | h5. Fichier de Configuration pour la génération : |
| 181 | 4 | Philippe Caseiro | |
| 182 | 4 | Philippe Caseiro | Ce fichier contiens les instructions nécessaire à la génération de la bases en voici un exemple : |
| 183 | 4 | Philippe Caseiro | |
| 184 | 4 | Philippe Caseiro | <pre><code class="python"> |
| 185 | 4 | Philippe Caseiro | #-*-coding:utf-8-*- |
| 186 | 4 | Philippe Caseiro | ########################################################################### |
| 187 | 4 | Philippe Caseiro | # Eole NG - 2011 |
| 188 | 4 | Philippe Caseiro | # Copyright Pole de Competence Eole (Ministere Education - Academie Dijon) |
| 189 | 4 | Philippe Caseiro | # Licence CeCill cf /root/LicenceEole.txt |
| 190 | 4 | Philippe Caseiro | # eole@ac-dijon.fr |
| 191 | 4 | Philippe Caseiro | # |
| 192 | 4 | Philippe Caseiro | # gepi.py |
| 193 | 4 | Philippe Caseiro | # |
| 194 | 4 | Philippe Caseiro | # Création de la base de données mysql de gepi |
| 195 | 4 | Philippe Caseiro | # |
| 196 | 4 | Philippe Caseiro | ########################################################################### |
| 197 | 4 | Philippe Caseiro | """ |
| 198 | 4 | Philippe Caseiro | Config pour gepi |
| 199 | 4 | Philippe Caseiro | """ |
| 200 | 4 | Philippe Caseiro | from eolesql.db_test import db_exists, test_var |
| 201 | 4 | Philippe Caseiro | |
| 202 | 4 | Philippe Caseiro | GEPI_TABLEFILENAMES = ['/usr/share/eole/mysql/gepi/gen/gepi-create-0-initeole.sql', |
| 203 | 4 | Philippe Caseiro | '/usr/share/eole/mysql/gepi/gen/gepi-create-1-structure.sql', |
| 204 | 4 | Philippe Caseiro | '/usr/share/eole/mysql/gepi/gen/gepi-create-2-data.sql', |
| 205 | 4 | Philippe Caseiro | '/usr/share/eole/mysql/gepi/gen/gepi-create-3-ajouteole.sql'] |
| 206 | 4 | Philippe Caseiro | def test(): |
| 207 | 4 | Philippe Caseiro | """ |
| 208 | 4 | Philippe Caseiro | test l'existence de la base gepi |
| 209 | 4 | Philippe Caseiro | """ |
| 210 | 4 | Philippe Caseiro | return test_var('activer_gepi') and not db_exists('gepi') |
| 211 | 4 | Philippe Caseiro | |
| 212 | 4 | Philippe Caseiro | conf_dict = dict(filenames=GEPI_TABLEFILENAMES, |
| 213 | 4 | Philippe Caseiro | test=test) |
| 214 | 4 | Philippe Caseiro | </code></pre> |