Ajout de la contribution avec Git - Part 1

This commit is contained in:
yannk 2022-08-07 11:05:05 +02:00
parent 4f89cb6f68
commit c59ea9dbe6

View file

@ -113,21 +113,29 @@ Les termes `Variable` et `Propriété` sont généralement interchangeables, mai
Indépendamment de leur extension, les fichiers peuvent comporter trois parties, séparées chacune de la précédente par un **underscore** : préfixe, corps et suffixe. Le préfixe et le suffixe sont déterminés par le type de fichier (son extension donc).
### Nommage des éléments internes aux fichiers
#### Nommage des éléments internes aux fichiers
### Blender
##### Blender
Sauf indication contraire, tous les éléments internes aux fichiers Blender doivent être écrits en *kebab-case*. Le recours à un préfixe ou suffixe sera indiqué le cas échéant.
#### Collections
###### Collections
Les objets destinés au jeu Khanat doivent être placés dans une collection nommée « khanat », située à la racine de la collection principale.
#### Objets
###### Objets
Les *Objects* doivent être rassemblé dans des sous-collections pertinentes, et il faut veiller à ce que l*Object Data qui y est associé soit nommé de façon identique.*
#### Export glTF
#### Godot
Les signaux doivent avoir un nom avec un verbe au passé, car cela indique un état qui vient dêtre connu par lémetteur.
Les fonctions doivent commencer par un verbe, voire un verbe avec un auxiliaire si elles retournent un booléen (« is_green », « has_been_healed »).
Les variables et les classes commencent généralement plutôt par un nom.
###### Export glTF
Les objets à destination du mùoteur de jeu Godot doivent être exportés au format glTF. Il faut pour cela sélectionner tous les objets à exporter puis aller dans `File > Export > glTF`, avec les options suivantes à vérifier particulièrement :
- `Format > glTF Embeddded`.
@ -139,6 +147,76 @@ Les objets à destination du mùoteur de jeu Godot doivent être exportés au fo
Les autres options par défaut conviennent.
## Le suivi de version avec Git
### Le dépôt principal
### Forker sur gitlab / cloner en local
### Gestion des branches
### Le merge request
### Les commits
#### Généralités
Les messages de commit se rédigent en anglais de façon à faciliter la collaboration internationale.
#### Rédaction des commits
La rédaction des commits se base sur les [conventionnal commits](https://www.conventionalcommits.org/en/v1.0.0/#specification) avec des spécificités.
Structure dun message de commit :
<type>(portée, facultative): sujet
<ligne vide> (si élément suivant présent)
Corps de description plus complète (un ou plusieurs paragraphes), facultatif
<ligne vide> (si élément suivant présent)
<pied de page>, facultatif
##### Les _types_
Les types de commits possibles sont les suivants :
- **fix** : résoud un bug qui doit être mentionné dans le titre/description avec un hashtag et son numéro de ticket (entraîne un changement de type _patch_ dans le versionnement).
- **feat** : ajoute une fonctionnalité qui doit être mentionnée dans le titre/description avec un hashtag et son numéro de ticket (entraîne un changement de type _mineur_ dans le versionnement).
- **ci** : concerne le fonctionnement de la CI du dépôt.
- **docs** : reprise de la documentation du code sans toucher aux fonctionnalités.
- **refactor** : refactorisation du code sans modifier son comportement, ajouter une fonctionnalité ou réparer un bug.
- **style** : reprise formelle du code sans en modifier le fonctionnement (typos, espacements, tabulations etc.)
Le cas échéant, il est possible dajouter de nouveaux types selon les besoins (se référer à [la convention Angular](https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#type) par exemple).
Le type doit être écrit en minuscule, sans espace.
##### La portée
Indiquée entre parenthèses, en minuscule sans espace, elle permet de préciser éventuellement sur quel partie du code la modification porte.
Elle peut être choisie dans cette liste :
- **core** : concerne le code de base, les systèmes essentiels au fonctionnement du jeu
- **ui** : concerne linterface utilisateur
- **shading** : concerne les shaders daffichage
- **ia** : concerne lintelligence artificielle des créatures en jeu
Dautres portées peuvent être ajoutées à la liste au fur et à mesure des besoins.
##### Rupture de compatibilité
Si le commit entraîne une rupture de compatibilité dans le code, le type doit se voir accoler un point dexclamation avant les deux points, quel que soit son type (entraîne un changement de type _majeur_ dans le versionnement).Il faut alors également lui ajouter un pied de page avec la mention « BREAKING CHANGE: » suivi de la mention de lendroit où la rupture sopère.
##### Le sujet
Laissant une espace après les deux points, il ne comporte pas de majuscule au début ni de point à la fin.
Le sujet doit décrire en peu de mot le changement quopère le nouveau code.
Exemples de première ligne correcte :
feat(ui)!: change methods for IG windows, close #18
fix(core): address collision problems for player, close #37
feat: add color wheel for windows background, close #16
##### Corps de description
Facultatif, il permet de décrire de façon détaillée ce qui a motivé les choix opérés et mettre lemphase sur les améliorations espérées par rapport à lancien état.
##### Pied de page
Il peut comporter deux éléments :
- si le commit clôt un ticket, il faut indiquersur une ligne son numéro de la façon suivante : `« Close #58 »`
- si le commit entraîne une rupture de compatibilité, il doit comporter une ligne avec la mention « BREAKING CHANGES » en majuscules.
### Projets Godot