Evolution #4984
Choix Technologiques
Statut:
Fermé
Priorité:
Normal
Assigné à:
developpeurs_eole
Catégorie:
-
Version cible:
-
Début:
04/03/2013
Echéance:
19/04/2013
% réalisé:
60%
Distribution:
EOLE 2.4
Description
Quels outils pour ce nouveau développement?
Commun avec Zéphir.
Demandes liées
Historique
#1 Mis à jour par Luc Bourdot il y a environ 11 ans
- Statut changé de Nouveau à Accepté
#2 Mis à jour par Laurent Flori il y a environ 11 ans
- Assigné à mis à developpeurs_eole
#3 Mis à jour par Laurent Flori il y a environ 11 ans
- Version cible mis à Eole 2.4-dev-2
#4 Mis à jour par Luc Bourdot il y a environ 11 ans
- Echéance changé de 08/03/2013 à 15/03/2013
#5 Mis à jour par Joël Cuissinat il y a environ 11 ans
- Echéance changé de 15/03/2013 à 22/03/2013
#6 Mis à jour par Joël Cuissinat il y a environ 11 ans
- Version cible changé de Eole 2.4-dev-2 à Eole 2.4-dev-3
- % réalisé changé de 0 à 20
#7 Mis à jour par Luc Bourdot il y a environ 11 ans
- Echéance changé de 22/03/2013 à 29/03/2013
#8 Mis à jour par Luc Bourdot il y a environ 11 ans
- Echéance changé de 29/03/2013 à 05/04/2013
#9 Mis à jour par Luc Bourdot il y a environ 11 ans
- Echéance changé de 05/04/2013 à 12/04/2013
#10 Mis à jour par Bruno Boiget il y a environ 11 ans
- % réalisé changé de 20 à 60
Les technologies choisies pour développer la nouvelle version de genconfig sont :
- côté serveur : python-flask
- côté client (genconfig) : framework javascript backbone avec librairie bootstrap pour la gestion des widgets/css
Les projets suivant ont été créés :
eole-flask¶
propose un squelette de serveur pour les applications.
- Des outils sont présents pour charger et activer/désactiver les applications (répertoire /etc/eole/falsk/enabled à la 'mode apache').
- Les applications flask sont servies par gunicorn, les fichiers statiques (javascript/css/images ...) peuvent être servis directement par nginx pour améliorer les performances.
eole-genconfig¶
Nouvelle version (web) de genconfig (paquet python-eolegenconfig). Elle comprend les éléments suivants:
- un serveur flask qui charge et maintient des configurations à l'aide de tiramisu.
- une application client en javascript qui gère la saisie des valeurs de configuration.
L'interaction entre le client et le serveur se fait par l'intermédiaire d'un API REST présentée par le serveur flask (échange des données en JSON).
points à étudier¶
- gestion de l'authentification et des autorisations (mode SSO/auth locale, mettre en place un serveur d'autorisations commun à toutes les applications ?)
- stockage des données de configuration dans une base nosql (redis ou autre) côté serveur. Le fait de stocker les valeurs dans l'objet en mémoire empêche d'utiliser plusieurs workers au niveau de gunicorn (chaque worker a sa propre instance de la configuration)
- gestion d'une historisation des valeurs de configuration pour permettre de revenir à un état de configuration précédent (et gérer un historique des modifications effectuées).
#11 Mis à jour par Luc Bourdot il y a environ 11 ans
- Echéance changé de 12/04/2013 à 19/04/2013
#12 Mis à jour par Joël Cuissinat il y a plus de 10 ans
- Version cible changé de Eole 2.4-dev-3 à Eole 2.4-alpha
demande BATEAU par excellence :)
#13 Mis à jour par Joël Cuissinat il y a plus de 10 ans
- Version cible
Eole 2.4-alphasupprimé
#14 Mis à jour par Luc Bourdot il y a plus de 10 ans
- Statut changé de Accepté à Fermé