CAW1 2019 Projet de Quentin LANUSSE et Clément LOPEZ : Différence entre versions

De Ensiwiki
Aller à : navigation, rechercher
(Choix techniques)
(Webservice utilisé)
Ligne 52 : Ligne 52 :
  
 
== Webservice utilisé ==
 
== Webservice utilisé ==
 +
Nous utilisons [Leaflet](https://leafletjs.com/) comme API externe. Il s'agit d'une librairie JavaScript open-source qui utilise elle-même [OpenStreetMap](https://www.openstreetmap.org/) afin de nous permettre d'afficher une carte dynamique sur notre site.
 +
 +
L'intérêt de cette carte et de permettre à un utilisateur de trouver où sera situé un évènement sans avoir besoin de rechercher l'adresse en dehors de l'application.
  
 
== Architecture de l'application ==
 
== Architecture de l'application ==

Version du 10 juin 2019 à 16:14

Project schedule.png
Titre du projet Impr'Orga
Cadre Projet Web 2AA Ensimag 2019
Page principale CAW1_Demonstration_Realisation

Équipe Quentin Lanusse, Clément Lopez
Encadrants Sébastien Viardot


Impr'Orga

Description

Impr'Orga est une application Web de gestion d'une troupe d'improvisateurs (artistes de théâtre d'improvisation).

L'application permet de proposer différents évènements à la troupe avec description (date, lieu, type d'évènement, etc.) et de permettre aux membres de s'inscrire à ces évènements en fonction de leurs disponibilités.

L'idée est de faciliter la gestion des évènements pour les responsables de troupe ainsi que de garder une trace simple d'accès des évènements passés et à venir.

Objectifs

Les Objectifs du projet sont de créer une application Web permettant :

  • L'ajout/modification/suppression d'évènements
  • L'inscription à certains évènements
  • L'ajout/modification/suppression d'exercices d'entraînement
  • Un chat général ainsi qu'une gestion de commentaires par évènement

via la découverte et la prise en main du Framework Django

Screencast de l'application

Modélisation

Cas d'usage

Ci-dessous est le diagramme des cas d'utilisations à l'origine du projet, nous n'avons pas réussi à tout implémenter (notamment les modifications) durant le temps imparti. ImprOrga-DiagrammeCU.png

Voici la liste des éléments qui sont pas (ou pas complètement) implémentés :

Administrator

  • Tout est en place via l'administration Django qui pourrait être mieux personnalisée.

Moderator

  • Tous les éléments de gestion d'évènement sont en place via l'administration Django, ce qui nécessite des droits Admin est n'est pas optimal.

User

  • Les inscriptions ne sont pas en place.

Modèle de données

ImprOrga DiagrammeClasses.jpg

Choix techniques

Technologies utilisées

Django

  • Back en python
  • Front en Html/Yaml

Webservice utilisé

Nous utilisons [Leaflet](https://leafletjs.com/) comme API externe. Il s'agit d'une librairie JavaScript open-source qui utilise elle-même [OpenStreetMap](https://www.openstreetmap.org/) afin de nous permettre d'afficher une carte dynamique sur notre site.

L'intérêt de cette carte et de permettre à un utilisateur de trouver où sera situé un évènement sans avoir besoin de rechercher l'adresse en dehors de l'application.

Architecture de l'application

Installation

Prérequis :

Il est nécessaire d'avoir installé sur son poste les éléments suivants en amont :

  • Pip
  • Git
  • Python 3.X

Procédure

Il faut tout d'abord cloner le projet :

 $ git clone https://gitlab.ensimag.fr/lanusseq/impr_orga.git

Il va nous falloir également installer 2 packages :

  • Django, le framework web python utilisé pour ce projet
 $ pip install Django
  • Et Django-Leaflet permettant d'utiliser l'API Leaflet avec Django
 $ pip install django-leaflet

On va maintenant se placer dans le répertoire de notre projet

 $ cd impr_orga

Pour créer la structure de notre base de données on va exécuter la commande :

 $ python manage.py migrate

On va également créer un premier utilisateur avec les droits d'administrateur :

 $ python manage.py createsuperuser

Entrez le nom d'utilisateur de votre choix et appuyez sur entrer :

 Username: admin

Il vous sera ensuite demandé votre adresse e-mail :

 Email address: admin@example.com

Enfin, il vous sera demandé d'entrer votre mot de passe une première fois et une seconde fois pour confirmation.

 Password: **********
 Password (again): *********
 Superuser created successfully.

Lancement

Enfin, on va pouvoir lancer le serveur :

 $ python manage.py runserver

Le serveur est alors accessible à l'adresse http://127.0.0.1:8000/ il vous sera alors demandé de vous connecter, vous pourrez alors renseigner le nom d'utilisateur et mot de passe du compte administrateur créé précédemment.