Introduction
Contexte
Ce projet s’inscrit dans la démarche d'apprentissage de conception de systèmes d'informations. Le sujet choisit est proche d'un sujet template : la "filmothèque" ; la seule différence avec ce sujet template est le fait que cette filmothèque est orienté vers le streaming de vidéo d'animation japonaise (anime).
Ce projet reprend un ancien projet personnel qui été relativement mal développé que ce soit au niveau de la base de donnée ou du code. Compte tenue de la deadline fixé, le travail de réfection du site web ne pouvait pas être complet . Des choix ont donc étés faits concernant les technologies à utiliser et les fonctionnalités qui ont étés implémentés.
Technologies utilisées
Cette base de donnée à pour interface un site web, les technologies utilisées sont donc propre au domaine du web.
Les langages
- HTML : le langage de mise en forme du contenue de notre site web. Dans notre cas il est préprocessé par notre serveur via PHP
- JavaScript (js) : ce langage est à destination de nos utilisateur puisque c'est un code qui est exécuté par les clients.
- PHP : PHP signifiant Hypertext Preprocessor est utilisé comme sont nom l'indique pour préprocessé notre code HTML. PHP nous permet ainsi d'avoir un aspect de programmation en amont des clients vis à vis du contenue qui leur est envoyé.
Les librairies
- jQuery : jQuery est une librairie de JavaScript qui nous permet d'utiliser des fonctionnalités avancées du langage. Nous utilisons particulièrement Ajax qui nous permet d’effectuer des requête HTTP de façon asynchrone auprès de notre serveur. Ces requêtes asynchrone permettent d'éviter les rafraichissement de pages intempestifs lorsque l'on souhaite modifier les données d'une page web.
- Chart.js : Chart.js est une librairie de JavaScript nous permettant de créer des graphiques pour la page d'administration de notre site web.
Autres
- Mysql : Pour notre système de gestion de base de donnée relationnelle (SGDBR) nous avons choisis d'utiliser Mysql. En effet grâce à sa popularité et son aspect open source il est très documenté et l'on peut trouver de nombreux forum pour trouver des exemples d'implémentations. De plus de nombreux outils complémentaires sont implémentables à Mysql (Mysql workbench, phpMyAdmin...) et ceci vont nous permettre de gagner du temps.
- phpMyAdmin : Pour des questions de simplicité et d'éfficacité nous utilisons phpMyAdmin pour l'administration de la base de donnée. En effet cette solution clé en main nous à permis d'éviter de faire des erreurs d'inatention et de suivre facilement le déploiement de notre base de donnée.
Conception
Étude des cas d'utilisation
La première étape de la conception de notre base de donnée consiste à étudier les cas d'utilisation de notre système (qui sont les acteurs ?, comment interagissent ils avec le contenu ?, quels pouvoirs ont ils vis à vis de des données ?).
Afin d'y voir plus clair nous utilisons un diagramme appelé diagramme des cas d'utilisations qui résume l'idée générale de l'utilisation de notre système :