Expose customField definitions (id, name, type, required, options, orderIndex) inline in entity responses, eliminating separate API calls for custom field data. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Projet Inventory
Installation du projet
Windows
Pour windows, il faut installer le WSL2, Ubuntu, docker et nvm. Il suffit de suivre cette doc
Linux
Pour linux, il faut installer docker et nvm. Il suffit de suivre cette doc
Installation du projet
Une fois les prérequis installés, il suffit de cloner le projet et de lancer les commandes suivantes
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.
Pour cela, il faut aller dans Settings > PHP > Servers
- 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
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
# 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 :
# 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
make restart
Pour lancer les TU
make test
Pour accéder au container et lance des commandes
make shell
Pour clear le cache Symfony
make cache-clear