Files
2026-06-09 18:40:21 +02:00

5.4 KiB


title: XRSH created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, development, metaverse, webxr, experimental] confidence: medium contested: false sources: [https://selfh.st/apps/?tag=Development, https://xrsh.is]

💻 XRSH

Expérimentation de métaverse open source dans le navigateur via WebXR — un shell 3D immersif, décentralisé, à exécuter sans installation sur n'importe quel device compatible VR/AR.

📋 Informations Générales

Attribut Valeur
Nom XRSH
Slug xrsh
Description Shell de métaverse open source basé sur WebXR, expérimental
Site officiel https://xrsh.is
Repository https://gitlab.com/xrsh/xrsh
Stars 1
Licence MIT / AGPL (à vérifier)
Langage JavaScript, A-Frame, WebXR
Catégorie Development
Note ⚠️ Projet ultra-experimental (~1 ) — preuve de concept technique, pas un produit de production.

📝 Description

XRSH (prononcer « eXr-S-H », pour eXtended Reality SHell) est une tentative de shell 3D immersif entièrement exécuté dans le navigateur grâce à l'API WebXR. Le projet vise à offrir un point d'entrée unique vers un métaverse open source décentralisé, à l'opposé des visions propriétaires de Meta (Horizon Worlds) ou de Microsoft (Mesh).

Philosophie : pas d'installation, pas d'application native, pas de store verrouillé. L'utilisateur ouvre une URL, accepte l'entrée immersive, et se retrouve dans un espace 3D partagé. Les « rooms » (salles) sont des sites web HTML classiques enrichis de balises 3D, hébergeables n'importe où. Cette approche « web-natif » contraste avec les plateformes classiques (VRChat, Roblox) qui imposent un client lourd et une autorité centrale.

Stack technique : principalement A-Frame (framework WebVR/WebXR au-dessus de Three.js) et du JavaScript vanilla, le tout orchestré par un système de modules POSIX-like qui rappelle un shell Unix transposé en 3D. Les utilisateurs interagissent avec des objets virtuels via des commandes textuelles ou vocales, à la manière d'un MUD moderne.

⚠️ Confiance très faible : avec 1 seule étoile GitHub, XRSH est à la frontière entre projet personnel, démonstration de faisabilité et concept en cours d'exploration. Commits sporadiques, documentation fragmentaire, pas de communauté active structurée. À surveiller comme signal d'innovation, pas comme outil prêt à l'emploi.

🚀 Installation

Auto-hébergement minimal (Docker)

# docker-compose.yml
version: "3.8"
services:
  xrsh:
    image: nginx:alpine
    container_name: xrsh
    restart: unless-stopped
    volumes:
      - ./xrsh-www:/usr/share/nginx/html:ro
    ports:
      - "8080:80"
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.xrsh.rule=Host(`xrsh.example.com`)"
      - "traefik.http.routers.xrsh.entrypoints=websecure"
      - "traefik.http.routers.xrsh.tls.certresolver=letsencrypt"
    networks:
      - proxy

networks:
  proxy:
    external: true

Build depuis les sources

git clone https://gitlab.com/xrsh/xrsh.git
cd xrsh
python3 -m http.server 8000
# Ouvrir https://localhost:8000 dans un navigateur WebXR-capable

⚙️ Configuration

  • HTTPS obligatoire : WebXR refuse de fonctionner en HTTP non-sécurisé — obligatoire derrière Traefik/Caddy avec certificat valide (Let's Encrypt).
  • Headers CORS : pour partager des « rooms » entre domaines, configurer CORS sur le serveur statique.
  • Modules : XRSH charge des modules à chaud depuis des URLs distantes — whitelister strictement les domaines autorisés.
  • Navigateur : Chrome ≥ 90 ou Firefox ≥ 90 avec WebXR activé, ou casque Meta Quest / Vision Pro / Vive.
  • Stockage rooms : un simple bucket S3, Pages Cloudflare, ou Nginx statique suffisent.

🔗 Alternatives

  • Mozilla Hubs — Métaverse open source WebXR, archivé en 2024 mais instances toujours accessibles.
  • JanusWeb — Client metaverse open source en JavaScript, compatible VRML/X3D.
  • A-Frame — Framework bas niveau utilisé par XRSH, pour construire ses propres expériences WebXR.
  • Three.js — Bibliothèque 3D sous-jacente, pour un contrôle total.

🔒 Sécurité

  • Surface d'attaque réduite : XRSH étant mono-utilisateur par défaut, l'auto-hébergement se résume à servir du statique.
  • HTTPS obligatoire : WebXR et getUserMedia (caméra/micro) requièrent un contexte sécurisé.
  • Modules tiers : chargés dans le contexte de votre page — CSP stricte recommandée, avec whitelist explicite des origines autorisées.
  • Permissions WebXR : les casques VR/AR requièrent des permissions explicites — informer clairement les utilisateurs.

📚 Ressources

🔗 Pages Liées