@overcrow/mcp 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/content/docs/en/cli.md +446 -31
- package/dist/content/docs/en/creator-space.md +78 -0
- package/dist/content/docs/en/guide.md +3 -4
- package/dist/content/docs/en/manifest.md +13 -6
- package/dist/content/docs/en/mcp.md +1 -1
- package/dist/content/docs/en/publish-a-widget.md +94 -0
- package/dist/content/docs/en/publish-keys.md +95 -0
- package/dist/content/docs/en/publishing.md +5 -0
- package/dist/content/docs/en/verified-domain.md +46 -0
- package/dist/content/docs/en/widget-listing.md +65 -0
- package/dist/content/docs/en/widget-review.md +57 -0
- package/dist/content/docs/en/widget-statistics.md +134 -0
- package/dist/content/docs/fr/cli.md +467 -32
- package/dist/content/docs/fr/creator-space.md +83 -0
- package/dist/content/docs/fr/guide.md +3 -4
- package/dist/content/docs/fr/manifest.md +15 -6
- package/dist/content/docs/fr/mcp.md +1 -1
- package/dist/content/docs/fr/publish-a-widget.md +101 -0
- package/dist/content/docs/fr/publish-keys.md +97 -0
- package/dist/content/docs/fr/publishing.md +5 -0
- package/dist/content/docs/fr/verified-domain.md +49 -0
- package/dist/content/docs/fr/widget-listing.md +69 -0
- package/dist/content/docs/fr/widget-review.md +59 -0
- package/dist/content/docs/fr/widget-statistics.md +141 -0
- package/dist/content/examples/countdown/manifest.json +1 -1
- package/dist/content/examples/fps/submission.json +8 -0
- package/dist/content/examples/media/submission.json +12 -0
- package/dist/content/examples/notes/submission.json +12 -0
- package/dist/content/examples/performance/submission.json +12 -0
- package/dist/content/examples/playervox-journal/submission.json +12 -0
- package/dist/content/examples/playervox-rating/submission.json +12 -0
- package/dist/content/examples/playervox-reviews/submission.json +8 -0
- package/dist/content/examples/playervox-score/submission.json +8 -0
- package/dist/content/examples/session/submission.json +8 -0
- package/dist/content/examples/stopwatch/submission.json +12 -0
- package/dist/content/examples/twitch-chat/submission.json +12 -0
- package/dist/content/examples/warframe-market/submission.json +24 -0
- package/dist/content/examples/weather/manifest.json +1 -1
- package/dist/content/examples/weather/submission.json +17 -0
- package/dist/content/index.json +106 -2
- package/dist/content/reference/errors.json +224 -12
- package/dist/content/reference/manifest.md +1 -1
- package/dist/hidden.js +47 -0
- package/dist/texts.js +1 -1
- package/dist/tools/project.js +5 -0
- package/dist/tools/submission.js +1 -1
- package/dist/version.js +1 -1
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# Démarrer dans l’espace créateurs
|
|
2
|
+
|
|
3
|
+
L’espace créateurs de PlayerVox OverCrow, à l’adresse
|
|
4
|
+
`creators.playervox.com`, sert à publier des widgets : vous y créez votre éditeur une fois, réservez les
|
|
5
|
+
identifiants de vos widgets, envoyez leurs versions et suivez leur revue. Il
|
|
6
|
+
est ouvert sur invitation pour l’instant.
|
|
7
|
+
|
|
8
|
+
## Se connecter
|
|
9
|
+
|
|
10
|
+
Connectez-vous avec votre compte PlayerVox : l’espace créateurs vous envoie
|
|
11
|
+
sur playervox.com, qui vous demande de confirmer, puis vous ramène. Vous ne
|
|
12
|
+
tapez jamais votre mot de passe dans l’espace créateurs. La session dure tant
|
|
13
|
+
que vous l’utilisez, 14 jours au plus ; vous pouvez la fermer sur
|
|
14
|
+
playervox.com, dans **Appareils connectés**.
|
|
15
|
+
|
|
16
|
+
L’interface est en français ou en anglais : choisissez dans le menu du
|
|
17
|
+
compte. Les adresses restent les mêmes dans les deux langues.
|
|
18
|
+
|
|
19
|
+
## Activer la double authentification
|
|
20
|
+
|
|
21
|
+
Publier exige la double authentification sur votre compte. La première
|
|
22
|
+
visite l’active :
|
|
23
|
+
|
|
24
|
+
1. Ouvrez une application d’authentification (Aegis, 2FAS, Google
|
|
25
|
+
Authenticator, 1Password…).
|
|
26
|
+
2. Scannez le QR code sur un ordinateur, ou touchez **Ajouter à mon
|
|
27
|
+
application** sur un téléphone ou une tablette. Vous pouvez aussi saisir
|
|
28
|
+
la clé à la main.
|
|
29
|
+
3. Entrez le code à 6 chiffres affiché par l’application.
|
|
30
|
+
|
|
31
|
+
Vous recevez ensuite dix codes de secours, affichés une seule fois : chacun
|
|
32
|
+
vous connecte une fois si vous perdez votre téléphone. Rangez-les en lieu
|
|
33
|
+
sûr. Créer une clé de publication ou supprimer votre éditeur redemande un
|
|
34
|
+
code récent.
|
|
35
|
+
|
|
36
|
+
## Créer votre éditeur
|
|
37
|
+
|
|
38
|
+
L’éditeur est le nom sous lequel vos widgets apparaissent.
|
|
39
|
+
|
|
40
|
+
- **Nom affiché** : montré aux joueurs. Un nom qui se lit comme PlayerVox,
|
|
41
|
+
OverCrow ou Valhallab est refusé.
|
|
42
|
+
- **Identifiant** : de 3 à 32 lettres minuscules, chiffres et tirets, sans
|
|
43
|
+
tiret au début ni à la fin. Il est **définitif** : il ne peut plus être
|
|
44
|
+
changé, et un identifiant n’est jamais donné à quelqu’un d’autre, même
|
|
45
|
+
après une suppression. Les identifiants de vos widgets commencent par lui.
|
|
46
|
+
- **E-mail de contact** : pour que PlayerVox vous joigne. Il n’est jamais
|
|
47
|
+
affiché.
|
|
48
|
+
- **Site web** et **logo** (carré, PNG ou WebP) : facultatifs, affichés sur
|
|
49
|
+
votre page éditeur. Tapez le site comme vous le connaissez
|
|
50
|
+
(`exemple.com`) : `https://` est ajouté pour vous.
|
|
51
|
+
|
|
52
|
+
Votre profil public (nom, présentation, site, logo) paraît avec la prochaine
|
|
53
|
+
publication du catalogue : d’ici là, l’espace créateurs indique **Visible
|
|
54
|
+
après la prochaine publication**.
|
|
55
|
+
|
|
56
|
+
Lisez ensuite l’accord créateur, résumé en six points à l’écran, et
|
|
57
|
+
acceptez-le. Votre espace est prêt.
|
|
58
|
+
|
|
59
|
+
## Réserver l’identifiant de votre premier widget
|
|
60
|
+
|
|
61
|
+
L’identifiant d’un widget s’écrit `<identifiant>.<nom>` : `nova.lol-timers`
|
|
62
|
+
pour l’identifiant `nova`. Avec un [domaine vérifié](verified-domain.md), il
|
|
63
|
+
peut aussi commencer par votre domaine inversé : `gg.nova.lol-timers` pour
|
|
64
|
+
`nova.gg`. Le nom s’écrit en lettres minuscules, chiffres et tirets. Un
|
|
65
|
+
identifiant est définitif et ne ressert jamais.
|
|
66
|
+
|
|
67
|
+
Dans **Widgets**, **Nouveau widget** réserve l’identifiant. Créez le projet
|
|
68
|
+
avec le même identifiant :
|
|
69
|
+
|
|
70
|
+
```sh
|
|
71
|
+
overcrow-widget init lol-timers --id nova.lol-timers
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Essayez-le dans votre jeu avec le [canal de développement](dev-channel.md) :
|
|
75
|
+
rien n’est publié.
|
|
76
|
+
|
|
77
|
+
## Ensuite
|
|
78
|
+
|
|
79
|
+
- Envoyer une version : [publication et revue](publishing.md).
|
|
80
|
+
- Envoyer depuis un terminal ou une CI :
|
|
81
|
+
[clés de publication et CI](publish-keys.md).
|
|
82
|
+
- Obtenir le badge vérifié et des identifiants à votre domaine :
|
|
83
|
+
[domaine vérifié](verified-domain.md).
|
|
@@ -250,10 +250,9 @@ utilisateurs obtiennent les widgets par le catalogue signé. Voir
|
|
|
250
250
|
|
|
251
251
|
## 12. Soumettre
|
|
252
252
|
|
|
253
|
-
Ajoutez un `listing.json` avec le texte de la marketplace
|
|
254
|
-
l’admission
|
|
255
|
-
|
|
256
|
-
[dépôt public](https://github.com/Valhallab/playervox-overcrow-releases) :
|
|
253
|
+
Ajoutez un `listing.json` avec le texte de la marketplace et lancez
|
|
254
|
+
vous-même l’admission. Les widgets ne sont plus proposés par pull request :
|
|
255
|
+
vous enverrez le vôtre depuis l’espace créateurs OverCrow, à son ouverture.
|
|
257
256
|
|
|
258
257
|
```sh
|
|
259
258
|
overcrow-widget admit
|
|
@@ -39,7 +39,7 @@ valeurs qu’il remplit. Voici un manifeste avec des permissions et un menu :
|
|
|
39
39
|
{
|
|
40
40
|
"schemaVersion": 1,
|
|
41
41
|
"apiVersion": 1,
|
|
42
|
-
"id": "
|
|
42
|
+
"id": "nova.countdown",
|
|
43
43
|
"version": "1.0.0",
|
|
44
44
|
"name": { "en": "Countdown", "fr": "Compte à rebours" },
|
|
45
45
|
"sizing": {
|
|
@@ -79,7 +79,7 @@ valeurs qu’il remplit. Voici un manifeste avec des permissions et un menu :
|
|
|
79
79
|
| --- | --- | --- | --- |
|
|
80
80
|
| `schemaVersion` | entier de 1 à 1 | oui | Version du document de manifeste. |
|
|
81
81
|
| `apiVersion` | entier de 1 à 1 | oui | Version de l’API des widgets ; elle sélectionne ce schéma. |
|
|
82
|
-
| `id` | `widget ID` | oui | ID
|
|
82
|
+
| `id` | `widget ID` | oui | ID du widget, de 3 octets à 128 octets : au moins deux segments de `[a-z0-9-]` séparés par des points, chacun d’au plus 63 octets, sans `-` au début ni à la fin ; `<pseudo>.<nom>` avec le pseudo de l’éditeur, ou un domaine vérifié de l’éditeur, inversé, suivi d’un nom. `com.playervox` et `com.playervox.*` sont réservés aux paquets signés par PlayerVox. |
|
|
83
83
|
| `version` | `version` | oui | SemVer 2.0.0 `MAJOR.MINOR.PATCH[-PRERELEASE]` sous sa forme canonique, d’au plus 64 octets ; les métadonnées de build sont refusées. |
|
|
84
84
|
| `name` | `WidgetName` | oui | Nom localisé du widget, affiché par l’hôte. |
|
|
85
85
|
| `sizing` | `Sizing` | oui | Règles de taille et d’ajustement appliquées par le cadre du widget. |
|
|
@@ -92,9 +92,14 @@ valeurs qu’il remplit. Voici un manifeste avec des permissions et un menu :
|
|
|
92
92
|
### Identité et version
|
|
93
93
|
|
|
94
94
|
- **`id`** est l’identité du widget partout : dans le catalogue, dans le
|
|
95
|
-
profil de l’utilisateur, dans son stockage.
|
|
96
|
-
|
|
97
|
-
`
|
|
95
|
+
profil de l’utilisateur, dans son stockage. Il s’écrit `<pseudo>.<nom>`,
|
|
96
|
+
votre pseudo d’éditeur dans l’espace créateurs d’OverCrow et un nom
|
|
97
|
+
(`nova.lol-timers`), ou, une fois un domaine vérifié, ce domaine inversé
|
|
98
|
+
et un nom (`gg.nova.lol-timers`). Un ID est définitif : il n’est jamais
|
|
99
|
+
donné à un autre widget, même après la suppression du vôtre. `nova`,
|
|
100
|
+
`example`, `yourhandle` et `yourname` sont des pseudos d’exemple sous
|
|
101
|
+
lesquels personne ne peut publier, et les ID sous `com.playervox` sont
|
|
102
|
+
réservés aux widgets publiés par PlayerVox.
|
|
98
103
|
- **`version`** est une version sémantique. Une version publiée ne change
|
|
99
104
|
jamais : toute modification d’un widget publié est une nouvelle version,
|
|
100
105
|
supérieure.
|
|
@@ -103,7 +108,11 @@ valeurs qu’il remplit. Voici un manifeste avec des permissions et un menu :
|
|
|
103
108
|
### Noms
|
|
104
109
|
|
|
105
110
|
`name` donne le nom qu’OverCrow affiche dans sa liste de widgets et dans ses
|
|
106
|
-
menus, en anglais et en français. Les deux sont obligatoires.
|
|
111
|
+
menus, en anglais et en français. Les deux sont obligatoires. Un nom
|
|
112
|
+
s’affiche tel qu’il est écrit : ni caractère de contrôle, ni caractère
|
|
113
|
+
invisible ou de sens d’écriture, comme U+200B (espace sans chasse) ou
|
|
114
|
+
U+202E (forçage de droite à gauche). Les libellés du menu suivent la même
|
|
115
|
+
règle.
|
|
107
116
|
|
|
108
117
|
<!-- generated:manifest-name -->
|
|
109
118
|
| Champ | Type | Obligatoire | Signification |
|
|
@@ -123,7 +123,7 @@ Claude Desktop.
|
|
|
123
123
|
## Ce qu’il ne fait pas
|
|
124
124
|
|
|
125
125
|
- Il n’envoie, ne signe et ne publie jamais rien. Vous envoyez le zip et
|
|
126
|
-
les textes dans l’espace créateurs d’OverCrow,
|
|
126
|
+
les textes dans l’espace créateurs d’OverCrow, à l’adresse creators.playervox.com.
|
|
127
127
|
- Il n’installe pas votre widget dans OverCrow : l’essayer en jeu passe par
|
|
128
128
|
le [canal de développement](dev-channel.md) de l’outil en ligne de
|
|
129
129
|
commande.
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
# Publier un widget
|
|
2
|
+
|
|
3
|
+
Dans l’espace créateurs de PlayerVox OverCrow, à l’adresse
|
|
4
|
+
`creators.playervox.com`, un widget arrive aux joueurs en quatre
|
|
5
|
+
étapes : vous envoyez ses sources, elles sont contrôlées automatiquement,
|
|
6
|
+
PlayerVox les relit, puis la version est publiée dans le catalogue. Cette
|
|
7
|
+
page couvre les deux premières et l’écran qui envoie une version en revue ;
|
|
8
|
+
la [revue](widget-review.md) et la [fiche](widget-listing.md) ont leur
|
|
9
|
+
propre page.
|
|
10
|
+
|
|
11
|
+
## Avant d’envoyer
|
|
12
|
+
|
|
13
|
+
- L’identifiant de votre widget est réservé dans l’espace créateurs
|
|
14
|
+
([démarrer](creator-space.md)), et `manifest.json` l’utilise.
|
|
15
|
+
- `overcrow-widget check` passe dans le dossier du widget.
|
|
16
|
+
- La version de `manifest.json` est plus récente que la dernière approuvée :
|
|
17
|
+
`1.2.1` ou plus après `1.2.0`.
|
|
18
|
+
|
|
19
|
+
## Envoyer les sources
|
|
20
|
+
|
|
21
|
+
Ouvrez le widget dans **Widgets**, puis **Envoyer une version**.
|
|
22
|
+
|
|
23
|
+
- Sur un ordinateur, déposez le dossier du widget sur la page, ou
|
|
24
|
+
choisissez-le. Vous pouvez aussi envoyer un `.zip` du dossier.
|
|
25
|
+
- Sur un téléphone ou une tablette, qui ne savent pas choisir un dossier,
|
|
26
|
+
choisissez le `.zip`.
|
|
27
|
+
|
|
28
|
+
L’espace créateurs lit un dossier avec les mêmes règles que
|
|
29
|
+
`overcrow-widget submit`, sur votre ordinateur, et envoie les mêmes
|
|
30
|
+
fichiers. Il laisse de côté les fichiers et dossiers cachés (`.env`,
|
|
31
|
+
`.git/`…), `node_modules/`, `dist/`, `tests/output/`, `__MACOSX/`, les
|
|
32
|
+
paquets déjà construits, les fichiers de clés, les fichiers système et les
|
|
33
|
+
noms qui ne sont pas en ASCII portable ; la page liste ce qu’il a laissé de
|
|
34
|
+
côté. Un `.zip` est envoyé tel quel. Les bornes et les refus sont ceux des
|
|
35
|
+
[archives de sources](cli.md#archives-de-sources) : 32 Mio pour l’archive,
|
|
36
|
+
64 Mio et 2 000 fichiers une fois décompressé, 16 niveaux de dossiers, des
|
|
37
|
+
chemins de 255 octets au plus, aucun nom qui ne diffère d’un autre que par
|
|
38
|
+
la casse.
|
|
39
|
+
|
|
40
|
+
- Un `.zip` fait par Windows PowerShell 5.1 (`Compress-Archive`) sépare les
|
|
41
|
+
dossiers par `\` et est refusé aussitôt : déposez plutôt le dossier.
|
|
42
|
+
- Un nom de fichier ou de dossier avec `\ : * ? " < > |` est refusé avant
|
|
43
|
+
tout envoi : Windows ne peut pas l’utiliser. Renommez-le.
|
|
44
|
+
- Un navigateur lit le fichier vers lequel pointe un lien, là où l’outil en
|
|
45
|
+
ligne de commande laisse le lien de côté. Gardez les liens hors du dossier
|
|
46
|
+
du widget.
|
|
47
|
+
- Vos sources restent privées : seuls les relecteurs PlayerVox les lisent,
|
|
48
|
+
et chaque consultation apparaît dans l’espace créateurs.
|
|
49
|
+
|
|
50
|
+
Un éditeur fait au plus 20 envois en 24 heures ; la page dit quand le
|
|
51
|
+
suivant est possible. Si la page se ferme ou si la connexion se coupe
|
|
52
|
+
pendant l’envoi, déposez à nouveau le même dossier : l’envoi reprend, et
|
|
53
|
+
rien n’est compté deux fois.
|
|
54
|
+
|
|
55
|
+
## Les contrôles
|
|
56
|
+
|
|
57
|
+
Les contrôles prennent environ une minute : le manifeste, le numéro de
|
|
58
|
+
version, le code, la construction du paquet, les permissions, la taille.
|
|
59
|
+
Vous pouvez quitter la page : un e-mail vous prévient quand ils sont finis.
|
|
60
|
+
|
|
61
|
+
- Quand un contrôle échoue, chaque problème est montré dans vos propres
|
|
62
|
+
fichiers, avec la ligne et la correction. Corrigez et envoyez à nouveau ;
|
|
63
|
+
rien n’arrive aux relecteurs.
|
|
64
|
+
- « Problème de notre côté » signifie que PlayerVox n’a pas pu faire les
|
|
65
|
+
contrôles : votre code n’est pas en cause. PlayerVox est prévenu et les
|
|
66
|
+
relance.
|
|
67
|
+
|
|
68
|
+
## Soumettre pour revue
|
|
69
|
+
|
|
70
|
+
Quand les contrôles passent, la page de la version dit ce qui change pour
|
|
71
|
+
les joueurs :
|
|
72
|
+
|
|
73
|
+
- **Permissions.** Expliquez pourquoi le widget a besoin de chaque
|
|
74
|
+
permission nouvelle ou élargie, avec des mots que les joueurs comprennent.
|
|
75
|
+
Une première version les explique toutes.
|
|
76
|
+
- **Politique de confidentialité.** Obligatoire dès que le widget utilise
|
|
77
|
+
le réseau. L’adresse tapée ici est aussi enregistrée dans la fiche.
|
|
78
|
+
- **Fiche.** Une première version part en revue avec sa fiche, qui demande
|
|
79
|
+
une description en anglais, une licence et un contact d’assistance.
|
|
80
|
+
- **Notes de version**, visibles par les joueurs : facultatives. L’anglais
|
|
81
|
+
vient d’abord ; **Ajouter une langue** en ajoute d’autres, 16 au plus. Dès
|
|
82
|
+
que vous en écrivez, écrivez-les aussi en anglais.
|
|
83
|
+
- **Message pour la revue**, lu seulement par PlayerVox : un compte de test,
|
|
84
|
+
un contexte utile.
|
|
85
|
+
|
|
86
|
+
La page dit aussi quelle revue la version reçoit (rapide ou complète) et ce
|
|
87
|
+
qui a changé depuis la dernière version approuvée. **Soumettre pour revue**
|
|
88
|
+
l’envoie.
|
|
89
|
+
|
|
90
|
+
## Depuis un terminal ou une CI
|
|
91
|
+
|
|
92
|
+
`overcrow-widget submit` envoie une version avec une clé de publication, et
|
|
93
|
+
s’arrête au même écran quand il manque quelque chose : voir
|
|
94
|
+
[`submit`](cli.md#submit) et [clés de publication et CI](publish-keys.md).
|
|
95
|
+
|
|
96
|
+
## Après la revue
|
|
97
|
+
|
|
98
|
+
Une version approuvée est publiée sous 24 heures ouvrées. Dans l’espace
|
|
99
|
+
créateurs, vous pouvez ensuite la retirer, ou retirer le widget entier
|
|
100
|
+
(**Réglages**) : il sort du catalogue à la prochaine publication, et les
|
|
101
|
+
copies installées continuent de fonctionner.
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# Clés de publication et CI
|
|
2
|
+
|
|
3
|
+
Une clé de publication permet à `overcrow-widget submit` d’envoyer les
|
|
4
|
+
versions d’un widget PlayerVox OverCrow depuis un terminal ou une CI, sans
|
|
5
|
+
votre mot de passe.
|
|
6
|
+
Elle ne permet rien d’autre.
|
|
7
|
+
|
|
8
|
+
## Ce qu’une clé permet
|
|
9
|
+
|
|
10
|
+
- Soumettre des versions d’**un seul** widget, et suivre leurs contrôles.
|
|
11
|
+
Chaque version passe toujours par la revue avant d’arriver aux joueurs.
|
|
12
|
+
- Elle ne permet ni de publier, ni de modifier la fiche, ni d’accéder à
|
|
13
|
+
votre compte ou à vos autres widgets.
|
|
14
|
+
- Elle dure de 1 à 365 jours (90 par défaut). Nous vous prévenons par e-mail
|
|
15
|
+
et dans l’espace créateurs 14 jours avant son expiration.
|
|
16
|
+
- PlayerVox n’en garde qu’une empreinte : la clé est affichée **une seule
|
|
17
|
+
fois**, à sa création.
|
|
18
|
+
|
|
19
|
+
## Créer une clé
|
|
20
|
+
|
|
21
|
+
Dans l’espace créateurs, **Clés de publication**, **Créer une clé** :
|
|
22
|
+
|
|
23
|
+
1. Nommez-la d’après l’endroit où elle servira (`GitHub Actions`,
|
|
24
|
+
`Portable`).
|
|
25
|
+
2. Choisissez le widget et la durée.
|
|
26
|
+
3. Confirmez avec un code récent de votre application d’authentification.
|
|
27
|
+
|
|
28
|
+
Copiez aussitôt la clé dans les secrets de votre CI : elle commence par
|
|
29
|
+
`ocw_pub_` et ne sera plus jamais affichée. Si vous la perdez, révoquez-la et
|
|
30
|
+
créez-en une autre. Un widget a au plus dix clés actives.
|
|
31
|
+
|
|
32
|
+
## L’utiliser
|
|
33
|
+
|
|
34
|
+
`overcrow-widget submit` lit la clé dans la variable d’environnement
|
|
35
|
+
`OVERCROW_PUBLISH_KEY`, et seulement là : ne la mettez jamais dans un fichier
|
|
36
|
+
du projet ni dans une ligne de commande.
|
|
37
|
+
|
|
38
|
+
```sh
|
|
39
|
+
export OVERCROW_PUBLISH_KEY=ocw_pub_…
|
|
40
|
+
overcrow-widget submit
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
La [commande submit](cli.md#submit) contrôle la version comme le fera
|
|
44
|
+
l’espace créateurs, l’envoie, puis suit ses contrôles, environ une minute.
|
|
45
|
+
|
|
46
|
+
## Dans GitHub Actions
|
|
47
|
+
|
|
48
|
+
Gardez la clé comme secret du dépôt, `OVERCROW_PUBLISH_KEY`. Ce workflow
|
|
49
|
+
soumet le widget à chaque tag de version :
|
|
50
|
+
|
|
51
|
+
<!-- source: docs/content/examples/weather/.github/workflows/submit.yml -->
|
|
52
|
+
```yaml
|
|
53
|
+
# Sends the widget to the OverCrow creator space when a version tag is
|
|
54
|
+
# pushed. The publish key is a secret of the repository, and the OverCrow
|
|
55
|
+
# release whose creator tools to use is a variable of the repository.
|
|
56
|
+
name: Submit to OverCrow
|
|
57
|
+
|
|
58
|
+
on:
|
|
59
|
+
push:
|
|
60
|
+
tags: ["v*"]
|
|
61
|
+
|
|
62
|
+
permissions:
|
|
63
|
+
contents: read
|
|
64
|
+
|
|
65
|
+
jobs:
|
|
66
|
+
submit:
|
|
67
|
+
runs-on: ubuntu-24.04
|
|
68
|
+
env:
|
|
69
|
+
OVERCROW_VERSION: ${{ vars.OVERCROW_VERSION }}
|
|
70
|
+
steps:
|
|
71
|
+
- uses: actions/checkout@v4
|
|
72
|
+
- name: Install overcrow-widget
|
|
73
|
+
run: |
|
|
74
|
+
tools="overcrow-creator-tools-$OVERCROW_VERSION-linux-x86_64"
|
|
75
|
+
curl --fail --location --silent --show-error --remote-name \
|
|
76
|
+
"https://github.com/Valhallab/playervox-overcrow-releases/releases/download/v$OVERCROW_VERSION/$tools.zip"
|
|
77
|
+
unzip -q "$tools.zip"
|
|
78
|
+
(cd "$tools" && sha256sum --check --quiet SHA256SUMS)
|
|
79
|
+
install -D -m 755 "$tools"/overcrow-widget-*-linux-x86_64 "$HOME/.local/bin/overcrow-widget"
|
|
80
|
+
echo "$HOME/.local/bin" >> "$GITHUB_PATH"
|
|
81
|
+
- name: Submit to OverCrow
|
|
82
|
+
run: overcrow-widget submit --submission submission.json
|
|
83
|
+
env:
|
|
84
|
+
OVERCROW_PUBLISH_KEY: ${{ secrets.OVERCROW_PUBLISH_KEY }}
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
La tâche échoue quand les contrôles échouent, avec chaque problème sur la
|
|
88
|
+
ligne de votre fichier. Une version que l’espace créateurs a déjà n’est pas
|
|
89
|
+
renvoyée : `submit` donne son état, et la même tâche peut aussi tourner à
|
|
90
|
+
chaque push sur votre branche principale.
|
|
91
|
+
|
|
92
|
+
## Révoquer une clé
|
|
93
|
+
|
|
94
|
+
**Révoquer** arrête la clé aussitôt : un envoi en cours avec elle échoue.
|
|
95
|
+
Les versions qu’elle a déjà envoyées restent, mais n’entrent plus seules en
|
|
96
|
+
revue : envoyez-les en revue depuis l’espace créateurs. Révoquez une clé dès
|
|
97
|
+
que vous pensez qu’elle a fuité, puis créez-en une nouvelle.
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
# Publication et revue
|
|
2
2
|
|
|
3
|
+
> **Les pull requests sont fermées.** Les widgets ne sont plus proposés par
|
|
4
|
+
> pull request : ceux de PlayerVox passent déjà par l’espace créateurs
|
|
5
|
+
> OverCrow, et le vôtre y passera à son ouverture. D’ici là, cette page
|
|
6
|
+
> décrit l’admission, la revue et le catalogue que suit un widget.
|
|
7
|
+
|
|
3
8
|
Les widgets atteignent les utilisateurs de PlayerVox OverCrow par le
|
|
4
9
|
catalogue signé des widgets : OverCrow n’installe que ce que liste ce
|
|
5
10
|
catalogue. Cette page va du dossier de sources d’un widget à une version
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Domaine vérifié
|
|
2
|
+
|
|
3
|
+
Vérifier un domaine qui vous appartient ajoute le badge **Domaine vérifié** à
|
|
4
|
+
côté du nom de votre éditeur, dans le Centre de contrôle de PlayerVox
|
|
5
|
+
OverCrow et sur le site, et
|
|
6
|
+
permet aux identifiants de vos widgets de commencer par ce domaine inversé :
|
|
7
|
+
`gg.nova.lol-timers` pour `nova.gg`.
|
|
8
|
+
|
|
9
|
+
## Ajouter un domaine
|
|
10
|
+
|
|
11
|
+
Dans l’espace créateurs, **Profil de l’éditeur**, **Ajouter un domaine**.
|
|
12
|
+
Écrivez le domaine seul, sans `https://` ni `www.` : `nova.gg`. Un éditeur
|
|
13
|
+
peut avoir jusqu’à huit domaines.
|
|
14
|
+
|
|
15
|
+
L’espace créateurs donne alors l’enregistrement DNS à publier chez votre
|
|
16
|
+
hébergeur : un enregistrement TXT nommé `_overcrow.` suivi de votre domaine,
|
|
17
|
+
dont la valeur est `overcrow-verify=` suivi d’un jeton.
|
|
18
|
+
|
|
19
|
+
```text
|
|
20
|
+
_overcrow.nova.gg. TXT "overcrow-verify=3f9c1e7a52d04b8e"
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## La vérification
|
|
24
|
+
|
|
25
|
+
**Vérifier maintenant** cherche l’enregistrement tout de suite (une fois par
|
|
26
|
+
minute au plus). Nous vérifions aussi tout seuls, toutes les heures pendant
|
|
27
|
+
sept jours. Le DNS peut mettre quelques minutes à se propager.
|
|
28
|
+
|
|
29
|
+
| État | Signification |
|
|
30
|
+
| --- | --- |
|
|
31
|
+
| En attente | L’enregistrement n’est pas encore trouvé ; vérifié toutes les heures pendant sept jours. |
|
|
32
|
+
| Vérifié | L’enregistrement est trouvé. Il est revérifié tous les 30 jours. |
|
|
33
|
+
| Perdu | L’enregistrement a disparu. Remettez-le, puis vérifiez maintenant. |
|
|
34
|
+
| Expiré | Pas vérifié en sept jours. Vérifiez maintenant pour recommencer. |
|
|
35
|
+
|
|
36
|
+
Laissez l’enregistrement en place : s’il disparaît, le badge s’en va. Les
|
|
37
|
+
identifiants des widgets déjà créés sous ce domaine restent à vous.
|
|
38
|
+
|
|
39
|
+
## Qui peut revendiquer un domaine
|
|
40
|
+
|
|
41
|
+
- Un domaine vérifié une fois par un éditeur lui est réservé, ainsi que les
|
|
42
|
+
domaines en dessous et au-dessus : personne d’autre ne peut les
|
|
43
|
+
revendiquer.
|
|
44
|
+
- Un domaine qui se lit comme PlayerVox, OverCrow ou Valhallab est refusé ;
|
|
45
|
+
écrivez à l’assistance s’il vous appartient. Les identifiants sous
|
|
46
|
+
`com.playervox` appartiennent à PlayerVox.
|
|
47
|
+
- Retirer un domaine jamais vérifié l’oublie. Un domaine vérifié une fois
|
|
48
|
+
vous reste réservé, et ne peut pas être retiré tant que des identifiants
|
|
49
|
+
de widgets l’utilisent.
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Fiche : bonnes pratiques
|
|
2
|
+
|
|
3
|
+
La fiche est ce que les joueurs lisent dans le catalogue de PlayerVox
|
|
4
|
+
OverCrow avant d’installer un widget : sa description, son aperçu, sa
|
|
5
|
+
catégorie, ses jeux, sa licence et ses liens. Vous l’écrivez dans l’espace
|
|
6
|
+
créateurs, dans l’onglet **Fiche** du widget.
|
|
7
|
+
|
|
8
|
+
## Enregistrée au fil de la saisie
|
|
9
|
+
|
|
10
|
+
La fiche est un brouillon, enregistré tout seul pendant que vous écrivez.
|
|
11
|
+
|
|
12
|
+
- La première fiche d’un widget part en revue avec sa première version.
|
|
13
|
+
- Les modifications suivantes partent seules en revue rapide :
|
|
14
|
+
**Soumettre la fiche**. Elles ne demandent pas de nouvelle version du
|
|
15
|
+
widget. **Annuler les modifications** ramène le brouillon à la fiche
|
|
16
|
+
publiée.
|
|
17
|
+
- La catégorie fait exception : vous la changez quand vous voulez, sans
|
|
18
|
+
revue, et le changement arrive aux joueurs avec la prochaine publication
|
|
19
|
+
du catalogue.
|
|
20
|
+
|
|
21
|
+
## Langues
|
|
22
|
+
|
|
23
|
+
L’anglais vient en premier : c’est la langue par défaut, montrée quand la
|
|
24
|
+
langue d’un joueur n’a pas de description. **Ajouter une langue** en ajoute
|
|
25
|
+
une autre, 16 langues au plus. Le nom du widget vient de son manifeste
|
|
26
|
+
(`name.en`, `name.fr`) : pour le changer, changez le manifeste et envoyez une
|
|
27
|
+
version. Les langues de l’interface du widget viennent de ses fichiers
|
|
28
|
+
`locales/`.
|
|
29
|
+
|
|
30
|
+
## Description
|
|
31
|
+
|
|
32
|
+
- 500 caractères au plus par langue. Les deux premières lignes apparaissent
|
|
33
|
+
sur la carte du catalogue : dites simplement ce que fait le widget.
|
|
34
|
+
- Dites quand le widget contacte un serveur, et lequel.
|
|
35
|
+
- Pas de publicité, et aucune promesse que le widget ne tient pas.
|
|
36
|
+
|
|
37
|
+
## Image d’aperçu
|
|
38
|
+
|
|
39
|
+
Une seule image, en anglais, pour toutes les langues : un PNG au format 4:3,
|
|
40
|
+
de 480 × 360 à 1 024 × 768 (1 024 × 768 conseillé), 256 Kio au plus.
|
|
41
|
+
Montrez le widget en situation, sans texte marketing.
|
|
42
|
+
|
|
43
|
+
## Catégorie et jeux
|
|
44
|
+
|
|
45
|
+
La catégorie place le widget dans le catalogue. Ajoutez jusqu’à cinq jeux
|
|
46
|
+
pour lesquels il est fait : les joueurs filtrent le catalogue par jeu.
|
|
47
|
+
|
|
48
|
+
## Licence et liens
|
|
49
|
+
|
|
50
|
+
- **Licence** : « Propriétaire, tous droits réservés », ou une licence SPDX
|
|
51
|
+
comme `MIT` ou `Apache-2.0`.
|
|
52
|
+
- **Assistance** : une adresse e-mail ou une page web où les joueurs
|
|
53
|
+
trouvent de l’aide. Obligatoire.
|
|
54
|
+
- **Politique de confidentialité** : obligatoire dès que le widget utilise
|
|
55
|
+
le réseau.
|
|
56
|
+
- **Code source public** : facultatif ; un dépôt public ajoute le badge
|
|
57
|
+
« Code source public ».
|
|
58
|
+
|
|
59
|
+
Tapez une adresse comme vous la connaissez (`exemple.com/confidentialite`) :
|
|
60
|
+
`https://` est ajouté pour vous, et un `/` après un domaine seul
|
|
61
|
+
(`exemple.com` est enregistré `https://exemple.com/`). Une adresse en
|
|
62
|
+
`http://` est refusée.
|
|
63
|
+
|
|
64
|
+
## Depuis listing.json
|
|
65
|
+
|
|
66
|
+
Les sources d’une version peuvent contenir un `listing.json`, tel que
|
|
67
|
+
l’outil en ligne de commande le lit (voir [`admit`](cli.md#admit)). Dans
|
|
68
|
+
l’onglet **Fiche**, **Importer listing.json** applique ses descriptions, sa
|
|
69
|
+
licence et l’adresse de son code source au brouillon.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Revue : types, délais, recours
|
|
2
|
+
|
|
3
|
+
Chaque version d’un widget PlayerVox OverCrow, et chaque modification de sa
|
|
4
|
+
fiche, est lue par une personne de PlayerVox avant que les joueurs ne la
|
|
5
|
+
reçoivent. Cette page couvre les deux types de revue, leurs délais, le fil
|
|
6
|
+
de revue et le recours. Pour envoyer une version, voir
|
|
7
|
+
[publier un widget](publish-a-widget.md).
|
|
8
|
+
|
|
9
|
+
## Rapide ou complète
|
|
10
|
+
|
|
11
|
+
| Revue | Quand | Délai maximal |
|
|
12
|
+
| --- | --- | --- |
|
|
13
|
+
| Complète | La première publication, ou une mise à jour qui ajoute une permission, une route réseau ou une capability | 5 jours ouvrés |
|
|
14
|
+
| Rapide | Toute autre mise à jour, ou une modification de la fiche seule | 2 jours ouvrés |
|
|
15
|
+
| Recours | Une fois par décision, sous six mois | 7 jours |
|
|
16
|
+
| Publication | Après l’approbation | 24 heures ouvrées |
|
|
17
|
+
|
|
18
|
+
Les jours ouvrés vont du lundi au vendredi, hors jours fériés en France. Le
|
|
19
|
+
délai est suspendu tant que la revue attend votre réponse ou une version
|
|
20
|
+
corrigée. Une revue rapide lit les lignes modifiées depuis la dernière
|
|
21
|
+
version approuvée ; une revue complète lit l’ensemble du widget.
|
|
22
|
+
|
|
23
|
+
## Le fil de revue
|
|
24
|
+
|
|
25
|
+
Chaque version en revue a un fil dans l’espace créateurs :
|
|
26
|
+
|
|
27
|
+
- Une **remarque** pointe un fichier et une ligne, cite le code que le
|
|
28
|
+
relecteur a lu et une règle numérotée des règles de publication.
|
|
29
|
+
- Vous pouvez **répondre** au relecteur. Votre réponse renvoie la revue au
|
|
30
|
+
relecteur quand elle vous attendait.
|
|
31
|
+
- Une **version corrigée** reprend le même fil : envoyez-la depuis
|
|
32
|
+
**Envoyer une version**, avec un numéro de version plus récent.
|
|
33
|
+
- La **décision** est une approbation, des modifications demandées ou un
|
|
34
|
+
refus, toujours motivés.
|
|
35
|
+
|
|
36
|
+
Les relecteurs apparaissent comme « Relecteur PlayerVox », jamais par leur
|
|
37
|
+
nom. Chaque fois qu’un relecteur ouvre vos sources, l’espace créateurs
|
|
38
|
+
montre quand, quelle version et pourquoi, dans **Accès à vos sources**.
|
|
39
|
+
|
|
40
|
+
## Recours
|
|
41
|
+
|
|
42
|
+
Vous pouvez contester un refus ou une suspension une fois par décision,
|
|
43
|
+
sous six mois, avec **Contester la décision**. PlayerVox réexamine
|
|
44
|
+
entièrement la décision et vous répond sous 7 jours, de façon motivée. Vous
|
|
45
|
+
pouvez toujours envoyer une nouvelle version à la place.
|
|
46
|
+
|
|
47
|
+
## Suspension
|
|
48
|
+
|
|
49
|
+
Quand les joueurs sont en danger (code malveillant, clé divulguée, fuite de
|
|
50
|
+
données), PlayerVox peut suspendre un widget ou une version aussitôt : les
|
|
51
|
+
copies installées sont désactivées. L’espace créateurs donne le motif et la
|
|
52
|
+
règle, et le recours reste ouvert.
|
|
53
|
+
|
|
54
|
+
## Retrait
|
|
55
|
+
|
|
56
|
+
Vous pouvez retirer une version ou le widget entier à tout moment : il sort
|
|
57
|
+
du catalogue à la prochaine publication, et les copies installées
|
|
58
|
+
continuent de fonctionner. Une version en revue, ou approuvée et pas encore
|
|
59
|
+
publiée, est retirée tout de suite.
|