Accordeon » History » Version 6

Vincent MAZENOD, 03/29/2010 06:44 PM

1 4 Vincent MAZENOD
h1. Cahier des charges pour Accordéon CMS V2
2 4 Vincent MAZENOD
3 5 Vincent MAZENOD
{{toc}}
4 1 Vincent MAZENOD
5 5 Vincent MAZENOD
p=.  !http://blogs.guardian.co.uk/technology/archives/images/product_shot_black.jpg!
6 5 Vincent MAZENOD
7 4 Vincent MAZENOD
h2. Cahier des charges technologiques
8 1 Vincent MAZENOD
9 5 Vincent MAZENOD
h3. Librairies existantes
10 5 Vincent MAZENOD
11 5 Vincent MAZENOD
* "symfony 1.4":http://www.symfony-project.org/ pour le framework PHP - support jusqu'à fin 2012
12 5 Vincent MAZENOD
13 5 Vincent MAZENOD
* plugins symfony existants
14 5 Vincent MAZENOD
15 5 Vincent MAZENOD
> * "sfDoctrineGuard":http://www.symfony-project.org/plugins/sfDoctrineGuardPlugin
16 5 Vincent MAZENOD
17 5 Vincent MAZENOD
* "Doctrine1.2":http://www.doctrine-project.org/ pour l'ORM/DAO PHP (basé sur PDO pour la DAL) - plus fonctionnel que propel 
18 5 Vincent MAZENOD
19 5 Vincent MAZENOD
* "Jquery1.4":http://jquery.com/ pour le framework AJAX - plus standard que prototype
20 5 Vincent MAZENOD
21 5 Vincent MAZENOD
* "960gs":http://960.gs/ pour le framework CSS
22 5 Vincent MAZENOD
23 5 Vincent MAZENOD
Le code devra être le plus concis possible – l'utilisation d'ajax doit être minimisée. 
24 5 Vincent MAZENOD
25 5 Vincent MAZENOD
Le déploiement ainsi que les mises à jour devront être automatisés - Entre autre un installeur devra être écrit.
26 5 Vincent MAZENOD
27 5 Vincent MAZENOD
Une nightly build du code source sera maintenue sur la "forge universitaire":http://forge.clermont-universite.fr/repositories/show/accordeon-cms
28 5 Vincent MAZENOD
29 5 Vincent MAZENOD
Accordeon devra être réécrit en symfony 2.0 Dès la fin de son écriture 1.4
30 5 Vincent MAZENOD
31 5 Vincent MAZENOD
h3. Produits existants
32 5 Vincent MAZENOD
33 5 Vincent MAZENOD
* éditeur WYSIWYG (au choix)
34 5 Vincent MAZENOD
35 5 Vincent MAZENOD
> * "FCKeditor":http://ckeditor.com/
36 5 Vincent MAZENOD
37 5 Vincent MAZENOD
> * "CKeditor":http://ckeditor.com/
38 5 Vincent MAZENOD
39 5 Vincent MAZENOD
> * "TinyMCE":http://tinymce.moxiecode.com/
40 5 Vincent MAZENOD
41 5 Vincent MAZENOD
* "KFM":http://kfm.verens.com/ pour le file Manager AJAX
42 5 Vincent MAZENOD
43 5 Vincent MAZENOD
* "Download Center Lite":http://www.stadtaus.com/fr/php_scripts/download_center_lite/ pour la protection éventuelle des documents
44 5 Vincent MAZENOD
45 5 Vincent MAZENOD
h3. Produit pour la modélisation 
46 5 Vincent MAZENOD
47 5 Vincent MAZENOD
* "MySQL Workbench":http://www.mysql.fr/products/workbench/ pour le modeling base de données 
48 5 Vincent MAZENOD
49 5 Vincent MAZENOD
> * le "plugin d'export doctrine":http://code.google.com/p/mysql-workbench-doctrine-plugin
50 5 Vincent MAZENOD
51 5 Vincent MAZENOD
> * Ressources liées aux plugins MySQL Workbench
52 5 Vincent MAZENOD
53 5 Vincent MAZENOD
> > * http://code.google.com/p/mysql-workbench-doctrine-plugin/wiki/HowToAddDoctrineBehavioursToTheWorkbenchModel
54 5 Vincent MAZENOD
55 5 Vincent MAZENOD
> > * http://jerome.tamarelle.net/blog/2009/12/developper-un-plugin-pour-mysql-workbench/
56 5 Vincent MAZENOD
57 5 Vincent MAZENOD
L'analyse d'Accordéon CMS est itérative et suit les principes de la "roue de Deming PDCA":http://fr.wikipedia.org/wiki/Roue_de_Deming. 
58 5 Vincent MAZENOD
59 4 Vincent MAZENOD
h2. Cahier des charges des conventions
60 1 Vincent MAZENOD
61 5 Vincent MAZENOD
Tous les noms de tables en bdd sont en tous minuscules strippés par des underscores _ . Une table rattachée à un composant doit posséder un nom préfixé par le nom de ce composant.
62 5 Vincent MAZENOD
63 5 Vincent MAZENOD
Les noms de classe Commencent tous par une Majuscule, et suivent la logique de nommage “camelized” (i.e Les espaces ou underscores _ sont supprimés, et chaque lettre suivant l'un de ces caractères est passée en majuscule). Les noms de classes découlant des bases de données sont une version camelized exact du nom de la table (pas de mapping). 
64 5 Vincent MAZENOD
65 5 Vincent MAZENOD
Exemple: camelize(my_test_class) = MyTestClass
66 5 Vincent MAZENOD
67 1 Vincent MAZENOD
h2. Cahier des charges structurel
68 1 Vincent MAZENOD
69 5 Vincent MAZENOD
L'Accordéon CMS peut se découper devrait être divisé en 3 composants indépendants
70 5 Vincent MAZENOD
71 5 Vincent MAZENOD
* La gestion des utilisateurs, des groupes d'utilisateurs et de l'authentification qui devraient être basées sur "sfDoctrineGuard":http://www.symfony-project.org/plugins/sfDoctrineGuardPlugin
72 5 Vincent MAZENOD
73 5 Vincent MAZENOD
* La gestion de l'arborescence et de ses contenus devra faire l'objet d'un compostant adnTree 
74 5 Vincent MAZENOD
75 6 Vincent MAZENOD
* La gestion des Permissions attribuées aux utilisateurs et groupes d'utilisateur sur l'arborescence devra également faire l'objet d'un composant [[adnPerm]]
76 5 Vincent MAZENOD
77 5 Vincent MAZENOD
Chaque objet métier ne constituant pas directement le CMS devra faire l'objet d'un composant supplémentaire indépendant
78 5 Vincent MAZENOD
79 5 Vincent MAZENOD
Tous les fichiers uploadés par l'utilisateur sont dans le dossier uploads classés par objets associés
80 5 Vincent MAZENOD
81 5 Vincent MAZENOD
Les fichiers css seront regroupés par thèmes exportables