---
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]]
