Carnet Wiki

Cahier des charges du plugin « SPIP_MINE »

Version 9 — Juillet 2009 Cyril Marion

Objectifs

Mettre à disposition de ceux que ça intéresse un ensemble de plugins qui permettent de gérer au quotidien toutes les phases de création, de mise en ligne et d’entretien de sites web.

Il se trouve que j’ai déjà développé la plupart de ces plugins, pour une utilisation personnelle au quotidien. Cependant ces plugins ont été développés au fil de l’eau et de mes besoins, et n’ont pas été vraiment pensés pour être diffusés dès le départ. Donc l’idée ici est de voir comment on peut les adapter pour une diffusion large auprès de la communauté SPIP.

Comment appeler l’ensemble des plugins ?

Chez moi ça s’appelle « cym_projets » ;-) mais ce n’est pas un nom générique et c’est trop typé. J’aimerais bien que ça s’appelle « ateliers » mais je crois qu’il existe déjà un plugin "ateliers". ça pourrait aussi s’appeler « spip_agency »... Mais s’il y a d’autres propositions...

b_b : Pouquoi pas "gestion_projets" tout simplement ?
XD : Je trouve pas ça très sexy, pas très fun. spip_agency me plaît plus. Ou spip_babel, puisque ce plugin fera le lien entre tous les corps de métiers et les clients finaux :)
marcimat : Je n’aime pas "spip_agency" perso... "Project" ou "Projet" ou "gestion_projets" me plait un peu mieux.
vxl : j’ai un projet en cours de squelette de site destiné au suivi de projet ou au travail collaboratif sur la zone : http://zone.spip.org/trac/spip-zone/browser/_squelettes_/spip-projets destiné à l’intranet d’une association. Mais c’est plus limité que cette idée.

Résultat

Résultat des votes votes sur l’appellation...</h4 </h2 > Bon, on a réfléchi, et par référence à la fois au gestionnaire de contacts "GOLDMINE« et au gestionnaire de projets »REDMINE" on propose d’appeler le projet tout simplement "SPIP MINE"... Qu’en pensez-vous ?

Fonctionnalités

On peut déjà manipuler les éléments suivants :
-  des "clients" (faut-il trouver un autre terme ?) => table clients (ou société, voir avec inscription II)
-  des projets => table projets
-  des devis et des factures => tables factures
-  du temps passé, ou à passer, sur des projets => table actions

D’autre part s’ajoutent d’autres éléments qui peuvent être gérés / manipulés :
-  les cahiers des charges => déjà fait ( ce sont des rubriques articles standard, sauf qu’elles sont liées à un client)
-  les comparatifs de sites => en cours, fait à 60% (table supplémentaire évaluation)
-  les maquettes graphiques => déjà fait (rub et art classique, liée client)
-  les cahiers de développement (je les ai appelés comme ça, mais ça s’apparente beaucoup à des wiki) => déjà fait
-  la documentation => déjà fait
-  la formation => en cours, fait à 30%

Tables

tables principales
-  table clients + contacts
-  table projets + actions
-  table factures + lignes_facture
-  table evaluations (pour le benchmark)

tables de liaison
-  tables clients_rubriques => permet d’attribuer une rubrique à un client

Autres plugins qui peuvent être utilisés en même temps


-  inscription II => n’est pas utilisé pour l’instant, mais pourrait remplacer ma table client (société) et contact (auteurs)
-  tickets => pour demander des actions, gérer la fin de production d’un site ; j’ai vu qu’il y a déjà un id_projet dans la table !!
-  accès restreint => pour l’interface client
-  S5 => pour la partie formations
-  notation => en complément de évaluation

Distribution « par petits bouts »

Les gens ne seront pas forcément intéressés par avoir tous les modules en même temps ; on peut vouloir l’outil de maquettes, mais pas l’outil de facture par exemple. Cela dit, les tables clients et projets sont nécessaires aux deux fonctions ; voir comment on peut imaginer la "modularité" du truc

Proposition

Proposition de découpage</h4 découpage</h2 > On propose de livrer plusieurs modules indépendants :
  • module spip_mine_COMPTES => gère les tables :
    • spip_mine_comptes (equivaut à d’autres nommages tels que « clients/prospects », ou « institutions » ou « associations », ou même encore « groupes » ou « grappes » ;-))
    • spip_mine_contacts (un peu comme avec spip_auteurs_etendu, ajoute un nom de famille)
    • spip_mine_lieux : pour pouvoir attribuer des lieux à des contacts ou des comptes
    • spip_mine_telephones
    • spip_mine_mails
  • module spip_mine_PROJETS => gère les tables :
    • spip_mine_projets
    • spip_mine_actions (des actions sont réalisées dans le cadre d’un projet)
    • voir la liaison avec les auteurs, qui effectuent des actions... ou table spip_mine_users ?
  • module spip_mine_FACTURES => gère les tables :
    • spip_mine_factures
    • spip_mine_lignes_facture (une facture est composée de plusieurs lignes)
    • pourrait s’appeler spip_mine_docs, un doc pouvant etre une facture mais aussi un devis, un avoir, une proforma...
  • module spip_mine_SPECIFICATIONS
    • gère des spécifications ou des cahiers des charges...
    • pourrait s’appeler « cahier des charges »
  • module spip_mine_MAQUETTES
    • gère les propositions graphiques liées à un projet
  • module spip_mine_BENCHMARK
    • gère les comparatifs de sites, peut etre lié au plugin « notation » ?

Pour les modules « formation », « documentation (site) » et « cahiers de développement », pour l’instant le système actuel d’articles/rubriques SPIP est tout à fait fonctionnel, ne nécessite pas de tables supplémentaires ; un squelette adhoc est suffisant.

Compléments

L’ensemble des plugins peut être bouclé avec une interface destinée aux utilisateurs (clients ?) des sites conçus et gérés grâce aux plugins, et qui leur permettent de suivre les projets, de voir les maquettes, de commenter les cahiers des charges, de suivre les factures... => déjà fait à 75%