School project for CY Tech
  • PHP 69.7%
  • Blade 13.3%
  • JavaScript 8.5%
  • CSS 8.5%
Find a file
2024-04-23 19:45:42 +02:00
.github/workflows fix: Use database path relative to Laravel's database directory (#18) 2024-03-23 08:35:32 +01:00
app feat: Recover form inputs if something fails 2024-04-22 13:34:19 +02:00
bootstrap init: Project 2024-03-06 10:56:34 +01:00
config feat: Support image uploading (#74) 2024-04-19 11:10:40 +02:00
database feat: Set sane default DB state 2024-04-22 13:18:45 +02:00
public feat: Stylize password reset 2024-04-22 13:59:58 +02:00
resources feat: Stylize password reset 2024-04-22 13:59:58 +02:00
routes fix: Wipe before setup 2024-04-22 13:43:43 +02:00
storage init: Project 2024-03-06 10:56:34 +01:00
tests feat: Support image uploading (#74) 2024-04-19 11:10:40 +02:00
.editorconfig init: Project 2024-03-06 10:56:34 +01:00
.env.example env: Send mails in console log by default 2024-04-23 10:49:22 +02:00
.gitattributes init: Project 2024-03-06 10:56:34 +01:00
.gitignore init: Project 2024-03-06 10:56:34 +01:00
artisan init: Project 2024-03-06 10:56:34 +01:00
composer init: Project 2024-03-06 10:56:34 +01:00
composer.json init: Project 2024-03-06 10:56:34 +01:00
composer.lock init: Project 2024-03-06 10:56:34 +01:00
package.json init: Project 2024-03-06 10:56:34 +01:00
phpunit.xml feat: Setup database for PHPUnit (#14) 2024-03-21 08:37:48 +01:00
README.md docs: Add link to demo video 2024-04-23 19:45:42 +02:00
vite.config.js init: Project 2024-03-06 10:56:34 +01:00

HurrShop

HurrShop est le projet noté de développement web de l'année 2023-2024 de CY Tech, réalisé par:

  • Jordan DIZIN
  • Raphaël FROMENTIN
  • Clément PRAUD
  • Gaétan RETEL

Vidéo de présentation

Installation

Cloner le projet

Vous pouvez cloner le projet depuis git via la commande suivante:

git clone https://github.com/Iltotore/projet-web-ing1.git

Installer les dépendances de PHP Composer (Linux)

Si vous avez déjà Composer installé sur votre système, vous pouvez passer cette étape, car vous avez déjà les dépendances nécessaires.

Composer est l'outil qui permet d'installer les dépendances du projet. Pour fonctionner sur votre ordinateur, Composer nécessite certaines dépendances.

Pour les installer sous Ubuntu (et distributions similaires), il faut exécuter :

sudo apt install -y php php-xml php-sqlite3 php-curl php-mbstring

Note : vous pouvez également préciser la version de PHP souhaitée dans le nom des paquets (e.g php8.1, php8.1-sqlite3)

Installer les dépendances du projet

Le projet est basé sur le framework Laravel. Pour l'installer avec ses dépendances, il faut vous placer à l'intérieur du dossier et exécuter la commande suivante :

php composer install

Environnement

Le projet dépend de variables stockées dans le fichier .env.

La configuration par défaut ce situe dans le fichier .env.example. Vous pouvez le copier/coller ou le renommer en .env pour l'utiliser :

cp .env.example .env

Une base de données par défaut est aussi fournie.

Le projet est maintenant prêt à être utilisé.

Mettre en place la base de données

Le projet dispose de migrations SQL et de seeders pour mettre en place et peupler la base de données, déjà mise en place par défaut. Il faut pour cela exécuter la commande suivante :

php artisan db:setup

Par défaut, deux utilisateurs sont déjà présents:

  • Notch
    • Mot de passe: Hmmmmmmm
    • Admin
  • Steve
    • Mot de passe: Hmmmmmmm

Gestion des mails

Par défaut, les mails sont affichés dans le terminal. Si vous souhaitez utiliser un autre service tel qu'un serveur SMTP (comme montré sur la vidéo avec DebugMail), vous devez modifier votre .env. Un exemple commenté y est inclus.

Lancer le serveur

Mode local (127.0.0.1 ou localhost )

Vous pouvez lancer le serveur via la commande :

php artisan serve

Vous pourrez alors retrouver l'interface du projet à l'adresse http://127.0.0.1:8000/.

Mode réseau

La commande, très similaire, devient :

php artisan serve --host 0.0.0.0 --port=8000

Il faut ensuite remplacer dans le navigateur la partie 127.0.0.1 de l'adresse précédent par l'adresse IP (locale ou public) ou le nom de domaine du serveur.

Pensez à ouvrir une redirection de port pour les échanges réseaux via Internet. Un pare-feu peut également bloquer le bon fonctionnement du projet, il est donc important de vérifier ses paramètres.

Tester le projet

Le projet est fourni avec des tests qui permettent de s'assurer de son intégrité et d'éviter toute récession lors du développement.

Pour les exécuter, il faut utiliser la commande suivante :

php artisan test

Architecture du projet

Le projet utilise Laravel. Laravel est un framework en PHP qui offre gère à notre place de nombreux aspects techniques du projet :

  • Gestion des routes
  • Gestion de l'authentification/de la session
  • Interactions avec la base de données grâce à l'ORM Eloquent
  • Tests grâce à PHPUnit
  • SSR grâce à Blade

Front-end

Le front-end du projet est fait avec le trio HTML/CSS/JS et Blade. Blade est une bibliothèque qui permet de générer du HTML côté serveur via des directives et du code en PHP.

Back-end

Le back-end du projet est fait en PHP avec Laravel. Il suit la même architecture que leur projet minimal sur GitHub. Grâce à l'abstraction technique proposée par Laravel, nous avons pu nous concentrer sur la logique métier du site et avancer efficacement.