Un composant tiers est logiciel réutilisable (bibliothèque, SDK, plug-in, client API, image conteneur) développé par partie externe et intégré dans votre application pour fournir fonctionnalité spécifique sans la construire from scratch.
Catégories courantes
| Catégorie | Exemples |
| UI / UX | Material UI, Ant Design, Syncfusion, Telerik, DevExpress |
| Données / ORM | Entity Framework, Hibernate, Dapper, Realm, clients Redis |
| Auth / Identité | Auth0, Firebase Auth, IdentityServer, SDKs Okta |
| Paiements | Stripe, Braintree, Adyen, SDKs Square |
| Cloud / Infra | AWS SDK, Azure SDK, Google Cloud client libs, providers Terraform |
| Observabilité | OpenTelemetry, Datadog, New Relic, SDKs Sentry |
| Médias / Codecs | Wrappers FFmpeg, ExoPlayer, Video.js, PDF.js |
| Tests | JUnit, xUnit, Cypress, Playwright, Mockito |
Pourquoi les utiliser ?
- Vitesse : Livrez fonctionnalités en jours, pas mois.
- Expertise : Tirez parti spécialistes domaine (crypto, vidéo, ML).
- Charge maintenance déplacée : Vendeur gère patches, mises à jour compatibilité.
- Conformité : Pré-audités SOC2, PCI, RGPD (parfois).
Risques & Atténuations
| Risque | Atténuation |
| Attaque chaîne approvisionnement (code malveillant) | SBOM, signature Sigstore, Dependabot, Snyk, lockfiles |
| Abandon / non-maintenu | Préférez projets actifs (>1 commit/90j), vendor-backed, ou forkable |
| Incompatibilité licence (GPL viral) | FOSSA, ClearlyDefined, revue légale ; isolez via microservice si nécessaire |
| Conflit versions (dependency hell) | Outils monorepo (Nx, Turborepo), peerDependencies strictes, lockfiles |
| Surpoids performance | Analyse bundle (webpack-bundle-analyzer), tree-shaking, lazy-load |
Bonnes pratiques
- Épinglez versions exactes ; mettez à jour délibérément.
- Vendeur libs critiques (copiez dans repo) si upstream instable.
- Lancez
npm audit / pip-audit / govulncheck en CI.
- Documentez pourquoi chaque composant choisi (ADR).
- Ayez plan rollback pour chaque dépendance externe.