Skip to content

Latest commit

 

History

History
85 lines (67 loc) · 3.06 KB

README.md

File metadata and controls

85 lines (67 loc) · 3.06 KB

Docker Swarm

Andoni ALONSO TORT
Fouad TEKFA
UNIVERSITE DU HAVRE

Pour ce TP on a utilisé docker Swarm.

Swarm fournit de nombreux outils pour faire évoluer, mettre en réseau, sécuriser et maintenir vos applications conteneurisées, au-delà des capacités des conteneurs eux-mêmes.

Pour pouvoir utilise docker swarm à dans notre application il a fallu installer docker dans notre image à l'intérieur de notre Dockerfile.

Le bout de ce projet est de décrypter un mot de passe donné par un utilisater avec un mode de recherche.

  • Gentil
  • Normal
  • Agressif

Ces informations seront envoyées au serveur et il s'occupera de initialiser docker swarm avec les 'slaves' correspondants pour chaque mode de recherche en faissant aussi la scalabilité propre à chaque mode.

Details Gentil Normal Agressif
Temps de mise à jour 15000 ms 10000 ms 5000 ms
Slaves scale 2 3 4

Une fois le HASH décrypté, il sera sauvegaré dans la base de données (MONGODB) avec la structure suivante :

HASH : {
    hash : HASH (encryptage du mot recherché)
    solution : Mot trouvé après de décryptage du hash
    details: {
        mode : Mode recherché (gentil, normal, agressig)
        time : Le temps qui a pris pour déchifrer le HASH
        date: La date quand il a été décrypté
    }
}

Pour les slaves on utilise l'image donnée en TP : servuc/hash_extractor et on communique avec WebSocket.

Pour le client, il utilise des rêquetes HTTP pour obtenir les informations des HASH et envoyer une nouvelle demande de décryptage.

ATTENTION : Les mots de passe supérieurs à 4 caracteres peuvent prendre beaucoup de temps à décrypter ou pourraient entraîner des problèmes dans la performance du code.

Execution de l'application

Pour éxecuter il suffir d'utiliser la commande suivante :

docker compose up

Attendes que l'application soit lancée et maintenant vous pouvez aller sur votre navigateur : http://localhost:3000

Ici vous pouvez taper un mot pour l'encrypter, puis chercher la solution. L'hitorique sera affiche du côté droit avec le mode et le temps d'éxecution de chaque mot.

Pour arreter tous les conteneurs :

docker compose down