projet-application-web/docs/rapport.md
2022-05-29 15:24:34 +02:00

3.7 KiB
Raw Permalink Blame History

Projet d'application web : r/place

Laurent FAINSIN - Damien GUILLOTIN - Tom HEURTEBISE - Pierre-Eliot JOURDAN

Présentation

Pour introduire le sujet de notre projet il convient de vous expliquer ce quest lévènement qui sest tenu sur Reddit intitulé r/place. Afin de vous expliquer le principe de ce dernier voici une citation provenant dun article de France3. "Connaissez-vous r/place ? Probablement pas. Connaissez-vous Reddit ? Non plus ? Commençons par là. Il sagit dun mélange entre un réseau social et un forum de discussion, dont lusage nest pas très répandu en France (le sous-Reddit r/France est néanmoins populaire, plein déchanges intéressants et variés). Le 1er avril 2017, Reddit lançait un poisson davril doublée dune expérimentation sociale : r/place. Une toile vierge de 1.000.000 de pixels. Les pixels, ce sont des petits carrés colorés ou non, des "atomes" en quelque sorte, qui composent les images apparaissant sur un écran. Le coloriage de chacun de ces pixels est possible pour nimporte qui de par le monde, dans le respect dune limitation horaire de cinq minutes."

Pour notre projet nous avons décidé de créer un site web présentant une toile vierge divisée en un grand nombre de pixel. Comme pour le r/place chacun peut colorier un pixel. La différence fondamentale avec ce dernier est que notre site propose chaque pixel à la vente. Il y a ainsi un système dachat et de vente de pixel via une monnaie virtuelle (pouvant être alimentée par de largent réel).

Fonctionnalités

  • Créer un compte/sidentifier : Chaque utilisateur peut se créer un compte et sidentifier pour pouvoir acheter/vendre ses pixels. Notez que pour voir la fresque il ne sera pas nécessaire de se connecter.

  • Gérer son portefeuille virtuel : Chaque utilisateur dispose dun portefeuille contenant son solde. Il peut augmenter le solde de cette monnaie en effectuant des paiements.

  • Voir le détail de chaque pixel : En passant la souris sur un pixel nimporte qui peut voir les informations liées à ce dernier (propriétaire, description)

  • Acheter un pixel : Un utilisateur connecté et avec un solde suffisant peut acheter un pixel. On lui propose alors de modifer les informations de ce dernier.1er

  • Modifier un pixel : La modification de pixels ne peut évidement se faire que sur des pixels que l'on possède. On peut alors choisir la couleur, le prix et la description de ses pixels.

Architecture

Ce projet utilise wildfly, le successeur de jboss, pour la partie backend. Le frontend est uniquement construit à partir de fichiers html, css et js. Ces fichiers sont envoyés à l'utilisateur via une servlet. Nous avons choisi de ne pas utiliser jdbc, mais d'utiliser mariadb, simplement par comfort d'utilisation. L'entièreté du projet peut-être lancé en une seule commande via un docker-compose. Si vous obtenez des erreurs par rapport à lombok, veuillez checkez la page suivante: https://github.com/freefair/gradle-plugins

Design

Nous avons réalisé notre page web en "one page". Nous proposons une page unique comportant la fresque de pixels avec une barre de navigation en haut. Sur cette barre il y a les boutons liés à la navigation (Login, Signup, Wallet, Logout). Les différents sous-menu se présentent sous forme de popups. De même pour l'achat et la modification de pixel, cela se fait directement via une popup lors du clique sur un pixel.

Conclusion

Nous n'avons pas pu développer l'ensemble des fonctionalités que nous avions pensées, par manque de temps, mais surtout pas complexité. Nous sommes cependant satisfait du résultat, puisque nous jugeons être allé plus loin que les TP.