Skip to content
This repository has been archived by the owner on Mar 14, 2022. It is now read-only.

LucasRakotomalala/EIIN839-Lets-Go-Biking

Repository files navigation

Auteur

Architecture

Diagramme

Diagramme d'architecture

Implémentation

  • HeavyClient

    • Client console en .Net Framework 4.7.2 pour démontrer certains fonctionnalités du Routing
    • Communication SOAP avec Routing
    • Exécutable de sortie utilisé pour créer l'image Docker
    • Fonctionnalités :
      • Permet d'avoir la trajet entre un point A et un point B avec la prise de vélos lorsqu'utile
      • Permet d'afficher les statistiques d'utilisation des stations des x derniers jours
      • Permet d'exporter dans un fichier Excel (stats.xls) les statistiques d'utilisation des stations des x derniers jours
  • LightClient

    • Client web en HTML5/CSS3/JS
      • pour démontrer certains fonctionnalités du Routing
      • avec une interface responsive
        • et mise en place d'une PWA pour les utilisateurs mobiles
    • Communication REST avec Routing
    • Fonctionnalités :
      • Permet d'avoir la trajet entre un point A et un point B avec la prise de vélos lorsqu'utile
      • Permet d'obtenir le trajet entre la position de l'utilisateur et une station
      • Permet d'afficher des informations relatives à une station
  • Proxy

    • Bibliothèque de services WCF
    • Exposition SOAP et REST des méthodes de son interface IJCDecaux
    • Présence d'un cache générique
      • utilisé pour stocker les informations, récupérées avec l'API JCDecaux, d'une station sous la forme de JCDecauxItem
  • Routing

    • Bibliothèque de services WCF
    • Communication en REST
      • avec Proxy pour récupérer des données récentes d'une station spécifique
      • avec l'API JCDecaux en REST pour récupérer, à l'initialisation, la liste de toutes les stations
    • Exposition SOAP et REST des méthodes de son interface IRouting
  • Host

    • Exposition d'une version console des projets Routing et Proxy
    • Affichage des traces d'exécutions de Routing et de Proxy
    • Exécutable de sortie utilisé pour créer l'image Docker

Récupération des sources

  • Depuis l'invité de commandes :
$ git clone https://github.com/LucasRakotomalala/EIIN839-Lets-Go-Biking.git "Let's Go Biking"
$ cd "Let's Go Biking"

OU

  • En téléchargeant les sources puis en extrayant l'archive

Exécution du projet

Exécution de la solution .Net

Avec le script fourni

Note: Dans le cas où le script ne fonctionne pas, un dossier build.backup est disponible pour exécuter l'étape suivante.

  • Exécuter Host.exe (en tant qu'Administrateur) et HeavyClient.exe présents dans le dossier build (ou build.backup)

Avec une version Dockerisée de la solution .Net

  • Pré-requis :

  • Lancement du serveur et du client :

    $ build # Les images n'étant pas encore sur le Hub Docker à cause de la taille (+ de 6Go)
    $ docker-compose up -d
  • Accéder à la CLI du Client :

    $ docker attach Client # ^P ^Q pour se détacher
  • Afficher les logs du Host :

    $ docker logs Host

Depuis Visual Studio 2019 (en mode Administrateur)

  • Définition des projets à lancer :

Projets de lancement

  • Lancement des projets :

Lancement des projets

Exécution du LightClient

Avec la PWA

$ cd LightClient
$ http-server -p 80 # ^C pour arrêter le serveur HTTP local

Sans la PWA

  • Se rendre dans le dossier LightClient depuis votre Explorateur Windows
  • Ouvrir index.html avec votre navigateur favori

Liens utiles