--- title: OmniPoly created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, front-end, polyhaven, 3d, assets, textures, blender, cgi, libre, docker] confidence: medium contested: false sources: [https://selfh.st/apps/?tag=Front-End, https://github.com/kWeglinski/OmniPoly] --- # 🎨 OmniPoly > **Un front-end self-hosted pour parcourir et télécharger les assets 3D / textures / HDRIs libres de Poly Haven** — sans dépendre du site officiel. | Métadonnée | Valeur | | :--- | :--- | | **Site web** | https://polyhaven.com/ (catalogue original) | | **GitHub** | https://github.com/kWeglinski/OmniPoly | | **License** | CC0 (contenu) / AGPL-3.0 (code) | | **Langage principal** | TypeScript / Node.js | | **Étoiles GitHub** | ~6 ⭐ | | **Dernière MAJ** | 2024-2025 (lent) | | **Catégorie** | [[cat-front-end]] | ## Description **OmniPoly** est un **front-end alternatif pour Poly Haven**, la célèbre bibliothèque d'assets 3D, textures et HDRIs **100% libres (CC0)** utilisée massivement par les graphistes, architectes, développeurs de jeux et makers Blender. Le site officiel est très bien fait, mais OmniPoly ajoute une **couche self-hostable** : on garde la possibilité de naviguer dans le catalogue, filtrer par type (modèles 3D, textures, HDRIs), prévisualiser et télécharger — **sans dépendre de la disponibilité ou des évolutions futures de polyhaven.com**. L'intérêt pratique est triple : **1)** résilience (si polyhaven.com tombe, on a notre miroir), **2)** intégration possible dans un pipeline interne ou un intranet d'école/studio, **3)** personnalisation de l'interface (catégories favorites, langues, branding). OmniPoly agit essentiellement comme un **proxy intelligent** qui réorganise les flux de données publiques de Poly Haven. ⚠️ **Note importante** : OmniPoly reste **fortement dépendant de l'API publique de Poly Haven**. Si l'API change ou se ferme, le projet s'arrête. Le rythme de développement est lent (bus factor 1, jeune, peu de contributeurs) — c'est un **projet passion plus qu'un produit mature**. À considérer comme une **brique sympa pour homelab créatif** ou pour des usages éducatifs, pas comme un outil de production critique. ## Installation ### Via Docker (recommandé) ```yaml version: "3.8" services: omnipoly: image: ghcr.io/kweglinski/omnipoly:latest container_name: omnipoly restart: unless-stopped ports: - "3000:3000" environment: - NODE_ENV=production - POLYHAVEN_API_BASE=https://api.polyhaven.com - DEFAULT_THEME=light volumes: - omnipoly-cache:/app/cache healthcheck: test: ["CMD", "wget", "--spider", "-q", "http://localhost:3000/"] interval: 60s timeout: 10s retries: 3 volumes: omnipoly-cache: ``` > **Note** : l'image officielle est publiée sur `ghcr.io/kweglinski/omnipoly`. Vérifier sur le dépôt que la dernière build CI est bien passée avant déploiement. ### Installation manuelle 1. Cloner le dépôt : `git clone https://github.com/kWeglinski/OmniPoly.git && cd OmniPoly` 2. Installer Node.js 18+ et npm/yarn 3. Installer les dépendances : `npm install` 4. Configurer les variables d'environnement (voir section Configuration) 5. Compiler pour la production : `npm run build` 6. Démarrer : `npm start` (par défaut sur le port 3000) 7. Exposer derrière un reverse proxy HTTPS (Caddy, Traefik, Nginx) ## Configuration - **API Poly Haven** : `POLYHAVEN_API_BASE` — laisse le défaut sauf si vous avez un miroir interne - **Thème par défaut** : `DEFAULT_THEME=light` ou `dark` - **Cache local** : le volume `omnipoly-cache` stocke les vignettes et métadonnées pour limiter les appels API - **Filtres** : OmniPoly propose nativement les filtres par catégorie (Modèles, Textures, HDRIs), licence (CC0 partout), popularité - **Pas d'auth** : pas d'authentification utilisateur, l'app est publique par défaut - **Internationalisation** : interface en anglais, pas de traduction française native ## Alternatives ### Open source - **polyhaven.com** — le site officiel, déjà open et libre, mais non self-hostable - **ambientCG** — autre bibliothèque de textures CC0, gérée par la même équipe historique - **cgbookcase** — textures CC0 supplémentaires ### Propriétaires - **Adobe Substance 3D Assets** — la bibliothèque payante d'Adobe, intégrée à la suite Substance - **TurboSquid** — marketplace de modèles 3D, qualité variable, licences non toutes libres - **3dsky / CGTrader** — marketplaces généralistes, beaucoup de contenu non libre ## Sécurité - ✅ **Aucun credential utilisateur** : pas d'auth, donc rien à voler - ✅ **CC0 sur le contenu** : tous les assets servis sont dans le domaine public - ⚠️ **Dépendance externe forte** : l'app **ne fonctionne pas** si polyhaven.com et son API sont inaccessibles — c'est un proxy, pas un miroir complet - ⚠️ **Pas de stockage des assets** : OmniPoly ne ré-héberge pas les fichiers, il sert ceux de Poly Haven. Pour un vrai miroir hors-ligne, voir plutôt `polyhavenassets` (plugin Blender) ou un script de sync manuel - **HTTPS obligatoire** en production pour éviter l'écoute des requêtes de prévisualisation - **Rate limiting** : Poly Haven a une API publique ; en cas d'usage intensif, l'IP peut être throttlée — activer le cache aide - **Bus factor 1 / projet jeune** : pas de garantie de maintenance long terme, garder un œil sur les releases et l'API upstream ## Ressources - [Dépôt GitHub kWeglinski/OmniPoly](https://github.com/kWeglinski/OmniPoly) - [Poly Haven (catalogue original)](https://polyhaven.com/) - [API Poly Haven](https://api.polyhaven.com/) - [AmbientCG (textures CC0 complémentaires)](https://ambientcg.com/) ## Pages Liées - [[cat-front-end]] - [[recettes-docker-compose]]