Ce dépôt contient le projet ELP.
L’objectif du projet est d’explorer plusieurs langages de programmation, afin de comparer les approches, les contraintes techniques.
Le projet est organisé en trois sous-dossiers :
- ELP-JS
- ELP-GO
- ELP-ELM
Chaque sous-dossier correspond à son projet respectif.
.
├── ELP-JS/
├── ELP-GO/
└── ELP-ELM/
Le dossier ELP-JS contient l’implémentation du projet Flip7 en JavaScript, exécutée avec Node.js.
Ce projet met en œuvre la reproduction en local du jeu de table Flip7.
- Node.js
cd ELP-JS/Flip7/
node src/index.jsPour jouer vous devez suivre les consignes du terminal en indiquant le nombre de joueurs (2 à 4), le nom de chaque joueur puis jouer en tapant 1 ou 2 afin de tirer une carte ou s'arréter.
Le dossier ELP-GO contient l’implémentation d'une détection de contours par convulution.
Ce projet implémente un serveur TCP concurrent en Go capable de détecter les contours d’une image à l’aide de filtres de convolution (Sobel).
Un client envoie une image (PNG/JPEG) au serveur, qui la convertit en niveaux de gris, applique une détection de contours, puis renvoie une image PNG contenant uniquement les bordures détectées.
Le projet met en œuvre la programmation concurrente en Go, un algorithme de traitement d’image et une communication client-serveur via TCP.
La détéction de contour par convolution dépend d'un paramètre modifiable que l'on appelle seuil modifiable dans le fichier ELP-GO/server/tcp.go. Plus il est élevé plus le contour nécessite d'être net et inversement.
Nous avons réalisé plusieurs test dans le dossier ELP-GO/client/.
- Go
L'utilisation de ce programme est assez particulière car il faut dans un premier temps lancer le serveur TCP dans un premier terminal c'est à dire aller dans le dossier ELP-GO en effectuant ces commandes.
cd ELP-GO
go run .Ensuite après avoir enregistrer votre image à contourer dans le bon format (PNG ou JPEG) et dans le bon dossier (client/). Il ne reste qu'à exécuter ces commandes dans un autre terminal. En sachant que image_à_contourer.png et votre image et contour.png sera le résultat de la détéction de contour par convolution.
cd ELP-GO/client/
go run . <image_à_contourer>.png <contour>.pngLe dossier ELP-ELM contient l’implémentation d'un site Turtle Sans Ms (Référence à la police 'Comics Sans Ms') dont le but est de donner une intérface graphique simple pour effectuer des commandes Turtle (Langage de programmation Dessin).
- Elm
cd ELP-ELM
elm reactorPuis ouvrir un navigateur à l’adresse indiquée (généralement http://localhost:8000) et cliquer sur app.html
-
Chaque sous-projet est indépendant.
-
Le projet vise une comparaison entre plusieurs paradigmes de programmation.
Projet réalisé dans le cadre du module ELP par LEVAL Enzo, MARTIN Ugo & DURAN Rémi