1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

Conception et développement d’une technologie d'affichage dynamique

  1. Introduction

  2. Théorie

  3. Développement

  4. Résultats

Sommaire

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

Introduction

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

EISTI

  • École d'ingénieurs en IT et en maths
  • Directeur: Alexandre Radjesvarane
  • Lieu: Cergy et Pau

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

Magillem

  • Compagnie spécialisée dans l'embarqué et les microconducteurs
  • Directrice:  Isabelle GEDAY
  • Lieu: Paris, Tokyo, Séoul, Hong Kong, Palo Alto

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

But d'un PFE

300 heures

6 mois

1 objectif

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

Théorie

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

Kiosque

2 points importants:

  • Afficher du contenu

  • Manager le contenu de manière sécurisée

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

Kiosque

Points forts:

  • Sécurisé
  • Touche beaucoup d'utilisateurs
  • Peu cher et facile à mettre en place

L'écran publicitaire

Points faibles:

  • Besoin de se déplacer
  • L'écran doit être éteint pour tout changement

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

Kiosque

Points forts:

  • Gestion du contenu centralisée
  • Informe plusieurs utilisateurs

Concerto

Points faibles:

  • Connexion fiable nécessaire
  • Consomme beaucoup de données

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

Kiosque

Points forts:

  • Gestion du contenu centralisée
  • Clients fonctionels même sans réseau
  • Interaction possible

Kiosques tactiles

Points faibles:

  • Couteux à mettre en place
  • Informe un seul utilisateur

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

État de l'art

Client / Serveur

  • Centralisation

  • Plateforme en ligne

  • Forte dépendance au réseau

  • Mise en place plus complexe

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

Avantages:

Inconvénients:

État de l'art

Clients:

Cache:

  • Client léger

  • Client lourd

  • Invalidation par date

  • Invalidation par Rev

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

État de l'art

Client léger

Clients

  • Peu de calculs sur le client

  • Matériel peu cher

  • Connexion au serveur nécessaire

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

État de l'art

Client lourd

Clients

  • Ne sature pas le réseau

  • Execute des opérations sur le client

  • Matériel cher

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

État de l'art

Pourquoi?

Cache

  • Alléger le réseau et le serveur

Comment?

  • Stocker les fichiers qui reservent

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

État de l'art

Cache privé

Cache

  • Particulier à la machine

  • Sur le client

  • Répétition du cache publique

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

Cache publique

  • Commun à tous les clients

  • Sur le serveur

État de l'art

Expiration par date

Cache

  • Donne une date d'expiration à un fichier en cache

  • Permet de fixer cette date

  • Solution simple mais imparfaite

Expiration par Rev

  • Ajoute un tag avec une date

  • Change à chaque modification du fichier

  • Solution plus complexe mais plus efficace

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

Les besoins

Encodeur télévision

Plateforme de gestion

  • Gérer les types de fichier

  • S'occuper de leurs mises en forme

  • Garder des fichiers en cache

  • Manipuler et organiser les publications sur l'écran

  • S'occuper des tâches récurrentes

  • Gérer les utilisateurs

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

Les besoins

Affichage de différents types de fichiers :

  • Web

  • Musique

  • Vidéo

  • Powerpoint

  • Pdf

  • Image

Décodeur

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

Les besoins

Affichage du logo

Décodeur

Affichage des contenus

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

Les besoins

Contenu

Plateforme de gestion

Calendrier

  • Créer

  • Actualiser

  • Supprimer 

  • Changer informations

  • Charger une liste

  • Heures

  • Jours de la semaine

  • Jours du mois

  • Date précise

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

Les besoins

Utilisateurs

Plateforme de gestion

  • Créer

  • Actualiser

  • Supprimer 

  • Modifier informations

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

Développement

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

Solution choisie

2 parties sur une seule cible:

  • Serveur: serveur web

  • Décodeur: serveur web + navigateur

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

Docker pour la virtualisation

Solution choisie

Serveur

3 parties:

  • Serveur graphique

  • API

  • Base de données

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

Solution choisie

Serveur graphique

4 étapes:

  • Création d'un sitemap

  • Création de wireframes

  • Création de mockups

  • Implementation en React

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

Solution choisie

Serveur graphique

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

Solution choisie

  • Base de données

2 parties:

  • Reprise des mockups et contruction  des ressources nécessaires

  • Création d'un Merise

  • Création de Migration dans la partie API

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

Solution choisie

API

5 points essentiels:

  • Reprise du Merise

  • Respect du REST / CRUD

  • Création d'une architecture Lucid

  • Création d'un paquet pour la conversion

  • Authentification Oauth / Passport

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

Solution choisie

Décodeur

Python / Flask:

  • Création d'un serveur Flask

  • Création d'un paquet

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

Installation de la solution

Raspberry Pi 3B+

  • OS: Raspbian Lite

  • Interface graphique: X11

  • Splash screen: Plymouth

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

Problèmes rencontrés

Serveur

CORS (Cross-Origin Resource Sharing):

Serveurs graphique et API séparés

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

2 URL

Solution:

Reverse Proxy

Problèmes rencontrés

Décodeur

3 problèmes:

  • Problème de virtualisation

  • Lecture des vidéos

  • Réactualisation de la page web

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

Problèmes rencontrés

Cible

3 problèmes:

  • Lors du lancement de l'interface

  • Container MySQL non disponible pour la Raspberry

  • Impossible de coder directement sur la Raspberry

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

Résultats

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

Quoi de mieux qu'une démo?

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

Plateforme

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

Décodeur

Conclusion

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

Créer un kiosque:

  • Récupérer les besoins

  • Modéliser un architeture

  • Implémenter

  • Livrer

Status du projet:

  • Projet avancé

  • Pas fini totalement

Questions?

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

Merci pour votre attention

1 Avril 2020

COQUARD Cyrille et PRUVOST Dylan

Kfet

By Cyrille Coquard

Kfet

  • 172