Skip to content

Doc - page contribute #108

@Dercraker

Description

@Dercraker

Contexte

Créer une documentation complète et accessible sur le fonctionnement de la page “Contribute” du site :
👉 https://dyingstar-game.com/contribute

Cette page permet de centraliser les issues ouvertes sur GitHub et d’offrir aux membres de la communauté un aperçu clair des opportunités de contribution.
Cependant, son fonctionnement n’est pas encore documenté, ce qui rend son usage flou pour :

  • les contributeurs (“geux”) : qui souhaitent comprendre à quoi sert la page et comment y participer ;
  • les leads : qui gèrent les issues et doivent savoir comment les faire apparaître et maintenir leurs données à jour.

L’objectif de cette issue est de rédiger une documentation claire, illustrée et structurée, adaptée à ces deux publics.

🧍‍♂️ Pour les “Geux” (Contributeurs)

  • Expliquer :
    • À quoi sert la page “Contribute” (trouver des missions, suivre les contributions ouvertes, etc.)
    • Comment fonctionne la recherche (par mots-clés, tags, team, difficulté, etc.)
    • Ce que chaque carte affiche :
      • Le titre de l’issue
      • Sa complexitée (“Size”)
      • L’équipe concernée (“Team”)
      • Le type de tâche (Feature, Bug, Task…)
      • Le lien vers l’issue GitHub
      • L’étiquette de priorité / statut (Open, In progress, Done…)
    • La logique d’actualisation des issues (fetch automatique depuis GitHub, cache temporaire).
  • Ajouter des captures d’écran et une légende visuelle.

🧑‍💼 Pour les Leads (Responsables)

  • Expliquer les prérequis pour qu’une issue apparaisse sur le site :

    • Doit être publique, ouverte, assignée à un projet GitHub spécifique (ex. dyingstar/web, dyingstar/game, etc.)
    • Doit contenir les labels obligatoires :
      • team: → pour identifier les subTeams concerné Details sur discord
      • size: → complexité estimée (XS, S, M, L, XL)
      • type: → nature de la tâche (feature, bug, documentation, etc.)
      • postdiscord: → lien vers le post Discord associé si applicable
  • Expliquer le délai d’apparition :

    • Les issues sont synchronisées automatiquement.
  • Décrire les champs utilisés dans la base / API :

    Champ Description Source
    title Titre de l’issue GitHub
    labels Tags (team, size, type) GitHub
    html_url Lien vers la PR/Issue GitHub
    updated_at Dernière modification GitHub
    postdiscord URL du post Discord lié Champ custom dans body ou label
    assignee Membre assigné (optionnel) GitHub
    team Dérivé du label team: GitHub
    size Dérivé du label size: GitHub
  • Ajouter une section “Bonnes pratiques pour les Leads” :

    • Utiliser un titre clair et concis
    • Renseigner les champs postdiscord et size dès la création
    • Fermer proprement les issues terminées
    • Ne pas dupliquer les labels team: ni size:

Le code peut être incorrecte / ne pas contenir les bonne valeurs / ne pas être le plus adapter. Ce dernier est surtout là à titre d'information.

# Contribute – Documentation

## 🎮 Pour les Geux

La page **Contribute** permet à tout le monde de participer au développement du projet **DyingStar**.

### 🔍 Comment ça marche ?
- Les tâches sont automatiquement extraites de GitHub.
- Chaque carte représente une **issue ouverte**.
- Vous pouvez filtrer par **équipe**, **type de tâche**, ou **taille**.

### 🧠 Exemple de carte
| Élément | Description |
|----------|--------------|
| 🏷️ **Titre** | Nom de la tâche |
| 👥 **Team** | Équipe concernée |
| 📏 **Size** | Difficulté estimée |
| 🔗 **Lien GitHub** | Accès à l’issue |
| 🕒 **Last updated** | Dernière modification |

---

## 🧑‍💼 Pour les Leads

### Prérequis
- L’issue doit être ouverte, publique et contenir :
  - `team:web` ou `team:vfx`
  - `size:M`
  - `type:feature`
  - (optionnel) `postdiscord:https://discord.com/...`

### Synchronisation
- Les issues sont mises à jour automatiquement toutes les **X heures**.
- Le cache est régénéré périodiquement via un **cron ou webhook GitHub**.

### Champs utilisés
| Champ | Description | Source |
|--------|--------------|--------|
| `title` | Nom de l’issue | GitHub |
| `labels` | Tags structurants | GitHub |
| `html_url` | Lien vers la page GitHub | GitHub |
| `updated_at` | Date de dernière maj | GitHub |
| `postdiscord` | Lien vers la discussion Discord | Label ou body |
| `team` | Équipe concernée | Label `team:` |
| `size` | Taille estimée | Label `size:` |

---

### 📚 Exemple complet d’issue compatible
```md
title: Refactor contribute cards
labels:
  - team:web
  - size:S
  - type:enhancement
  - postdiscord:https://discord.com/channels/xxxx/xxxx/xxxx

🔁 Maintenance

  • Les issues fermées disparaissent automatiquement du site.
  • En cas de modification manuelle, la mise à jour est visible à la prochaine synchronisation.
  • Vérifiez vos labels dans GitHub avant de fermer une tâche.

Avant de vous jeter dans le code

  • Gardez en tête que cette documentation doit être compréhensible sans jargon technique.
  • Le ton doit rester pédagogique, clair et neutre.
  • Privilégiez des visuels et exemples concrets pour illustrer chaque rôle.
  • L’objectif final : que n’importe quel membre du projet puisse comprendre en 5 minutes comment fonctionne la page “Contribute”.

Metadata

Metadata

Assignees

Labels

SiteWebIssues for website

Projects

Status

Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions