Web Social Pour Monnaie Libre
Total Page:16
File Type:pdf, Size:1020Kb
Web social pour monnaie libre Fabien Brisset - [email protected] Florian Galinier - fl[email protected] Thin-Hinen Hedli - [email protected] Rime Lamrani - [email protected] Oualid Manai - [email protected] Quentin Philbert - [email protected] Adrien Plazas - [email protected] Clément Simon - [email protected] Résumé Ce rapport est le compte rendu du projet Web social pour monnaie libre exécuté par les auteurs et proposé par Jacques Ferber pour l’unité d’enseignement GLIN601 Projet du sixième semestre du parcours Licence Informatique de la Faculté de Sciences de Montpellier en 2013-2014. Remerciements Nous remercions tout particulièrement Jacques Ferber pour nous avoir brillamment encadré et soutenu tout le long de la réalisation de ce projet. 1 Table des matières 1 Introduction 6 1.1 Le sujet . .6 1.1.1 Objectif de ce projet . .6 1.1.2 Ce qu’est une monnaie libre . .6 1.1.3 Les SELs (réseaux sociaux autour d’une monnaie libre) . .6 1.2 Cahier des charges . .6 1.2.1 Fonctionnalités attendues . .6 1.2.2 Contraintes . .7 2 Organisation du projet 8 2.1 Organisation du travail . .8 2.1.1 Réunions de travail . .8 2.1.2 Répartition des tâches . .8 2.1.3 Planification du développement . .8 2.1.4 Élection d’un chef de projet . .8 2.1.5 Gestion du groupe d’étudiants . .8 2.2 Choix des outils de développement . .9 2.2.1 Analyse des outils disponibles . .9 2.2.2 Choix du langage . 11 2.2.3 Choix du framework . 12 2.2.4 Choix du serveur . 12 2.2.5 Choix du gestionnaire de projet et du gestionnaire de versions . 13 2.2.6 Choix des outils de documentation . 14 3 Analyse 15 3.1 Analyse des besoins . 15 3.2 Analyse de l’existant . 15 3.2.1 Analyse préalable . 16 3.3 Diagrammes de cas d’utilisation . 17 3.3.1 Cas d’utilisation : Membre . 17 3.3.2 Cas d’utilisation : Modérateur . 17 3.4 Diagrammes de classes . 18 3.4.1 Diagramme de classe prévisionnel . 18 3.4.2 Diagramme de classe final . 19 4 Réalisation du projet 21 4.1 Les bundles . 21 4.1.1 Le bundle Service . 21 4.1.2 Le bundle Transaction . 22 4.1.3 Le bundle User . 22 4.1.4 Le bundle Group . 22 4.1.5 Le bundle Forum . 23 4.1.6 Le bundle Home . 23 4.1.7 Le bundle Administration . 23 2 4.2 Les services Symfony . 24 4.3 L’implémentation du modèle . 24 4.3.1 Les classes d’entités . 24 4.3.2 Les « Repositories » . 24 4.4 Le fonctionnement du contrôleur . 25 4.5 L’organisation des vues . 25 4.5.1 Le layout . 26 4.5.2 Les vues spécifiques . 26 4.6 Les versions . 26 4.6.1 Version 0.1 . 26 4.6.2 Version 0.2 . 27 4.6.3 Version 0.3 . 27 4.6.4 Version 0.4 . 27 4.6.5 Version 1.0 . 27 4.6.6 Version 1.0.1 . 28 5 Manuel 29 5.1 Manuel d’installation . 29 5.2 Manuel d’utilisation . 29 6 Bilan de ce projet 35 7 Perspectives et conclusions 36 A Diagramme de Gantt 37 B Code 38 B.1 Exemple de modèle . 38 B.1.1 src/Ml/TransactionBundle/Entity/Transaction.php . 38 B.1.2 src/Ml/TransactionBundle/Entity/Account.php . 41 B.1.3 src/Ml/TransactionBundle/Entity/Evaluation.php . 44 B.1.4 src/Ml/TransactionBundle/Entity/BasicEval.php . 45 B.2 Exemple de formulaire . 46 B.2.1 src/Ml/UserBundle/Form/UserType.php . 46 B.3 Exemple d’exception . 47 B.3.1 src/Ml/TransactionBundle/Exception/TransactionException.php . 47 B.3.2 src/Ml/TransactionBundle/Exception/RefusedTransactionException.php . 47 B.4 Exemple de contôleur . 48 B.4.1 src/Ml/TransactionBundle/Controller/TransactionController.php . 48 B.5 Exemple de routes . 50 B.5.1 src/Ml/TransactionBundle/Resources/config/routing.yml . 50 B.6 Exemple de vues . 50 B.6.1 app/Resources/views/layout.html.twig . 50 B.6.2 app/Resources/views/headerbar.html.twig . 51 B.6.3 src/Ml/TransactionBundle/Resources/views/Transaction/index.html.twig . 52 B.6.4 src/Ml/UserBundle/Resources/views/User/edit.html.twig . 53 C Précisions sur la documentation 55 D Documentation des espaces de nommage 56 D.1 Référence de l’espace de nommage Ml . 56 D.2 Référence de l’espace de nommage Ml\AdministrationBundle . 56 D.3 Référence de l’espace de nommage Ml\AdministrationBundle\Controller . 56 D.4 Référence de l’espace de nommage Ml\ForumBundle . 56 D.5 Référence de l’espace de nommage Ml\ForumBundle\Controller . 57 D.6 Référence de l’espace de nommage Ml\ForumBundle\Form . 57 3 D.7 Référence de l’espace de nommage Ml\GroupBundle . 57 D.8 Référence de l’espace de nommage Ml\GroupBundle\Controller . 57 D.9 Référence de l’espace de nommage Ml\HomeBundle . 57 D.10 Référence de l’espace de nommage Ml\HomeBundle\Controller . 57 D.11 Référence de l’espace de nommage Ml\libServices . 57 D.12 Référence de l’espace de nommage Ml\ServiceBundle . 58 D.13 Référence de l’espace de nommage Ml\ServiceBundle\Controller . 58 D.14 Référence de l’espace de nommage Ml\ServiceBundle\Form . 58 D.15 Référence de l’espace de nommage Ml\TransactionBundle . 58 D.16 Référence de l’espace de nommage Ml\TransactionBundle\Controller . 58 D.17 Référence de l’espace de nommage Ml\TransactionBundle\Exception . 58 D.18 Référence de l’espace de nommage Ml\UserBundle . 59 D.19 Référence de l’espace de nommage Ml\UserBundle\Controller . 59 D.20 Référence de l’espace de nommage Ml\UserBundle\Form . 59 E Documentation des classes 60 E.1 Référence de la classe Ml\AdministrationBundle\Controller\AdministrationController . 60 E.1.1 Description détaillée . 60 E.1.2 Documentation des fonctions membres . 60 E.2 Référence de la classe Ml\ServiceBundle\Form\BasicType . 61 E.2.1 Description détaillée . 62 E.2.2 Documentation des fonctions membres . 62 E.3 Référence de la classe Ml\ServiceBundle\Form\CarpoolingType . 62 E.3.1 Description détaillée . 63 E.3.2 Documentation des fonctions membres . ..