Les outils Gitlab et Mattermost

Nous utilisons la plateforme Gitlab de l'UNIF pour la gestion de tâche, la documentation et l'hébergement des données ouvertes et des codes sources des logiciels produits, tous sous licence libre EUPL V1.2. Notre groupe s'appelle data et nos productions logicielles sont publiées dans le groupe opendata.

La présente documentation est-elle même hébergée et rédigée sur le GitLab, dans un projet privé accessible uniquement en étant membre du groupe data.

Une équipe sur le Mattermost (Slack libre) de l'UNIF permet des conversations écrites sur le projet. Mattermost est indiqué pour des conversations qui peuvent être décousues dans le temps et que l'on souhaite conserver. Ce type de plateformes n'est pas indiqué pour contacter rapidement des personnes.

Voici un petit guide rapide pour vous y retrouver.

GitLab

GitLab est un logiciel libre permettant de mettre en place une plateforme similaire au célèbre Github, mais que l'on peut instancier et héberger sur ses propres serveurs. Le GitLab de l'UNIF fonctionne sur un serveur de l'université Sorbonne Paris Nord et sera déplacé à termes dans le datacenter de l'enseignement supérieur à Lognes.

Un des points forts de GitLab est la gestion de projets, avec des tickets (issues) que l'on peut organiser en jalons (milestones). C'est devenu un outil qui n'est plus réservé aux informaticiens et informaticiennes et sert couramment pour la gestion de projets.

Sur l'instance de l'UNIF, la création de compte est modérée. Il faut donc commencer par aller sur la page de création de compte et vous inscrire avec votre prénom, nom et un identifiant de type prenomnom. Une fois le compte GitLab créé, les personnes de l'UNIF qui s'occupent du serveur sont normalement prévenues, mais vous pouvez aussi nous envoyer un mail à opendata@unif.fr pour que nous pensions bien à valider votre compte et que l'on vous rajoute au groupe data.

La langue par défaut est l'anglais, il sera bien plus agréable d'afficher l'interface en français même si certaines traductions sont absentes. Pour cela allez dans vos préférences par le menu profil accessible dans le coin en haut à droite et cherchez dans la page la section localization puis cliquez sur « Save changes » et rechargez la page. Et voilà !

GitLab étant un logiciel libre, on peut participer à sa traduction sans connaître la programmation !

Il y a actuellement 33 personnes inscrites dans le groupe data. Celui-ci est privé, seules les personnes inscrites voient ce qu'il contient, et ce que contiennent ses projets (les tâches, le code source des pages web telles que le site public de documentation). Nos productions logicielles sont publiées dans le groupe opendata dans des projets publics ou privés, selon leur niveau d'avancement. Si vous souhaitez contribuer au développement des logiciels, n'hésitez pas demander un accès ce dernier groupe. Même si vous n'envisagez pas de programmer ! Il y a de nombreuses façons dont on peut contribuer.

Mattermost

La suite vous concerne à partir du moment où vous avez un compte sur notre GitLab. Si vous n'avez pas encore été sur notre Mattermost, il faut d'abord aller sur : https://matt.unif.app/login, choisir « GitLab », entrer vos identifiants, puis accepter que GitLab serve à vous authentifier sous Mattermost (à la question « Authorize GitLab Mattermost to use your account? » répondez « Authorize »).

C'est seulement après cela que vous pourrez utiliser l'invitation que nous vous avons communiquée par mail. Si vous ne la trouvez pas, elle est normalement rappelée dans le texte de présentation du projet GitLab que nous utilisons pour la gestion de tâches.

Et après

Félicitations vous voilà dans l'équipe data sur Mattermost. Il y a quelques astuces utiles pour bien démarrer (faire des messages de plusieurs lignes plutôt que plusieurs messages d'une ligne, répondre à un message plutôt que démarrer un nouveau fil de conversation, réagir à un message avec des emoji, lancer un vote etc.) mais nous les rédigerons plus tard ! N'hésitez pas à prendre la parole sur le Mattermost, même sans connaître ces astuces.

Documentation

La documentation est hébergée sous forme de fichiers source sur le GitLab. Ainsi il est facile d'en suivre les modifications. GitLab se charge de générer les pages webs et de les publier sur le site de documentation

Pour écrire la documentation nous éditons les fichiers textes avec l'extension .md du répertoire src. Ces fichiers sont en Markdown, un format de document où la mise en forme est réalisée en utilisant des caractères spéciaux. Une petite extension (mermaidjs) permet également de produire des graphiques en tapant du texte les décrivant. GitLab est capable d'afficher correctement la mise en forme des textes ainsi que les graphiques. Vous pouvez d'ailleurs utiliser ces formats de mise en forme dans les tickets de GitLab. En utilisant le bouton « Open in web IDE » vous pouvez éditer directement ces fichiers. Une fois que vous êtes satisfait⋅es de votre édition, il faut cliquer sur « create commit ». Vous pouvez ensuite cliquer sur Commit mais si vous ne basculez pas sur « Commit to master branch » vous serez amené⋅es à rédiger une proposition d'amélioration (« Nouvelle demande de fusion ») qui sera ensuite relue et acceptée ou non. En basculant sur « Commit to master branch », vous imposerez à GitLab vos modifications et celles-ci seront alors rapidement prises en compte pour ré-générer le site de documentation. Comptez tout de même plusieurs minutes avant que la nouvelle version du site soit disponible.

Gestion de tâches

Notre action est découpée en jalons (milestones en anglais) dont les périodes d'activité prévues peuvent se recouvrir dans le temps. Pour voir l'ensemble des jalons dans l'ordre chronologique vous pouvez choisir cet affichage. Chaque jalon comporte des tickets qui représentent des tâches à accomplir. Le terme anglais pour ticket est issue. Il se peut également que des tickets ne soient associés à aucun jalon. Vous pouvez créer des tickets, modifier des tickets ou commenter sous des tickets, rendre une personne responsable d'un ticket ou clôre ou rouvrir un ticket. L'historique de nos actions sur un ticket est logué mais le contenu antérieur n'est pas conservé. Lorsque vous créez un ticket pensez à l'associer à un jalon. Le format de rédaction est le Markdown comme pour la documentation, mais dans une version plus riche. Ce format enrichi est disponible lorsque vous éditez un ticket ou n'importe quel texte en Markdown dans le projet, tel qu'un commentaire ou la description d'un jalon. Il permet de faire référence à un autre ticket avec un croisillon suivi du numéro de ticket #42. C'est très utile pour relier un sujet à un autre. Les tickets permettent ainsi une écriture hypertexte et collaborative. On peut aussi utiliser une étiquette du projet en tapant le caractère tilde suivi du nom de l'étiquette ~Oraccle. Les étiquettes (labels en anglais) sont à définir à part avant de pouvoir être utilisées, par exemple dans la vue jalons, colonne de droite. Les étiquettes sont plutôt faites pour être associées aux tickets pour les caractériser et faciliter la recherche lorsqu'il y en a beaucoup. Actuellement nous les utilisons plutôt pour leur aspect esthétique. On peut également faire référence à des jalons ou à des objets appartenant à d'autres projets, c'est moins courant.