La Longue Histoire

Un forum d'écriture où chaque utilisateur écrit un chapitre, chacun son tour. Chaque chapitre peut avoir plusieurs suites, ainsi, l'histoire diverge en un grand nombre de branches uniques. Les chapitres peuvent être regroupés en arcs narratifs par les utilisateurs.

Technologies utilisées

PHP 8

Symfony 6

Webpack

HTML 5, CSS 3

SASS

Yarn

Composer

Fonctionnalités

La page d'accueil du site présente le premier chapitre. La page de présentation d'un chapitre comporte plusieurs options : voir les suites du chapitre, voter positivement ou négativement, corner la page et écrire la suite.

Tout utilisateur enregistré peut écrire la suite de n'importe quel chapitre, même si ce dernier a déjà plusieurs suites. Un formulaire est présenté à l'utilisateur, qui doit renseigner le titre du chapitre et le texte (devant faire entre 100 et 5000 caractères). Une fois publié, le chapitre sera accessible depuis le profil de l'utilisateur.

Comme un chapitre peut comporter un grand nombre de suites, plusieurs choix sont proposés au lecteur afin de faciliter sa navigation : la suite la plus populaire du chapitre en cours (c'est à dire, celle pour laquelle la somme des votes reçus est la plus élevée), la suite reconnue comme "officielle" (disponible pour une seule chaîne de chapitres déterminés par un concours) et une suite au hasard. La liste exhaustive des suites d'un chapitre donné est également disponible ; cette liste peut être ordonnée par popularité ou dans un ordre aléatoire.

"Corner la page" signifie l'enregistrer dans la liste de pages favorites de l'utilisateur ; ce dernier peut ensuite les retrouver et les consulter depuis son profil.

Les chapitres peuvent être regroupés en arcs narratifs par les utilisateurs afin de les regrouper par thème ou par contexte et de faciliter la navigation sur le site.

Il est possible de s'inscrire au site en remplissant le formulaire d'inscription accessible depuis le menu supérieur.

Réalisation

La première version du site, datant de Mars 2019, est réalisée en PHP from scratch.

La version actuelle a été réalisée avec Symfony et Webpack ; la charte graphique a également été modifiée. Le stockage des données est effectué sous MySQL. Le style est écrit en SASS puis traduit en CSS par l'outil Webpack. Les scripts sont écrits en Javascript ES6 puis traduits en javascript ES5 par Webpack.