93 lines
2.8 KiB
Markdown
93 lines
2.8 KiB
Markdown
# Projet Inventory
|
|
|
|
## Installation du projet
|
|
### Windows
|
|
Pour windows, il faut installer le WSL2, Ubuntu, docker et nvm.
|
|
Il suffit de suivre cette [doc](https://wiki.malio.fr/bookstack/books/environnement-de-dev/chapter/windows)
|
|
|
|
### Linux
|
|
Pour linux, il faut installer docker et nvm.
|
|
Il suffit de suivre cette [doc](https://wiki.malio.fr/bookstack/books/environnement-de-dev/chapter/linux)
|
|
|
|
### Installation du projet
|
|
Une fois les prérequis installés, il suffit de cloner le projet et de lancer les commandes suivantes
|
|
```bash
|
|
sudo apt install make -y
|
|
make start
|
|
make install
|
|
```
|
|
Dans le cas ou le `make start` plante à cause du port de la bdd, il faut modifier **POSTGRES_PORT** dans le fichier .env.docker.local, remplacer le par un port disponible.
|
|
|
|
### Configuration xdebug
|
|
Pour configurer xdebug, il faut ajouter un serveur sur phpstorm. <br>
|
|
Pour cela, il faut aller dans **Settings > PHP > Servers** <br>
|
|
* Name : inventory-docker
|
|
* Host : localhost
|
|
* Port : 8080
|
|
* Path : File/Directory -> l'endroit où est stocké votre projet et le path -> /var/www/html
|
|
|
|
Pour que xdebug fonctionne sur windows, il faut modifier la variable **XDEBUG_CLIENT_HOST** par votre ip local
|
|
|
|
## Utilisation du projet
|
|
### Backend
|
|
L'api est disponible sur http://localhost:8080/api
|
|
Pour la bdd toutes les infos sont dans le fichier **docker/.env.docker.local**
|
|
Vous pouvez modifier le port si nécessaire.
|
|
|
|
La bdd est déja pré-configuré dans PhpStorm, il suffit de rentrer les infos du .env.docker.local pour se connecter.
|
|
C'est un bdd local dans le docker.
|
|
### Frontend
|
|
Le frontend utilise le dossier `Inventory_frontend/`.
|
|
Pour le frontend, il suffit de taper la commande suivante qui va lancer le serveur de dev
|
|
```bash
|
|
make dev-nuxt
|
|
```
|
|
Le front sera accessible sur http://localhost:3000
|
|
|
|
## Compression automatique des PDFs
|
|
|
|
Les documents PDF uploadés sont automatiquement compressés sans perte de qualité grâce à **qpdf**.
|
|
|
|
### Prérequis
|
|
```bash
|
|
# Installation de qpdf (outil système)
|
|
sudo apt install qpdf
|
|
|
|
# Ou dans Docker
|
|
docker exec -it php-inventory-apache apt update && apt install -y qpdf
|
|
```
|
|
|
|
### Fonctionnement
|
|
- À chaque upload de PDF, le système compresse automatiquement le fichier
|
|
- Compression lossless (sans perte de qualité)
|
|
- Le PDF est compressé uniquement si la taille diminue
|
|
- Si qpdf n'est pas installé, le système fonctionne normalement sans compression
|
|
|
|
### Compresser les PDFs existants
|
|
Pour compresser tous les PDFs déjà en base :
|
|
```bash
|
|
# Voir ce qui serait compressé (dry-run)
|
|
php bin/console app:compress-pdf --dry-run
|
|
|
|
# Compresser tous les PDFs
|
|
php bin/console app:compress-pdf
|
|
```
|
|
|
|
## Commandes utiles
|
|
Pour restart le container
|
|
```bash
|
|
make restart
|
|
```
|
|
Pour lancer les TU
|
|
```bash
|
|
make test
|
|
```
|
|
Pour accéder au container et lance des commandes
|
|
```bash
|
|
make shell
|
|
```
|
|
Pour clear le cache Symfony
|
|
```bash
|
|
make cache-clear
|
|
```
|