Repository navigation
FR Installer Depuis NPM
English · Procédure · Publiée, relue en partie par une personne · S'applique depuis : 4.2.5
Le moteur est sur npm depuis la 4.5.2 (publiée le 24 octobre 2026). Ses paquets sont nommés sous l'organisation
quest-n-click (D53) : @quest-n-click/engine, @quest-n-click/create, @quest-n-click/bridge,
@quest-n-click/connectors et @quest-n-click/studio-server, chacun publié par le run de release et approuvé par un
propriétaire de l'organisation. Un projet se crée et se met à jour avec les commandes habituelles de npm, sans URL
d'archive ; l'archive de la release marche toujours de la même façon. Les noms sans scope de
la 4.5.1 et avant (quest-n-click, quest-n-click-bridge, …) ne sont pas le moteur : les mainteneurs les gardent comme
pointeurs dépréciés vers les noms à scope, sauf create-quest-n-click, un relais vers @quest-n-click/create.
Public, contexte, et statuts de ce sur quoi repose la page
Public : auteur · Contexte : projet créé
Un projet de jeu créé et mis à jour avec les commandes habituelles de npm, sans URL d'archive, depuis des paquets dont vous vérifiez en une commande qu'ils sont ceux du projet.
- Un projet créé, sur votre machine.
- Aucune version du produit n'a été publiée sur npm jusqu'à la 4.5.1 incluse. La 4.2.0 n'est partie que sur GitHub
Releases (D38) : la publication demande la double authentification d'un mainteneur à chaque étape, et la 4.2.0 ne
l'a pas attendue. L'organisation npm
quest-n-click(deux propriétaires, donc deux personnes peuvent approuver) et les noms à scope arrivent avec la 4.5.2 (D53), la première release que release.yml a mise en attente sur npm et la première publiée là, le 24 octobre 2026. Chaque release stable depuis est mise en attente de la même façon et se trouve sur npm une fois qu'un propriétaire l'approuve :npm view @quest-n-click/engine versiondit laquelle. - Les noms sont surveillés : un job du workflow de nuit (
npm-names, jamais bloquant) vérifie que chaque nom à scope, et chaque ancien nomweb-scumm…, est libre ou publié par un propriétaire de l'organisation, que chaque nom sans scope est un pointeur déprécié d'un propriétaire (create-quest-n-click: un relais d'un propriétaire, non déprécié), et prévient sinon.
Limite ·
npm-owners-onlyUn paquet sous l'un de ces noms publié par un autre que les propriétaires de l'organisation n'est pas celui du projet : ne l'installez pas. Les noms sans scope ont été dépubliés le 24 octobre 2026, pour être republiés comme pointeurs (etcreate-quest-n-clickcomme relais) par les mainteneurs : d'ici là,npx create-quest-n-clickne trouve rien, et la commande estnpm init @quest-n-click.
- Les Prérequis de tout projet de jeu : Node.js 22.12 ou plus récent, Python 3 pour les images.
- Rien d'autre : depuis la 4.5.2, la release est sur npm.
Sur votre machine, depuis le dossier qui contiendra le projet ; puis dans le projet créé.
-
Vérifiez que le paquet est publié et qu'il est celui du projet. Ses mainteneurs doivent être des propriétaires de l'organisation
quest-n-click(lostinbrittanyetwanoo), son dépôtgithub.com/Quest-n-Click/quest-n-click, et sonlatestune version du produit :# n'importe où npm view @quest-n-click/engine maintainers repository.url dist-tagsIl nomme une version du produit (
latest: '4.5.2'le 25 octobre 2026). S'il ne nomme quebootstrap, la réservation, ou un mainteneur qui n'est pas propriétaire, arrêtez-vous là et prenez l'archive de la release.
-
Créez le projet. Les deux commandes font la même chose (
@quest-n-click/createlancequest-n-click createdepuis le moteur dont il dépend) :# dans le dossier qui contiendra le projet npm init @quest-n-click my-game "Mon jeu" # ou : npx quest-n-click create my-game "Mon jeu"
Une fois que les mainteneurs l'ont republié,
npx create-quest-n-click my-game "Mon jeu"marche aussi : lecreate-quest-n-clicksans scope est un relais qui lance@quest-n-click/create, la même chose.Sans
--engine,createécrit la dépendance"@quest-n-click/engine": "^<version>", que npm résout depuis le registre.
-
Installez, préparez les images et jouez, comme depuis l'archive :
# depuis le dossier qui contient le projet, puis dedans cd my-game npm install python3 -m pip install --require-hashes -r node_modules/@quest-n-click/engine/requirements.txt npm run assets && npm run dev
L'étape 1 affiche les mainteneurs et le dépôt ; l'étape 2 se termine par
my-game: "Mon jeu" created (@quest-n-click/engine ^<version>). Un projet fait depuis une archive passe au registre avec
npm install @quest-n-click/engine@<version>, qui remplace l'URL de l'archive dans son package.json par une plage de
versions.
| Symptôme | Cause | Correction |
|---|---|---|
npm view @quest-n-click/engine dist-tags ne nomme que bootstrap (et la version d’attente 0.0.0-stage de npm) |
Pas le registre attendu, ou un miroir derrière lui | Vérifiez npm config get registry, ou installez depuis l'archive de la release
|
npx create-quest-n-click répond 404 |
Le relais n'est pas encore republié | npm init @quest-n-click my-game |
npm view montre un mainteneur qui n'est pas propriétaire de l'organisation |
Un nom pris par un tiers | Ne l'installez pas ; signalez-le dans les issues du projet |
npm warn deprecated quest-n-click@0.0.1: … |
Un nom sans scope de la 4.5.1 et avant, désormais un pointeur | Installez @quest-n-click/engine à la place |
L'étape 1 ne change rien. Les étapes 2 et 3 écrivent le même projet que depuis l'archive ;
seule la dépendance dans package.json diffère (une plage au lieu d'une URL).
Un projet créé depuis npm revient à une archive avec npm install <URL de l'archive>, comme le décrit
Mettre à jour.
La procédure a été écrite en 4.1.20 ; à partir de la 4.5.2, release.yml met les paquets en attente et un propriétaire les approuve, et la 4.5.2 a été la première release sur npm. Le détail est dans Paquets npm. Ce sur quoi un utilisateur peut compter :
-
Une publication en étapes, approuvée par une personne. Le run de release met chaque paquet en scène via l'OIDC
de GitHub (trusted publishing, configuré en stage-only : la CI peut mettre en scène, jamais publier), et le
mainteneur promeut chacun avec sa double authentification (
npm stage approve <id>, ou sur npmjs.com) ; l'un ou l'autre propriétaire de l'organisation peut approuver. Une version du produit ne vient jamais d'une publication locale, qui ne porterait pas de provenance OIDC ; seule une version de réservation0.0.0-bootstrap.0le peut, une fois par paquet, pour le créer. -
Des outils exacts. La publication en étapes demande au moins npm 11.15.0 et Node 22.14.0. Le job
npm-stagede release.yml les épingle à l'identique,NPM_PUBLISH_NODE: 22.23.3etNPM_PUBLISH_NPM: 11.21.0, installe lui-même npm 11.21.0 (Node 22.23.3 livre npm 10.9.9) et vérifie les deux ; un test refuse une plage. -
Les connecteurs ne sont pas déclarés dual-use. La politique dual-use de npm vise les outils qui peuvent
ressembler à un logiciel malveillant (test d'intrusion, recherche en sécurité, obfuscation) ; les connecteurs sont
des serveurs qu'un jeu fait tourner (une façade SSH et Telnet, un webhook et un lecteur IMAP pour l'email, un
vérificateur Open Badge), qui ne scannent, n'attaquent et ne cachent rien. Ils passent par la même publication en
étapes et la même promotion à double authentification que les autres paquets. Si l'analyse de npm retient ou
signale le paquet, il reçoit
"contentPolicy": { "class": "dual-use" }et un fichierDISCLOSURE.
- Installer depuis l'archive de la release, Référence du paquet
- Paquets npm (la procédure du mainteneur), Publier une release
- La documentation de npm : staged publishing, politique dual-use
-
.github/workflows/nightly.yml(le jobnpm-names),.github/workflows/release.yml(le jobnpm-stage)
Generated publication · publication générée — current documentation · documentation courante: quest'n'click 4.5.4 r2, documentation revision · révision de la documentation 63112c877c587cc4fad16b25a3400408db2c36bd.
Latest documentation · dernière documentation: https://quest-n-click.cleverapps.io/docs · https://quest-n-click.cleverapps.io/fr/docs; earlier versions · versions précédentes: each release's quest-n-click-docs-<version>.tar.gz · l'archive quest-n-click-docs-<version>.tar.gz de chaque release, https://github.com/Quest-n-Click/quest-n-click/releases
An edit made in this wiki is overwritten at the next publication · une modification faite dans ce wiki est écrasée à la publication suivante.
Edit the source · Modifier la source · Report an error · Signaler une erreur
Index (6)
Démarrer (6)
Jouer (9)
Installer (18)
- Prérequis
- Installer depuis l'archive de la release
- Installer depuis npm
- Installer depuis le dépôt pour travailler sur le moteur
- doctor : vérifier sa machine
- Outils pour les images
- Outils audio : ffmpeg, fluidsynth, Furnace, uv
- Mettre à jour
- Notes de mise à jour : 4.5
- Notes de mise à jour : 4.4
- Notes de mise à jour : 4.3
- Notes de mise à jour : 4.2
- Notes de mise à jour : 4.1
- Notes de mise à jour : v3
- Notes de mise à jour : v2 vers v3
- Venir de web-scumm
- Référence du paquet
- Dépannage de l'installation
Créer un jeu (55)
- Votre premier jeu
- Organisation d'un projet créé et du dépôt du moteur
- La boucle de travail
- Principes du contenu et contrat d'identité
- Salles
- Géométrie : placement, zones de marche, masques, calques, caméra
- Un objet est visible mais inaccessible
- Réactions
- Commandes du jeu
- Conditions
- Drapeaux, variables et événements : lequel choisir
- Code sur mesure
- Personnages
- Objets et inventaire
- Carte du monde
- Dialogues
- Scripts et événements
- Faire bouger les personnages : patrouilles et marches
- Sorties
- Chapitres et objectifs
- État et sauvegardes : persistant ou temporaire, renommer un id, migrations
- Mise en scène : salles larges et animations
- La scène : lumières, particules, sols
- Habillage et polices
- Titre et générique
- Héros : plusieurs personnages et choix du héros
- Mini-jeux intégrés
- Un mini-jeu sur mesure
- Traductions
- Musique en stems
- Bruitages
- Voix : par langue et par héros
- Images : prompts, découpe des planches, transparence, échelle
- Provenance des assets
- Le storyboard, source de vérité
- Concevoir des énigmes
- Mécaniques classiques
- Pages de relecture
- Référence du DSL
- Vérifier son jeu
- Ce que prouve le solveur
- Options du solveur
- Playtests
- Remix
- Speedrun pour les auteurs
- La fin scellée
- Modèle de production
- Jeux d'exemple
- Travailler avec une IA
- Construire et publier un jeu
- Publier sur GitHub Pages
- Le jeu statique sur Clever Cloud
- Autres hébergeurs statiques
- Sous-chemin, cache et service worker, déploiement incomplet, retour arrière
- Tester sur un téléphone en réseau local
Studio local (24)
- Le Studio local : présentation et lancement
- Modifier une salle
- Placement et scène
- Aperçu, application, annulation
- Storyboard
- Assets et découpe
- Vérifier : validateur, solveur, chemin critique, chaleur, santé, couverture
- Captures avant et après
- Diff sémantique
- Jouer et rejouer une session
- Explication des règles
- Langue et objectifs
- Voix et matrice héros × langues
- Carte
- Notes
- Remix dans le Studio
- Musique
- L'Assistant : votre propre clé
- Mode démo et studio-apply
- Sécurité en local et en réseau local
- API du Studio
- MCP local : configurer chaque client
- Outils MCP
- Dépannage du Studio
Studio d'équipe (21)
- Ce qui tourne où
- Concepts : révision, transaction, pan, bail, aperçu, build
- Débuter comme dev invité
- Travailler ensemble au quotidien
- Rôles et actions : la matrice complète
- Invitations
- Gérer les membres
- Écriture refusée sur le Studio hébergé : révision de base périmée (409)
- Écriture refusée sur le Studio hébergé : pan verrouillé (423)
- Reprendre après un bail perdu, une déconnexion ou un aperçu périmé
- Commentaires
- Carte et diff sémantique
- Publier des builds
- MCP distant
- Le jeu dans Git
- Mettre à jour le moteur d'un jeu hébergé
- Assets hébergés
- La ligne de commande du serveur
- Routes de santé et de métriques
- L'essayer en local avec compose.yml
- Limites connues
Clever Cloud (23)
- Clever Cloud : vue d'ensemble, coût et prérequis
- Applications et add-ons
- Domaines et TLS
- Keycloak
- OIDC générique et GitLab
- Configuration
- Premier déploiement
- Sauvegardes
- RPO et RTO
- Exercice de restauration sur une installation vierge
- Redéploiements
- Mettre à jour le serveur et vérifier l'état après une migration
- Limites du retour arrière
- Supervision
- Sécurité
- Renouveler les clés
- Récupérer l'accès administrateur
- Changer de domaine ou de fournisseur OIDC
- Worker, PostgreSQL ou Cellar en panne
- Exporter le jeu et quitter l'installation
- Rétention
- Dépannage sur Clever Cloud
- Coûts et démontage
Reality Bridge et connecteurs (16)
- Le Reality Bridge : ce que c'est
- Démarrage rapide
- Garanties
- Installer et lancer le Bridge
- Sauvegarde et restauration
- Plusieurs tenants
- Signaux et manifeste
- La ligne de commande du Bridge
- Vue d'ensemble des connecteurs
- Connecteur email
- Connecteur Telnet
- Connecteur SSH
- Connecteur Open Badges
- Le SDK des connecteurs
- Sécurité : Biscuit et signatures
- Dépannage du Bridge et des connecteurs
Contribuer (25)
- Bienvenue
- Préparer son poste de développement
- La boucle de développement
- Avant une pull request
- Conventions
- Écrire la documentation
- Architecture
- Visite du code
- Frontières d'import
- Quels tests tournent quand
- Tests de mutation
- Le cliquet de couverture
- La référence de qualité
- La CI expliquée
- Passes de terrain
- Mesures de performance
- Publier une release
- Paquets npm
- Décisions et ADR
- Gouvernance
- Pull requests des bots
- Contribuer avec des agents IA
- Politique de sécurité
- Code de conduite
- Licences et crédits