Projet

Général

Profil

Wiki » Historique » Version 22

Lionel Morin, 26/09/2014 15:04

1 15 Laurent Flori
h1. Développement à partir du squelette eoleflask (Ébauche)
2 1 Laurent Flori
3 1 Laurent Flori
h2. Préparation de l'application:
4 1 Laurent Flori
5 1 Laurent Flori
    * installer le paquet *python-eoleflask*
6 1 Laurent Flori
    * cloner le dépot *eole-skeletor*
7 17 Laurent Flori
    * lancer le script: ./bootstrap-eoleflask-app.sh [monappli]
8 1 Laurent Flori
>  Cela prépare les fichiers nécessaires à une application flask pour EOLE  dans le répertoire *src/monappli*:
9 1 Laurent Flori
>  le répertoire du module lui même: *src/monappli*
10 1 Laurent Flori
>  le fichier qui permettra d'activer l'application dans le serveur: *src/monappli.conf*
11 1 Laurent Flori
12 1 Laurent Flori
h2. Lancer l'application:
13 1 Laurent Flori
14 12 Laurent Flori
    * créer un fichier src/monappli/static/index.html
15 1 Laurent Flori
    * lancer le script ./eoleflask-dev-server.py
16 1 Laurent Flori
    * ouvrir un navigateur à l'adresse http://localhost:8080/
17 1 Laurent Flori
18 13 Laurent Flori
-*Attention* : en tant que developpeur, vous ne devez jamais installer le paquet (le .deb) de votre application sur votre machine de test. Si vous faites cela, le serveur de test ./eoleflask-dev-server.py vous présentera les fichiers du paquet et non plus les fichiers de développement.- cf #5233
19 3 Laurent Flori
20 1 Laurent Flori
h2. Développement de l'application:
21 1 Laurent Flori
22 1 Laurent Flori
    * Tout les fichiers de l'application se trouvent dans le répertoire src/:
23 1 Laurent Flori
<pre>
24 1 Laurent Flori
25 1 Laurent Flori
        src/
26 2 Laurent Flori
        |-- monappli
27 1 Laurent Flori
        |   |-- __init__.py
28 1 Laurent Flori
        |   |-- static
29 1 Laurent Flori
        |   |   `-- index.html
30 1 Laurent Flori
        |   `-- views.py
31 2 Laurent Flori
        `-- monappli.conf
32 1 Laurent Flori
33 1 Laurent Flori
</pre>
34 1 Laurent Flori
35 1 Laurent Flori
* La logique de l'application se trouve dans le fichier *src/monappli/views.py*
36 1 Laurent Flori
* Tous les fichiers statiques se trouvent dans src/monappli/static
37 1 Laurent Flori
* La documentation Flask se trouve la: http://flask.pocoo.org/docs/
38 1 Laurent Flori
39 1 Laurent Flori
h2. Intégration dans une machine de test:
40 9 Laurent Flori
41 9 Laurent Flori
*-- A revoir/Étoffer*
42 1 Laurent Flori
43 1 Laurent Flori
    * installer les paquets python-eoleflask et eole-flask-server
44 1 Laurent Flori
    * installer votre application avec un make install
45 6 Laurent Flori
    * activer votre application avec: /usr/share/eole/sbin/eflkctl enable monappli
46 1 Laurent Flori
    * relancer le serveur avec /etc/init.d/eoleflask restart
47 11 Laurent Flori
    * l'application est disponible à l'adresse http://[ip_machine_de_test]:7000/monappli
48 1 Laurent Flori
49 1 Laurent Flori
*-- Fin de A revoir/Étoffer*
50 18 Laurent Flori
51 18 Laurent Flori
52 18 Laurent Flori
h2. Organisation du code de l'application (écriture en cours):
53 18 Laurent Flori
54 18 Laurent Flori
mettre la logique métier dans une lib.py et que le views soit juste le binding entre l’API rest et l’API python.
55 18 Laurent Flori
le lib.py devienne un paquet deb à part
56 19 Lionel Morin
57 19 Lionel Morin
h2. Gestion des 2 instances flask
58 19 Lionel Morin
59 22 Lionel Morin
2 instances d'eoleflask sont mises en place avec des services différents :
60 19 Lionel Morin
61 21 Lionel Morin
h3. Instance eoleflask
62 1 Laurent Flori
63 22 Lionel Morin
* localhost:5000 (eventuellement, renommer le service eoleadmin pour plus de clarté)
64 22 Lionel Morin
* sert eoleauth/genconfig et tourne dans le conteneur maitre
65 1 Laurent Flori
66 21 Lionel Morin
h3. Instance eoleapps
67 1 Laurent Flori
68 22 Lionel Morin
* localhost:10000
69 22 Lionel Morin
* sert eoleauth et les applis web flask (EOP pour le moment) grace à un reverse proxy apache
70 22 Lionel Morin
* possibilité de la désactiver (en mode expert, famille Eole-Flask)
71 21 Lionel Morin
72 21 Lionel Morin
h3. Activation d'une application pour une instance
73 19 Lionel Morin
74 22 Lionel Morin
* Exemple d'activation d'eolegenconfig dans l'instance eoleadmin
75 19 Lionel Morin
# eflkctl enable eolegenconfig *eoleadmin*
76 19 Lionel Morin
# service eoleflask restart
77 19 Lionel Morin
78 22 Lionel Morin
* Exemple pour rendre eop accessible dans l'instance eoleapps:
79 20 Lionel Morin
# eflkctl enable eop *eoleapps*
80 20 Lionel Morin
# service eoleapps restart
81 20 Lionel Morin
82 20 Lionel Morin
83 20 Lionel Morin
84 20 Lionel Morin
PREFIX