Repository navigation
FR Installer Depuis Web Scumm
English · Procédure · Publiée, relue en partie par une personne · S'applique depuis : 4.3.0
quest'n'click s'appelait web-scumm jusqu'à la 4.2.4 (D47). La 4.2.5 a renommé les paquets, les commandes et les
imports, en gardant les anciens noms comme alias pendant toute la 4.2.x ; la 4.3.0 a retiré ces alias. Un jeu qui
dit encore web-scumm passe avec une commande, npx quest-n-click migrate. Les sauvegardes des joueurs ne sont pas
touchées : les formats ont gardé leur nom.
Public, contexte, et statuts de ce sur quoi repose la page
Public : auteur · Contexte : projet créé
Un projet de jeu qui dépend de @quest-n-click/engine, importe @quest-n-click/engine/…, appelle quest-n-click dans ses scripts, et
se construit et se joue comme avant, les sauvegardes de ses joueurs retrouvées là où elles étaient.
- Un projet créé avec
create-web-scumm(ouweb-scumm create), passé à un moteur 4.3.0 ou plus récent. - Jusqu'à la 4.2.4, tous les noms étaient
web-scumm…. Depuis la 4.2.5, les nouveaux noms existent, et chaque release 4.2.x livrait aussi les archives sous les anciens noms, dont les commandes tournaient après une ligne d'avertissement (« web-scumm is now quest-n-click; the old name works until 4.3 »). Depuis la 4.3.0, il n'y a plus d'archive, de commande ni d'importweb-scumm. - Le dépôt est
github.com/Quest-n-Click/quest-n-click; les anciens liensgithub.com/wanoo/web-scummredirigent, y compris les téléchargements de release. Le jeu d'exemple et la démo du Studio sont maintenant surhttps://quest-n-click.cleverapps.io/demo/(depuis la 4.5.2 ; les adresses GitHub Pages d'avant sont abandonnées) : mettez à jour vos favoris et vos liens.
| Avant (jusqu'à la 4.2.4) | Depuis la 4.2.5 |
|---|---|
paquet web-scumm, commande web-scumm
|
quest-n-click, commande quest-n-click
|
imports web-scumm/content, /player, /minigames, /testing, /reality
|
quest-n-click/content, … |
create-web-scumm |
create-quest-n-click |
web-scumm-bridge (paquet et commande) |
quest-n-click-bridge |
web-scumm-connectors, commande web-scumm-connector
|
quest-n-click-connectors, commande quest-n-click-connector
|
web-scumm-studio-server, web-scumm-studio-worker
|
quest-n-click-studio-server, quest-n-click-studio-worker
|
fichiers de release web-scumm-<version>.tgz, web-scumm-<tag>-…
|
quest-n-click-<version>.tgz, quest-n-click-<tag>-…
|
À partir de la 4.5.2, les paquets portent le scope de l'organisation npm (D53) : @quest-n-click/engine,
@quest-n-click/create, @quest-n-click/bridge, @quest-n-click/connectors, @quest-n-click/studio-server, et les
imports sont @quest-n-click/engine/content, … ; les commandes et les fichiers de release gardent les noms ci-dessus.
En 4.5.2 ou après, migrate amène un projet web-scumm directement aux noms à scope.
Les formats sont des identifiants à l'intérieur des fichiers et des stockages, pas le nom du projet : les renommer
casserait les sauvegardes, les fichiers et les déploiements existants. Une sauvegarde reste une enveloppe
web-scumm-save, une session web-scumm-session, un run un fichier .wsrun au format web-scumm-speedrun, un monde
Remix web-scumm-remix-1 ; un signal reste web-scumm-world-signal, un manifeste de réalité
web-scumm-reality-manifest. Le navigateur garde ses bases IndexedDB (web-scumm-saves, web-scumm-runs) et ses clés
de stockage web-scumm.… : les sauvegardes et les runs d'un joueur sont retrouvés là où ils étaient. Les en-têtes
X-Web-Scumm-* du Bridge, les contextes des signatures, les variables d'environnement WEB_SCUMM_* et les tables du
Studio Server ne changent pas.
Les releases jusqu'à la v4.2.4 gardent les noms de leurs fichiers et leurs attestations, qui nomment le dépôt
wanoo/web-scumm ; de la v4.2.5 à la v4.5.1, elles nomment wanoo/quest-n-click, et depuis la v4.5.2, après le passage
dans l'organisation Quest-n-Click, Quest-n-Click/quest-n-click (ship verify demande celui sous lequel chaque release
a été signée ; les attestations d'avant le passage sont cherchées sous l'utilisateur wanoo). Les crédits du jeu d'exemple et du chapitre de référence disent quest'n'click :
leur empreinte de présentation a bougé et leur run de référence a été réenregistré. L'empreinte d'un jeu ne bouge que
si son propre texte change.
- Le projet commité :
migrateréécrit des fichiers sur place. - Les Prérequis de la version cible.
Dans le dossier du projet créé, sur votre machine.
-
Retirez l'ancien paquet :
# dans le projet créé npm uninstall web-scumm
-
Installez le moteur sous son nouveau nom, depuis l'archive de la release :
# dans le projet créé npm install https://github.com/Quest-n-Click/quest-n-click/releases/download/v4.4.0/quest-n-click-4.4.0.tgz
-
Renommez ce que dit encore le projet, vérifiez, et réinstallez :
# dans le projet créé npx quest-n-click migrate npx quest-n-click migrate --check npm install npm run verifymigraterenomme, dans chaque fichier source du projet (.ts,.tsx,.mts,.cts,.js,.jsx,.mjs,.cjs;node_modules,dist,publicet les dossiers cachés laissés de côté), les importsweb-scumm/…en@quest-n-click/engine/…(quest-n-click/…avant la 4.5.2), quel que soit le style de guillemets ; danstsconfig.json, le cheminweb-scumm/*et les ciblesnode_modules/web-scumm/…; danspackage.json, les commandes des scripts (web-scumm devdevientquest-n-click dev,web-scumm-bridge servedevientquest-n-click-bridge serve), et il retire la dépendance à un ancien paquet quand le nouveau est installé. Toute chaîne qui commence parweb-scumm/entre guillemets est renommée, import ou pas ;web-scumm-saveet les autres noms de formats ne le sont pas. Il se relance ensuite dans un nouveau processus, qui lit letsconfig.jsonrenommé, pour la suite de la migration.
Garantie ·
former-name-imports· référencée · exécutée sur47dccf1b4b15· portée reluemigraterenomme les importsweb-scumm/…quel que soit le style de guillemets, et rien de ce qui ne fait que leur ressembler (web-scumm-savereste). Le test lance la fonction de renommage sur des textes d'exemple ; le renommage d'un projet entier est couvert par les autres tests du même fichier et par l'external-consumerdu candidat, pas par celui-ci.
- Changez de la même façon les commandes que vous tapez et vos scripts :
npx web-scumm …devientnpx quest-n-click …;npx web-scumm-bridge,npx web-scumm-connector,npx web-scumm-studio-server,npx web-scumm-studio-workerdeviennentnpx quest-n-click-bridge,npx quest-n-click-connector,npx quest-n-click-studio-server,npx quest-n-click-studio-worker.
- L'hôte d'un Bridge, des connecteurs ou du Studio Server installe les archives
quest-n-click-…et appelle les nouvelles commandes dans ses fichiers d'unité et ses scripts.
Depuis le dossier du projet, les imports dans les deux styles de guillemets, noms avec espaces compris (grep et sed
GNU comme BSD), puis tsconfig.json et package.json comme ci-dessous :
# dans le projet créé
grep -rl --null -E --include='*.ts' --include='*.tsx' --include='*.mts' --include='*.cts' --include='*.js' \
--include='*.jsx' --include='*.mjs' --include='*.cjs' --exclude-dir=node_modules --exclude-dir=dist \
--exclude-dir=public --exclude-dir='.*' "['\"]web-scumm/" * \
| xargs -0 sed -i.bak -e "s#'web-scumm/#'@quest-n-click/engine/#g" -e 's#"web-scumm/#"@quest-n-click/engine/#g'
find . -name '*.bak' -not -path './node_modules/*' -delete-
package.json: la dépendance"web-scumm": "<spec>"devient"@quest-n-click/engine": "<spec>", son archivequest-n-click-<version>.tgz; les scriptsweb-scumm dev,web-scumm build… deviennentquest-n-click dev,quest-n-click build…. -
tsconfig.json: le cheminweb-scumm/*devient@quest-n-click/engine/*, qui pointe sur./node_modules/@quest-n-click/engine/src/engine/api/*;@engine/*pointe sur./node_modules/@quest-n-click/engine/src/engine/*;includenommenode_modules/@quest-n-click/engine/src/env.d.ts.
migrate affiche ✔ the former names renamed @quest-n-click/… in <fichiers> (then: npm install) (de la 4.3.0 à la
4.5.1, ✔ the former name web-scumm renamed quest-n-click in <fichiers> (then: npm install)), puis la ligne du
schéma. npx quest-n-click migrate --check sort avec 0 ; grep -rn "web-scumm/" game ne trouve rien ;
npm run verify passe.
migrate dit ce qu'il vous laisse, chaque point sur une ligne ✖, et --check ne déclare jamais un tel projet
propre :
| Ce qu'il dit | Que faire |
|---|---|
package.json depends on web-scumm: npm uninstall web-scumm && npm install @quest-n-click/engine |
Étapes 1 et 2 : le nouveau paquet n'était pas installé |
package.json has both a web-scumm and a quest-n-click script: the web-scumm one is left as it is |
Supprimez ou renommez vous-même le script web-scumm
|
<chemin>: a symbolic link out of the project, not renamed (rename what it leads to by hand) |
Renommez les fichiers liés là où ils sont |
<chemin>: a symbolic link that leads nowhere, not renamed |
Supprimez ou réparez le lien |
Les fichiers sources du projet qui contenaient web-scumm/…, tsconfig.json, package.json (son indentation et sa
marque d'ordre des octets gardées), package-lock.json après npm install. Rien dans les navigateurs des joueurs.
git reset --hard au commit fait avant, puis npm install. Un moteur 4.3.0 ou plus récent ne relit jamais les anciens
imports : revenir en arrière veut donc dire revenir aussi à un moteur 4.2.x.
Un jeu sur un Studio hébergé qui importe encore web-scumm/… ne se charge plus en 4.3.0 (sa santé n'est pas verte et
ses écritures sont refusées) tant que son propriétaire n'a pas lancé la mise à jour du moteur
(POST /api/engine/migrate). La mise à jour renomme d'abord ses imports, en une révision à part jugée seulement sur le
fait que le jeu se charge (et, s'il se chargeait avant, sur l'absence de nouvelle erreur du validateur), jamais par le
solveur ; puis la migration du schéma, si elle est due, est jugée comme avant et peut encore être refusée (422, le
renommage gardé). Le renommage ne s'annule pas : faites une sauvegarde avant pour pouvoir revenir.
Mettre à jour le moteur d'un jeu hébergé.
- Mettre à jour, Notes de mise à jour : 4.2 (§38), Notes de mise à jour : 4.3 (§39)
-
tools/migrate-name.ts,tools/migrate.ts,tests/former-name.test.ts
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