Documentation Frontend (DF)

Organisation du projet

Temps estimé :4 minutes 90 views

Trunk Based Development

Dans ce projet, nous avons adopté une stratégie de gestion de versions appelée « Trunk Based Development ». Cette approche nous permet de minimiser la complexité associée à la gestion de multiples branches en maintenant une seule branche principale (main) active pour tous les développements.

  1. Création de branches : En général, tous les développements doivent être poussés directement sur la branche principale (main). La création de nouvelles branches est réservée pour des cas spécifiques où le code en développement n’est pas encore stable et risque de compromettre l’intégrité de la branche principale.
  2. Push régulier : Il est conseillé de faire des commits et des pushes très régulièrement, même pour de petites fonctionnalités. Cela aide à éviter les conflits lors des merges et assure que la branche principale est toujours à jour.
  3. Récupération du code : Si un collaborateur a besoin de travailler sur le code que quelqu’un d’autre a modifié, il ou elle doit le faire à partir de la branche principale, pour s’assurer que tous travaillent avec les versions les plus récentes du code.

Cette méthode vise à simplifier notre flux de travail et à accélérer le processus de développement en réduisant les tâches administratives liées à la gestion de plusieurs branches. L’expérience jusqu’à présent montre que cette technique favorise une progression plus fluide du projet.

Structure

Le projet est organisé de manière logique en regroupant les fichiers en fonction de leur fonctionnalité. Ainsi, nous disposons de dossiers tels que :

  • Components : contient les composants réutilisables.
  • Views : destiné aux pages qui utilisent les composants réutilisables.
  • Assets : pour les ressources statiques telles que les images et les styles.
  • Layouts : abrite les templates de mise en page.
  • Router : contient les routes utilisées pour générer le menu principal de l’application.
  • Stores : pour la gestion de l’état de l’application avec Pinia.

Internationalisation

Bien que Vesper soit actuellement disponible uniquement en français, le projet est tout de même internationalisé pour permettre une évolutivité future.

  • Pour ajouter de nouvelles langues, il suffira simplement d’intégrer de nouvelles traductions sans devoir modifier le code source.
  • L’utilisation de constantes ou de clés plutôt que de chaînes de texte dispersées facilite la maintenance et la gestion du code.
  • Les traducteurs peuvent travailler sur les traductions via des outils et des services de localisation tiers sans interférer avec le code source.

Configuration repository

Les appels API sont structurés de manière efficace sous forme de référentiels situés dans le répertoire src/core/services/. Chaque ressource est dotée de son propre fichier dédié, simplifiant ainsi la gestion et la maintenance du code.

Gestionnaire de paquets

Le projet utilise Yarn comme gestionnaire de paquets. Cette décision vise à uniformiser les pratiques au sein de l’équipe, ce qui facilite la collaboration et la résolution des problèmes liés aux dépendances. Cette cohérence favorise également la compréhension commune des outils au sein de l’équipe, réduit les frictions liées aux différences d’outils et simplifie les processus de développement et de déploiement.

Sentry

Le projet utilise Sentry pour surveiller et capturer les erreurs qui se produisent en production, offrant ainsi une visibilité approfondie sur les problèmes rencontrés par les utilisateurs finaux. Cette intégration permet une réactivité accrue aux problèmes, facilitant ainsi la résolution rapide des incidents et l’amélioration continue de la qualité du produit.

CONTENTS