Initial vault setup
This commit is contained in:
@@ -0,0 +1,115 @@
|
||||
---
|
||||
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]]
|
||||
Reference in New Issue
Block a user