Repository navigation
FR Creer GitHub Pages
English · Procédure · Publiée, relue en partie par une personne · S'applique depuis : 4.2.5
Un projet créé n'a pas de workflow de CI. Cette page en donne un : à chaque push sur main, GitHub construit le jeu
avec le chemin de base du dépôt et publie dist/ sur GitHub Pages, à https://<utilisateur>.github.io/<dépôt>/.
Public, contexte, et statuts de ce sur quoi repose la page
Public : auteur · Contexte : projet créé
Un fichier de workflow, .github/workflows/pages.yml, dans le dépôt de votre jeu. Chaque push sur main lance les
vérifications et la construction du jeu, et ne déploie le résultat sur Pages que si elles passent.
- Un projet créé (
quest-n-click create), poussé sur un dépôt GitHub. Le dépôt du moteur avait son propre job Pages dans.github/workflows/ci.ymljusqu'à la 4.5.1 ; ce workflow en reprend la partie jeu, sans ce que le moteur y ajoutait (la démo du Studio et la documentation sous/docs/). Depuis la 4.5.2, le moteur ne déploie plus Pages : sa démo est sur le site web du projet,https://quest-n-click.cleverapps.io/demo/, servie depuis lequest-n-click-v<version>-web.tar.gzde chaque release (le même build sousBASE_PATH=/demo/). - À partir de la 4.2.5 (la commande
quest-n-click).BASE_PATHest lu par la configuration Vite du moteur (tools/vite/plugins.ts). -
Vérifié sur : pas exécuté tel quel sur un projet créé. Les étapes sont celles du job Pages du dépôt du moteur
en 4.5.1 (lancé à chaque push sur
main), avec les commandes du projet créé à la place de celles du dépôt. Lisez le journal du premier lancement.
- Le projet se construit sur votre machine :
npm run buildpasse (Construire et publier un jeu). -
package-lock.jsoncommité (npm installl'écrit) : le workflow installe avecnpm ci. - Pages activé une fois pour le dépôt : Settings → Pages → Build and deployment → Source : « GitHub Actions ».
Le fichier va dans le projet créé, commité et poussé sur main ; GitHub l'exécute. La vérification en local de la
même construction se lance dans le projet créé, sur votre machine.
- Dans les réglages du dépôt, réglez la source de Pages sur GitHub Actions.
-
Créez
.github/workflows/pages.ymldans le projet créé :name: pages on: push: branches: [main] workflow_dispatch: # Le jeton ne fait que lire ; seul le job de déploiement demande davantage. permissions: contents: read # Un déploiement à la fois ; un push plus récent attend au lieu d'annuler celui en cours. concurrency: group: pages cancel-in-progress: false jobs: build: runs-on: ubuntu-24.04 timeout-minutes: 30 steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0 with: node-version: 22 cache: npm - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7 with: python-version: '3.12' - run: npm ci # L'étape des assets (npm run assets, dans build) demande Pillow ; la liste est livrée avec le moteur. - run: pip install --require-hashes -r node_modules/@quest-n-click/engine/requirements.txt # Seulement quand game/audio ou une vidéo contient des fichiers à encoder : le runner n'a pas ffmpeg. - run: command -v ffmpeg || (sudo apt-get update && sudo apt-get install -y ffmpeg) # Assets, verify (validation, solveur, traductions, lint, playtests), la construction, dist/ recensé. - run: npm run build env: # https://<utilisateur>.github.io/<dépôt>/ : tous les chemins de la construction sous /<dépôt>/. BASE_PATH: /${{ github.event.repository.name }}/ - uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 # v5 with: path: dist deploy: needs: build runs-on: ubuntu-24.04 timeout-minutes: 15 permissions: pages: write id-token: write environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} steps: - id: deployment uses: actions/deploy-pages@368f82528645a54fb793d4d04e342629a3f51346 # v5
Les actions sont épinglées sur les commits qu'utilise le dépôt du moteur. Pour publier avec les contrôles de release (
npm run release), metteznpm run releaseà la place denpm run build.
-
Choisissez
BASE_PATHselon votre adresse :Adresse BASE_PATHhttps://<utilisateur>.github.io/<dépôt>/(un site de projet)/<dépôt>/, comme dans le workflowhttps://<utilisateur>.github.io/(un dépôt nommé<utilisateur>.github.io)retirez le bloc env:/Un domaine personnalisé, à sa racine retirez le bloc env:/Écrivez-le avec une barre oblique à chaque bout. Le manifeste et les icônes de la page s'écrivent
<BASE_PATH>icons/…: sans la barre finale, ils pointent vers/<dépôt>icons/….
-
Construisez la même chose sur votre machine, et jouez-y :
# dans le projet créé BASE_PATH=/my-repo/ npm run build BASE_PATH=/my-repo/ npm run previewPuis ouvrez
http://127.0.0.1:4173/my-repo/.
- Commitez et poussez sur
main. Le lancement apparaît sous Actions ; le résumé du job de déploiement donne l'adresse du site.
Limite ·
no-studio-no-docsCe workflow ne publie que le jeu. Le site du projet construit aussi la démo du Studio (STUDIO=1,VITE_STUDIO_DEMO=1) et assemble/docs/; ni l'une ni l'autre ne font partie du site d'un projet créé.
- Le lancement est vert et le job
deploydonne le lienhttps://<utilisateur>.github.io/<dépôt>/. - Le jeu s'y ouvre, la barre d'adresse garde
/<dépôt>/, et la ligne « Offline » (ou sa traduction) du menu pause finit sur « complete » (le préchargement du cache hors ligne). - Les outils de développement du navigateur montrent
https://<utilisateur>.github.io/<dépôt>/sw.jscomme service worker actif.
| Symptôme | Cause | Correction |
|---|---|---|
| Le job de déploiement échoue sur l'environnement ou sur Pages non activé | La source de Pages n'est pas « GitHub Actions » | Étape 1 |
npm ci refuse : pas de package-lock.json
|
Le fichier de verrouillage n'a pas été commité |
npm install dans le projet créé, commitez package-lock.json
|
No module named 'PIL' |
L'étape pip manque ou a échoué | Gardez pip install avant npm run build
|
ffmpeg introuvable pendant l'encodage de l'audio |
Le runner n'en a pas | Gardez l'étape ffmpeg |
Une page blanche, des 404 sur /assets/index-….js
|
Construit sans BASE_PATH, servi sous /<dépôt>/
|
Gardez le bloc env ; voir Sous-chemin
|
| L'ancienne version reste affichée après un déploiement | Le service worker attend le joueur | Cache et service worker |
-
.github/workflows/pages.ymldans votre dépôt. - L'environnement
github-pagesdu dépôt, que GitHub crée au premier déploiement. - Rien de
dist/n'est commité : le workflow le construit à chaque fois.
Pour remettre une version précédente, annulez le commit sur main (git revert) et poussez, ou relancez le workflow
d'un commit précédent (Actions → ce lancement → Re-run all jobs) : il construit ce commit et le déploie. Les
joueurs déjà sur la version récente reçoivent l'ancienne par le bandeau de mise à jour, et les sauvegardes suivent les
règles de Retour arrière. Désactiver Pages (Settings → Pages) dépublie le site.
- Le job Pages du dépôt du moteur, jusqu'à la 4.5.1 :
.github/workflows/ci.yml, qui n'en a plus depuis la 4.5.2 ; sa version de la 4.5.1 (check, la construction avecBASE_PATH, etpages). -
BASE_PATHet le manifeste :tools/vite/plugins.ts;BASE_PATH. - Ce que lancent
npm run buildetreleasedans un projet créé :cli/quest-n-click.mjs; les fichiers du projet :cli/create.mjs.
Generated publication · publication générée — current documentation · documentation courante: quest'n'click 4.5.3 r1, documentation revision · révision de la documentation b061c4ae6fbeb0be47a11ba8a442ba7e23ecb0a1.
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