L'intervention d'OusmaneWilane : 100h de développement sur différents sujets

Si vous avez un accès RPV jusqu'à Dakar, voir le code sur http://trac.sn.auf/guia/

Gestion des extensions (plugins)

En gros nous avons le cœur de l'application (main - également application Django) avec un répertoire pour les greffons (main/plugins).

Chaque greffon dispose d'un sous-répertoire contenant un « constructeur » __init__.py pour l'initialisation de la classe métier principale.

La classe principale du greffon est liée à la classe utilisateur par un lien foreign key Django et est censée invoquer la classe extra_utilisateur pour la persistance des données (variable/valeur) en invoquant la méthode save() de celle-ci et en inhibant la sienne. Ensuite la classe définit sa logique métier qu'elle connaît mieux que personne.

Accès ligne de commande (CLI)

Copier/coller d'un mail d'Ousmane (23 nov)

Top-Down

Nous fournissons toute les commandes add{user,group} les plus proches possibles des classiques fournissant les propriétés intéressantes ajoutées au modèle de données que vous avez retenu.

Ces commandes invoquent directement l'API gracieusement offerte par Django pour:

Bottom-up

La même chose que ce qu'on a dit hier:

Le Point

Côté implémentation de tout ceci j'ai pas du tout avancer (en fait j'ai rien foutu depuis que je suis parti du bureau hier) et donc le point ou j'en suis c'est de trouver une façon élégante pour les plugins de s'intégrer dans l'API après coup. Je te dirais dans la journée comment j'avance. Dans tous les cas l'objectif actuellement c'est de faire une intégration fonctionnelle nous permettant de revenir après de façon transparente sur l'intégration des plugins (sans déranger les interfaces qu'on fournit admin et CLI principalement)

ETAT AU 23/11/2006

Un modèle de greffon qui fonctionne en gros avec un annuaire de plugin (activer/ désactiver le plugin main/plugins/init.py). En gros c'est juste un modèle dans plusieurs fichiers (plugins). L'interface Admin possède les mêmes objet. Le truc c'est qu'actuellement les greffons possèdent leurs propre table et font une mise-à-jour explicite de la table extra_utilisateur dans leurs méthodes save(), ce qui permet de trouver une autre façon d'implémenter tout ça de façon transparente une fois qu'on a une API qui tourne.

attachment:Acceuil.png attachment:AjoutUtilisateur.png attachment:Utilisateurs.png

A Faire pour une v0.1

D'autres tâches ?