Organisation et fonctionnement de Tesseract
L’organisation et le fonctionnement d’une structure de tout type (entreprise, association, … ) est unique. Tesseract en tant qu’entité regroupant des individus d’horizons différents dans un but commun a vu son organisation et méthodes évoluer au fil du temps, cela grâce à tous les membres qui ont apporté leurs expériences et leurs temps pour offrir une excellente expérience de jeu sur Minecraft, accessible à tous.
C’est dans un objectif de compréhension et de transparence que la façon de fonctionner de la structure « Tesseract » en temps que telle est présentée ici. Mais aussi afin de découvrir les aspects invisibles de l’association que l’on ne voit pas forcément. Pour pérenniser le projet débuté en 2016, une association a été créée en 2020 permettant de structurer le projet du « serveur Minecraft sur île volante ».
Organisation des rôles
Organisation des services sur Tesseract
L’organisation à but non lucratif Tesseract utilise de nombreux services pour bien fonctionner et faire tourner les serveurs Minecraft accueillant les joueurs.
Dans un premier temps, il y a la partie Minecraft composée de serveurs distinct mais connectés entre eux via un serveur Bungeecord. L’accueil de chaque joueur se fait sur le serveur lobby qui amène vers le SemiRP et l’Aventure qui sont les deux serveurs sur îles volantes, chacun avec leurs spécificités mais connectés entre eux. Leurs particularités en terme de développement seront expliquées plus loin.
Le Créatif est aussi présent, permettant d’accueillir toute personne intéressée par l’aspect construction libre et être un appui pour les deux autres serveurs. En appui pour le serveur SemiRP pour la construction en créatif, que certains joueurs reproduisent en survie, et le serveur Aventure où la conception de niveau ou « level design » est créée de toute pièce par les membres participant à l’aspect construction du serveur.
En plus des serveurs de jeux, l’hébergement web est une partie à part entière présente sur un serveur distant. Il y a le site internet principal public sur lequel cette page est présente, mais aussi une base de connaissance utilisée par les membres en interne, centralisant toutes les informations concernant la structure et des liens internes ou externes en rapport avec l’organisation Tesseract.
En plus des serveurs de jeux et de l’hébergement du site internet, Tesseract utilise d’autres services, gratuits, facilitant la gestion des projets et l’organisation globale de Tesseract pour divers aspects :
- Trello pour la gestion de projet. Via des tableaux sur un domaine particulier (Recherche et développement, programmation, quête …), des cartes représentants des idées ou des tâches sont placées et déplacées dans des colonnes représentant l’étape actuelle de la tâche (analyse, réalisation, test, déploiement, … ). Ce mode de gestion fait partie des méthodes Agile et Scrum qui sont des groupes de pratiques de pilotages et de réalisation de projet.
- G-Suite est une suite d’outils et de logiciels de productivité de type informatique sur le cloud et de logiciel de groupe. Il est surtout utilisé pour le partage de fichier sur un lecteur commun et des documents collaboratifs en temps réel.
- GitHub utilisé pour la programmation est un service web d’hébergement et de gestion de développement de logiciels via Git. Il permet de stocker, de versionner et de déployer le code des plugins créés par les membres qui programment en Java.
- Hello Asso et une entreprise sociale et solidaire qui permet de gérer les adhésions des associations à but non lucratif.
Fonctionnement du processus d'amélioration
Le projet du Semi-RP et de la partie RPG (Aventure) est en constante évolution. Cet organigramme représente en partie ce projet et son fonctionnement, mais surtout les améliorations de façon générale de la structure Tesseract.
Le logiciel Discord est utilisé pour communiquer à l’oral ou à l’écrit. Des salons dédiés existent pour les membres de l’équipe sur de nombreux thèmes, le tout en complément des nombreux salons accessibles à tous.
A chaque idée ou suggestion envoyée par une personne, il se peut qu’une discussion s’en suivent en public. Si cette modification est réalisable, elle est discutée au sein de l’équipe qui revalide la pertinence de celle-ci. Une carte sur Trello est créée pour ranger cette suggestion d’amélioration dans le tableau au thème adéquat.
Il en est de même pour les suggestions anonymes envoyées depuis ce site internet. Zapier, un traducteur entre les API web automatisant l’interconnexion des applications web, crée automatiquement une carte Trello dans un tableau dédié.
Des commentaires sur les cartes Trello sont possibles pour y apporter de nouvelles informations utiles sur le sujet, tout comme les messages discord qui donnent un retour sur l’amélioration en question.
En fonction de l’amélioration, la tâche est différente. Si celle-ci concerne la modification du gameplay sur le Semi-RP ou le serveur RPG (Aventure), c’est principalement la programmation qui va permettre de modifier l’aspect du jeu en question. Cela ce fait dans le langage de programmation Java via le logiciel Intellij IDEA connecté à GitHub. Ce dernier permet d’intégrer et de stocker le code en ligne avant l’envoi sur le serveur adéquat. Le code est testé en local ou sur le serveur de développement pour vérifier si tout fonctionne correctement.
Si c’est une simple modification de configuration concernant les nombreux plugins du serveur, les fichiers sont modifiés sur le serveur en question. Enfin, d’autres modifications peuvent avoir lieu comme par exemple sur le site internet ou d’autres tâches sont effectuées.
Pour chaque modification, une synthèse pour le rendu final est créée avant intégration, permettant de s’assurer que cette modification est sécurisée.
Dans le cas où des modifications sont nécessaires, une discussion entre tous les membres à lieu. Au besoin, la modification est soit enregistrée dans le système de fichier interne à l’organisation Tesseract via Google Drive ou soit inscrite dans la base de connaissance interne. Enfin une annonce interne à l’équipe ou externe est publiée dans le salon adéquat sur Discord.
Organisation des plugins créés par Tesseract
Une majorité des fonctionnalités sur le serveur sont créées par les membres qui font de la programmation dans le langage Java. Le logiciel Intellij, un IDE (Environnement de développement) est utilisé. Il est connecté à GitHub grâce au système Git, un logiciel de gestion de versions décentralisées pour envoyer le code et gérer les différentes branches des fonctionnalités.
Le logiciel de programmation récupère automatiquement les dépendances nécessaires d’autres plugins sur internet pour les utiliser à travers les plugins créés par Tesseract. La plupart sont hébergées en ligne grâce à Maven, un outils de gestion et d’automatisation de production des projets logiciels Java, utilisé pour automatiser l’intégration continue du plugin.
3 Plugins sont créés par Tesseract :
- TesseractSRP pour ce qui concerne la partie villes, alliances, région ressources, …
- TesseractAventure pour les reliques, sorts, quêtes, donjons, …
- TesseractLib qui fait le pont entre les deux plugins est agit comme une librairie pour les équipements, les animations, certaines fonctions et autre.
TesseractLib permet d’éviter de dupliquer le code dans les deux plugins car TesseractSRP ou TesseractAventure peuvent avoir des fonctionnalités communes telles que le système de vol. Certaines fonctionnalités de TesseractLib sont utilisées soit dans l’un soit dans l’autre.
Cette gestion permet de proposer des fonctionnalités communes au serveur SemiRP et au serveur Aventure qui sont étroitement liés par le fait que l’environnement soit unique en leur genre dans Minecraft : les îles volantes.
Si vous avez une compétence, n’hésitez pas à contacter sur Discord les membres pour participer à ce grand projet ou simplement envoyer un mail pour en savoir plus, toute l’équipe se tient à votre disposition pour tout renseignement.