Le problème
Print Factory est un atelier d’impression de Cosenza, dans le sud de l’Italie, qui imprime des vêtements pour les clients au comptoir, les clients en ligne et des boutiques partenaires. Les commandes arrivaient de toutes parts, et la boutique, l’atelier de production et les partenaires devaient tous travailler sur les mêmes données.
Ce que j’ai construit
J’ai construit une plateforme PHP sur mesure : site public, boutique en ligne, panneau de gestion et API pour les partenaires.
- API de commande pour les partenaires — les boutiques externes, à commencer par InCattedra, envoient leurs commandes avec leur propre clé. Chaque partenaire dispose d’un bac à sable, d’une limite de requêtes et d’une liste d’IP autorisées, et ne voit que ses propres commandes ; une commande envoyée deux fois n’est pas dupliquée.
- Webhooks de statut signés — chaque changement de statut est renvoyé au partenaire, signé en HMAC-SHA256, et réessayé après 1 s, 5 s, 30 s, 5 min et 30 min si la livraison échoue.
- Personnalisation en ligne — les clients choisissent le vêtement, la couleur et la taille, envoient un visuel ou rouvrent un projet enregistré depuis leur espace graphique personnel.
- Studio d’images IA — des outils pour créer et retoucher des images avec les modèles d’OpenAI et de Replicate, réservés au compte du client.
- Écran de l’atelier de production — une vue sur tablette qui liste chaque étape que chaque machine doit réaliser, marquée par service, urgence et personne, pour que l’équipe voie ce qu’il faut faire ensuite.
- Ordres de fabrication et paiement — des ordres avec chronologie et fiches PDF, et un paiement par PayPal, virement ou paiement à la livraison.
- Relevés de redevances — les partenaires dont Print Factory vend les créations reçoivent un lien privé avec leurs ventes et leurs redevances, sans aucune donnée client.
Comment c’est construit
PHP 8.3 écrit de zéro sur Apache, une file d’attente pilotée par cron pour les commandes partenaires et les e-mails, et les API d’OpenAI, d’Anthropic et de Replicate.
Pourquoi ce choix
L’impression DTF exige un vrai fond transparent. Un PNG qui a seulement l’air détouré, mais qui a été aplati sur du blanc, s’imprime comme un rectangle pâle sur un t-shirt foncé. La plateforme vérifie donc chaque fichier, nettoie le halo clair sur les bords et prévisualise le visuel sur la vraie couleur du vêtement avant l’impression.


