Skip to content

WildCodeSchool/2023-02-php-paris-p2-story

Repository files navigation

Bonjour, ​ Le site "e-stoires" a été créé dans le but de donner la possibilité aux écrivains amateurs d'écrire des histoires collaboratives. Et de donner envie de lire ces histoires originales au plus grand nombre. ​ Voici les instructions nécessaires au fonctionnement du site. ​ Il est hébergé sur Github : https://github.com/WildCodeSchool/2023-02-php-paris-p2-story ​ Après avoir cloné le projet, lancer un composer install et de créer votre branche pour travavailler en local. Très important : dans le dossier public, créer un dossier uploads (avec un s), qui permettra la gestion de la création d'images de couverture. Celui-ci est dans le .gitignore pour information, et n'est donc pas clonable. ​ Voici comment les différentes pages du site sont organisées. ​ Les différentes redirections sont gérées par le fichiers src>routes.php et src>routing.php (ce dernier gérant entre autres les exceptions et erreurs de frappe de l'utilisateur dans la barre d'url).

  • homepage : Elle affiche le manifeste qui présente le site et son objectif sur fonds d'image. En dessous se trouve la présentation des 3 fonctionnalités du site. La charte d'utilisateur du site est accessible en dessous. Les trois dernières publications sont affichées en bas de page. Les fichiers src>Controller>HommeController et src>View>Home>index.html.twig gèrent la homepage. ​
  • compte : Nous avons créé une gestion d'utilisateur. En effet, il est obligatoire de se connecter avant de pouvoir créer du contenu sur le site. Les fichiers src>Controller>UserController et src>Model>UserManager gèrent les données relatives aux utilisateurs (sécurisation et enregistrement). Cette page /login et accessible via la navbar, et on y est automatiquement redirigé si on souhaite créer du contenu sans être connecté. ​
  • création d'histoires : Les éléments obligatoires sont le titre, le nom de plume (=pseudo), le nombre de chapitres total que l'histoire contiendra, le public visé (12-18 ans ou 18+), le genre. Les éléments facultatifs sont l'image de couverture (nous en fournissons une par défaut) et la description de l'histoire - celle-ci doit avoir une longueur minimale de 400 caractères. Le formulaire de création d'histoires est géré par src>View>Story>_form.html.twig, et l'affichage du formulaire par src>View>Story>add.html.twig. Toutes ces données sont traitées et sécurisées par les fichiers src>Controller>AbstractController.php, src>Controller>StoryController.php et src>Model>StoryManager. La validation de l'acceptation des conditions d'utilisation du site est obligatoire avant de pouvoir créer une histoire. ​
  • création de chapitres : Les éléments obligatoires sont le titre, le nom de plume (=pseudo) qui est indispensable du fait de l'aspect collaboratif (un créateur de chapitre peut être différent du créateur de l'histoire), et le contenu du chapitre. Les éléments relatifs à l'histoire sont résumés sur cette page. ​ Le formulaire de création d'histoires est géré par src>View>Chapter>_form.html.twig, et l'affichage du formulaire par rc>View>Chapter>add.html.twig. Toutes ces données sont traitées et sécurisées par les fichiers src>Controller>AbstractController.php, src>Controller>ChapterController et src>Model>ChapterManager.php. La validation de l'acceptation des conditions d'utilisation du site est également obligatoire pour créer un chapitre. ​​
  • contribution à une histoire : Les histoires non terminées (=dont il reste encore à écrire des chapitres) sont accessibles via la page /cooperate. Contribuer équivaut à écrire un nouveau chapitre (cf. plus haut). ​
  • lister les histoires terminées pour les lire : Cette partie est accessible sans la nécessité de se logger. C'est un index accessible via /read qui regroupe uniquement les histoires terminées. La gestion des histoires terminées ou non se fait dans le fichier src>View>Story>read.html.twig. ​
  • lire une histoire : A partir de la liste d'histoires terminées, cliquer sur le bouton lire sou une histoire affiche l'histoire en question avec la liste des chapitres les uns à la suite des autres. La page d'une histoire donnée est accessible via /show?id= et l'id de l'histoire. ​ Le site est responsive avec un breakpoint à 655px. Les fichiers CSS (3 au total, un global, un mobile et un desktop) sont dans le dossier public/assets/css. ​ La base de données utilise un fichier nommé e_stoires qui contient trois tables : 'user', 'story', 'chapter'.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published