Top Papier
Devis d'impression instantané à partir de vos fichiers
- Next.js
- NestJS
- Prisma
- PostgreSQL
- BullMQ
- Ghostscript
- PDFium
- Docker
- Playwright

Un site de devis et de commande pour Top Papier, une imprimerie de Tizi-Ouzou. Les clients envoient leurs fichiers, d'abord des livres, et obtiennent un prix tout de suite : un worker lit chaque page, mesure son format et sa couverture d'encre, puis le moteur de prix applique les tarifs et options de l'imprimerie. L'imprimerie gère son catalogue, ses prix, ses pages et ses commandes depuis un espace d'administration. Le site est en français, en arabe (de droite à gauche) et en anglais.
Fonctionnalités
- Envoi de fichiers PDF, Word ou images et devis en quelques secondes
- Chaque page mesurée : format, fond perdu, couverture d'encre, couleur ou noir et blanc, résolution des images, avec des alertes pour le client
- Grilles de prix versionnées (brouillon, puis publication) et un simulateur pour l'imprimerie
- Commandes avec historique des statuts, espace client, e-mails, devis et factures en PDF
- Livraison dans les 69 wilayas et 1 541 communes ; paiement à l'imprimerie, à la livraison ou par virement bancaire ou CCP
- Espace d'administration pour le catalogue, les pages et les réglages, avec glisser-déposer
- Français, arabe et anglais, avec mise en page de droite à gauche en arabe
Comment c'est construit
- Front-end Next.js et API NestJS en TypeScript strict, avec Prisma et PostgreSQL
- Un worker BullMQ vérifie chaque fichier par son contenu, convertit les fichiers Word avec Gotenberg et analyse les pages avec PDFium
- Couverture d'encre mesurée par Ghostscript dans un petit service dédié
- Fichiers stockés dans SeaweedFS, un stockage compatible S3 hébergé avec l'application
- Tourne dans Docker derrière Caddy, avec sauvegardes et restauration testées, supervision, et scripts de mise en production et de retour arrière
- 118 tests unitaires et 96 tests de bout en bout côté backend, plus des parcours Playwright dans le navigateur