Le dépôt de travail est situé sur notre forge logicielle : Khanat
La licence choisir pour le code est la licence GNU Affero General Public License (version française)
Créez les demandes de fonctionnalités ou les erreurs sur le système de ticket et pas sur la base TAF (qui sert surtout aux aspects non-techniques du projet Khaganat). Il n’y a pas d’impératif d’utiliser l’anglais comme dans les commits et les commentaires du code, mais il est possible de l’utiliser, selon les personnes avec qui vous pensez collaborer. L'idéal serait d'utiliser l'anglais et le français dans vos tickets, mais vu la surcharge de travail que cela entraîne, ce n’est pas du tout obligatoire.
Avant de commencer une tâche qui n’existe pas, créez un ticket que vous vous attribuez, comme ça on sait que quelqu'un a commencé à travailler sur ce sujet.
Le titre doit être concis et le plus explicite possible.
Par contre, n'hésitez pas à être la plus précise possible dans la zone de description.
Il y a ensuite quelques zones de champs à renseigner :
Dans le doute, n'indiquez rien dans ces champs. De toute façon, tout est éditable a posteriori donc ce n'est pas grave si vous faites des erreurs ou n'êtes pas assez précis.
Il est ensuite possible d’échanger avec d’autres contributrices autour du sujet, comme dans un forum.
Pour commencer, il vous faudra forker le dépôt principal : Khanat. Ainsi, vous aurez votre propre dépôt, sur lequel vous pourrez effectuer vos modification sans interférer avec le dépôt principal.
Pour cela, il vous suffit de cliquer sur le bouton `Fork` sur la page d’accueil du projet :
Vous serez alors redirigé vers votre copie du dépôt.
Khanat utilise un workflow simplifié. Les branches principales sont :
Vous devez créer une Pull Request, à destination de la branche de travail correspondante sur notre dépôt. Cette requête doit respecter ces impératifs :
Les Pull Request sur une branche de travail doivent utiliser la fonction `squash` de commit de git pour intégrer toutes les modifications en un seul commit sur la branche de travail. Cela servira à générer le changelog de façon propre.
Dans la mesure du possible, on a au moins deux personnes qui valident la Pull Request avant acceptation et, même si on a les autorisations sur le dépôt, jamais on ne merge jamais soi-même directement son code.
Il ne faut pas hésiter à laisser des commentaires sur la demande de Pull Request, cette page est là pour expliquer les soucis, détailler l’approche etc. Cela permet de s’assurer que les solutions retenues sont pertinentes pour les autres contributrices et de faciliter l’intégration finale. On peut y citer les éventuels tickets en rapport avec la proposition.
Les catégories actuellement utilisées sont :
Une fois que l’ensemble des Tickets/Issues d’un projet a été résolu et que le client a atteint le point où il semble suffisamment achevé et stable, on peut le passer sur la branche « main ».
Il est indispensable de bien vérifier le changelog à ce moment là, selon le modèle de keepachangelog.com. Un changelog permet d'avoir une idée claire de ce qui est possible/implémenté à chaque itération.
Les Pull Request sur `main` ne doivent pas utiliser la fonction `squash` de commit afin de récupérer l’historique des commits avec les indications du changelog.
Nous n'obtiendrons pas un client complet au premier jet. Nous proposons donc un succession de versions, chacune ajoutant de nouvelles fonctionnalités itérativement à la précédente.
Chaque version est numérotée x.y.z (voir la gestion sémantique de version).
Le but de la 0.1 est d’avoir un client qui permette de déplacer le personnage dans un environnement minimaliste 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. Un chat doit permettre de dialoguer entre joueuses.
Ce sera l’occasion de mettre en place un second dépôt pour les sources graphiques qui serviront à créer les assets glTF et de créer une automatisation à pour compiler les clients à fournir aux joueuses. Enfin, un troisième dépôt sera utilisé pour les sources sonores.
Lien vers le suivi du projet sur la forge : Khanat - version 0.1