projets:telecomm:code

Code de Télécomm'

Le code est uniquement disponible à l'équipe travaillant sur le projet. Ce code est disponible sur la forge de l'école au lien https://forge.centrale-marseille.fr/projects/pt_tele-comm/repository.

Télécomm' utilise la norme de développement du GInfo avec les technologies suivantes :

  • Framework Symfony 4 avec les modules usuels :
    • Twig pour les templates
    • Doctrine pour l'ORM
    • Webpack Encore pour la gestion des assets (CSS & JS)

Les technologies utilisées pour le développement sont :

  • Composer pour la gestion de dépendances back (PHP)
  • NPM pour la gestion de dépendances front (Modules JS etc…)

De plus diverses libraries sont utilisées en front :

Le schéma relationnel de Télécomm' peut être résumé par le schéma UML suivant :

L’entité Event est relatif aux événements. Chaque événement est caractérisé par des informations de base à savoir : titre, lieu, date et heure de début, date et heure de fin. En plus de ces informations, il y a un champ “addedBy” qui contient l’auteur et un champ online qui indique si l’événement a été validé par la modération ou non. Nous avons jugé pertinent de pouvoir choisir pour quels écrans l'événement est affiché : certains événement concerne plus les élèves que l’administration et inversement. On peut donc choisir s’il est sur tous les écrans (allDisplays) ou sur certains et lesquels (displays).

L’entité User est relatif aux utilisateurs. Chaque utilisateur est caractérisé par son nom d’utilisateur, son email, son mot de passe, son role, son prénom et son nom. Les informations username et email sont uniques afin de pouvoir distinguer chaque utilisateur des autres.

L’entité Display est relatif aux écrans. Chaque écran est caractérisé par un nom, un token et un entier qui indique si il est allumé (2), en fonctionnement normal (1) ou éteint (0). Le champ token correspond à une chaîne de caractère générée aléatoirement qui sera l’url sur laquelle devra se rendre la Raspberry Pi pour afficher cet écran. Par exemple, si le token contient “abcdef” l’url sera :
https://telecomm.ginfo.centrale-marseille.fr/display/abcdef/screen
C’est en quelque sorte le mot de passe pour afficher le contenu de cet écran.

Les token des écrans ne doivent être connus que par les administrateurs.

L’entité TimeSlot est relatif aux créneaux d’allumage des écrans. Il y a deux types de TimeSlot : ceux par défaut et ceux spécifiques à un écran. Les TimeSlot par défaut permettent de ne pas avoir à modifier chaque écran un par un si on veut les mêmes créneaux pour plusieurs écrans. Un TimeSlot est donc défini par un écran auquel il est associé, qui peut être nul si c’est un créneau par défaut. Il est également défini par un jour de la semaine, représenté par un chiffre entre 0 et 6, une heure de début et une heure de fin.

  • projets/telecomm/code.txt
  • Dernière modification : 29/05/2020 19:44
  • de mle-goue