Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
fr:godot:collaborer [2020/06/05 11:12] – [Gestion des Issues] Remaniement des phrases zatalyz | fr:godot:collaborer [2023/07/26 19:50] (Version actuelle) – YannK | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Collaborer à la création du client de jeu 3D ====== | + | ====== Collaborer à la création du client de jeu 3D Godot ====== |
{{ : | {{ : | ||
- | <WRAP center round todo 60%> | + | Ce dépôt [[https:// |
- | Page en cours de réalisation/conception/rédaction | + | |
+ | <WRAP center round important | ||
+ | La mise en place des submodules est en cours, mais non encore mise en place. Si la question vous intéresse, on en parle dans [[https://port.numenaute.org/ | ||
</ | </ | ||
+ | ===== Chronologie ===== | ||
+ | |||
+ | Nous n' | ||
+ | |||
+ | Chaque version est numérotée x.y.z (voir la [[https:// | ||
+ | * x = version majeure. On le change quand les changements ne sont pas rétrocompatibles | ||
+ | * y = version mineure. L’incrémentation se fait lorsqu’un ensemble de nouvelles fonctionnalités défini a été intégré, la compatibilité doit être maintenue, sauf dans le cas où la version majeure est en 0, car de nombreux changements peuvent être nécessaires avant de passer à la version 1.0. | ||
+ | * z = version corrective. Incrémentée lorsque des correctifs de bugs sont ajoutés à une version mineure, sans ajout de nouvelle fonctionnalité. | ||
+ | |||
+ | ===== Versions ===== | ||
+ | |||
+ | ==== Version 0.1 ==== | ||
+ | |||
+ | Le but de la 0.1 est d’avoir un client local qui permette de déplacer le personnage dans un environnement minimaliste extérieur statique, avec un résultat visuel sobre mais attrayant, présentant des spécificités du monde du Khanat et simple techniquement afin de tester les outils et processus de collaboration. | ||
+ | |||
+ | Ce sera l’occasion | ||
+ | |||
+ | Aucune fonctionnalité via un serveur n’aura à être implémentée. | ||
+ | |||
+ | Lien vers le suivi des Tickets/ | ||
===== Le workflow de travail ===== | ===== Le workflow de travail ===== | ||
+ | |||
<WRAP center round info 90%> | <WRAP center round info 90%> | ||
- | Créez toujours | + | Créez toujours [[# |
\\ Cela permet de suivre le travail en vérifiant si une branche Git avec ce numéro existe, de façon à éviter de refaire du travail déjà commencé. | \\ Cela permet de suivre le travail en vérifiant si une branche Git avec ce numéro existe, de façon à éviter de refaire du travail déjà commencé. | ||
</ | </ | ||
Ligne 28: | Ligne 51: | ||
=== Travailler directement sur le dépôt principal === | === Travailler directement sur le dépôt principal === | ||
- | Si vous êtes un développeur | + | Si vous êtes un développeur |
Vous n' | Vous n' | ||
==== Le dépôt et ses branches ==== | ==== Le dépôt et ses branches ==== | ||
+ | |||
+ | <WRAP center round important 60%> | ||
+ | Si vous n’avez pas accès en tant que développeur à notre dépôt officiel et travaillez depuis votre fork, merci de nous confirmer que la procédure fonctionne bien pour vous. | ||
+ | </ | ||
+ | |||
Khanat utilise un workflow simplifié. Les branches principales sont : | Khanat utilise un workflow simplifié. Les branches principales sont : | ||
- | * Branche **Master** : Branche **stable**, qui contient toutes les données sonores | + | * Branche **stable** : c’est la branche qui contient le code qui est compilé pour fournir le client de jeu en cours. |
+ | |||
+ | * Branche **XXX_titre_du_ticket** : Branche contenant le développement d’un ticket (voir ci-dessous) XXX, en cours de travail. | ||
+ | |||
+ | * Branche **develop** : Branche par défaut sur laquelle le code récent se trouve, qui est celle qui vise à contenir les tâches des tickets définis pour le Milestone en cours. | ||
+ | |||
+ | Les branches de module, que ce soit sur votre fork ou sur les dépôts officiels, doivent être nommées de la façon suivante : | ||
+ | |||
+ | * Branche **Module** : Doit être nommée " | ||
+ | * Exemple : pour travailler sur le ticket numéro 2 titré « Faire une des tâches détaillée de la tâche globale XXX », il faut créer une branche « 2-faire-une-des-taches-detaillee-de-la-tache-globale-xxx » | ||
+ | |||
+ | Si vous êtes développeur officiel chez nous, vous pourrez créer automatiquement la branche et la merge request depuis l’issue en cliquant sur le bouton prévu : | ||
+ | |||
+ | {{ : | ||
- | * Branche **module/ | ||
- | * Branche **Develop** : Branche **historique**, | + | ==== Travail sur un ticket ==== |
- | Les branches feature, que ce soit sur votre fork ou sur les dépôts officiels, doivent être nommées | + | Si vous travaillez depuis un fork, vous devez créer une Merge Request, à destination |
- | * Branche **Module** | + | * elle doit avoir comme titre « Draft: Resolve |
- | * Exemple : " | + | * elle doit comporter en première ligne de sa description une commande pour fermer le ticket correspondant. Dans notre cas, ce serait « Closes #2 ». |
- | ==== Publication d'un module | + | ==== Merge sur la branche « stable » ==== |
- | Une fois que vous considérez le module | + | Une fois que l’ensemble des Tickets/ |
- | * La Merge Request doit clairement expliquer comment elle répond | + | Il est indispensable de bien vérifier le changelog |
+ | Lors du commit de merge, il faudra passer une commande pour que la CI de Gitlab compile les clients ([[https:// | ||
===== Gestion des Merge Request ===== | ===== Gestion des Merge Request ===== | ||
- | Lorsqu' | + | Il ne faut pas hésiter à laisser des commentaires sur la demande de Merge Request, cette page est là pour expliquer les soucis, détailler |
- | Cela permettra d' | + | Lors de la validation de la Merge Request, on efface la branche de travail et on ne squashe pas les commits. |
- | **On ne merge jamais soi-même directement | + | **Dans la mesure du possible, on ne merge jamais soi-même directement**. |
- | ===== Gestion des Issues ===== | + | ===== Gestion des Tickets / Issues ===== |
- | Créez les demandes de features | + | Créez les demandes de fonctionnalités ou les erreurs |
<WRAP center round info 80%> | <WRAP center round info 80%> | ||
- | Avant de commencer une tâche, créez une Issue que vous vous attribuez, comme ça on sait que quelqu' | + | Avant de commencer une tâche |
</ | </ | ||
Ligne 79: | Ligne 120: | ||
\\ Par contre, n' | \\ Par contre, n' | ||
- | Il y a ensuite | + | Il y a ensuite |
- | | + | * // |
- | | + | * //Labels// permet de choisir des tags pour déterminer le genre de tâche (voir [[# |
- | * //Labels// permet de choisir des tags pour déterminer le genre de tâche (voir ci-dessous) ; | + | |
- | * //Select due date// propose de fixer une date de remise des travaux. | + | |
- | Dans le doute, n' | + | Dans le doute, n' |
+ | |||
+ | ===== Gestion des messages dans les Tickets / Issues ===== | ||
+ | |||
+ | Pour chaque ticket, il est possible de laisser des messages. Chacun d’eux initie un fil de discussion auquel on peut répondre en cliquant sur l’icône de bulle dans son coin supérieur droit. Cela permet de conserver des fils thématiques sur des sujets abordés par le ticket. | ||
+ | |||
+ | {{ : | ||
===== Gestion des dossiers et des fichiers ===== | ===== Gestion des dossiers et des fichiers ===== | ||
+ | |||
+ | Les noms des dossiers et des fichiers sont écrits en [[https:// | ||
**Les commentaires dans le code/les scripts se font en anglais**, de façon à ce que le code soit international. | **Les commentaires dans le code/les scripts se font en anglais**, de façon à ce que le code soit international. | ||
Ligne 97: | Ligne 144: | ||
<WRAP prewrap 600px> | <WRAP prewrap 600px> | ||
- | <code json> | + | < |
{ | { | ||
" | " | ||
- | { | + | |
" | " | ||
" | " | ||
" | " | ||
}, | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }], | ||
" | " | ||
} | } | ||
Ligne 112: | Ligne 164: | ||
Description : | Description : | ||
* contributors : | * contributors : | ||
- | * indiquer le nom (obligatoire), | + | * indiquer le nom/le pseudonyme |
* licence : | * licence : | ||
* indiquer la licence appliquée aux fichiers de ce répertoire, | * indiquer la licence appliquée aux fichiers de ce répertoire, | ||
+ | |||
+ | N' | ||
+ | |||
+ | <WRAP center round todo 60%> | ||
+ | Le nommage des assets devra obéir à une certaine nomenclature sur les dépôts officiels, afin d' | ||
+ | </ | ||
===== Gestion des Commits ===== | ===== Gestion des Commits ===== | ||
- | **On rédige ses commits en anglais**, de façon à ce que le code soit international (même si c’est du franglais, aucune importance). | + | **On rédige ses commits en anglais**, de façon à ce que le code soit international (même si c’est du franglais, aucune importance). |
===== Gestion des Milestones ===== | ===== Gestion des Milestones ===== | ||
- | On se servira des // | + | On se servira des // |
===== Gestion des Tags ===== | ===== Gestion des Tags ===== | ||
Nous n' | Nous n' | ||
- | |||
- | <WRAP center round todo 60%> | ||
- | Étudier la question et voir comment les déployer sur le projet | ||
- | </ | ||
===== Gestion des Labels ===== | ===== Gestion des Labels ===== | ||
- | Nous n' | + | La liste des Labels/Étiquettes est gérées au niveau du groupe Gitlab : https://git.khaganat.net/ |
- | + | ||
- | <WRAP center round todo 60%> | + | |
- | Étudier la question et voir comment les déployer sur le projet | + | |
- | </WRAP> | + | |
- | {{tag> | + | {{tag> |