Trois couches : le catalogue (scraping et API de 20+ boutiques), le moteur de compatibilité (50+ règles écrites en code, pas de l'IA) et le comparateur multi-boutiques (matcher approximatif avec garde-fous sur les specs). Tout est ouvert, tout est documenté.
Voir les 50+ règles À propos du projetDes spiders Python (Scrapy) récupèrent les produits des boutiques Shopify (Pyrodrone, GetFPV, BetaFPV, RaceDayQuads, MepsKing, HGLRC, Diatone, etc.) via leur API publique /products.json. AliExpress est intégré via l'API d'affiliation officielle (pas de scraping HTML). Chaque produit passe par un normaliseur propre à sa catégorie qui extrait des specs structurées (KV, stator, entraxe de fixation, tension, etc.) avec des expressions régulières et des règles propres à chaque catégorie.
50+ règles écrites en PHP dans CompatibilityEngine.php. Chaque règle renvoie un des trois états : OK (compatible), avertissement (prévient mais laisse faire) ou erreur (build invalide). Les règles tournent à chaque changement du build. Pas d'IA, des règles déterministes : si le mount_pattern du moteur n'est pas dans les motor_mounts du frame, c'est une erreur. Point.
Un même produit (par exemple le frame RDQ Mach 3) peut être vendu dans 4 boutiques avec des titres différents. Le matcher combine une comparaison approximative des titres et des garde-fous sur les specs (stator et KV pour les moteurs, cellules et mAh pour les batteries, taille d'hélice pour les frames) pour dédoublonner et regrouper toutes les offres sur une seule fiche produit.