New
Quel est le meilleur moyen de démarrer un projet github et le configurer en vue de faire un projet perso (en react native mais c'est secondaire), avec un suivi de ticket (pour remplacer jira par exemple)
Mar 17, 8:03am

Pour démarrer un projet GitHub et le configurer avec un suivi de tickets, voici un guide étape par étape :

1. Créer un dépôt GitHub

  • Créer un compte GitHub : Si vous n'avez pas encore de compte, inscrivez-vous sur GitHub.
  • Créer un nouveau dépôt :
    • Cliquez sur le bouton "+" en haut à droite et sélectionnez "New repository".
    • Donnez un nom à votre dépôt, ajoutez une description, et choisissez de le rendre public ou privé.
    • Initialisez le dépôt avec un fichier README si vous le souhaitez.

2. Configurer le dépôt localement

  • Cloner le dépôt :
    git clone https://github.com/votre-utilisateur/votre-depot.git cd votre-depot
  • Initialiser un projet React Native : Si vous démarrez un projet React Native, vous pouvez utiliser Expo CLI ou React Native CLI pour initialiser votre projet.
    npx react-native init MonProjet

3. Configurer le suivi de tickets avec GitHub Projects

GitHub Projects est une fonctionnalité intégrée qui permet de suivre les tâches et les tickets. Voici comment le configurer :

  • Accéder à Projects :

    • Allez dans votre dépôt GitHub.
    • Cliquez sur l'onglet "Projects" en haut de la page.
    • Cliquez sur "New project".
  • Créer un tableau Kanban :

    • Donnez un nom à votre projet.
    • Choisissez un modèle de tableau Kanban (par exemple, "Basic Kanban").
    • Ajoutez des colonnes pour les différentes étapes de votre flux de travail (par exemple, "To Do", "In Progress", "Done").
  • Ajouter des tickets :

    • Vous pouvez ajouter des tickets directement depuis le tableau ou lier des issues GitHub existantes.
    • Pour chaque ticket, ajoutez un titre, une description, et attribuez-le à un collaborateur si nécessaire.

4. Utiliser GitHub Issues pour le suivi des bugs et des fonctionnalités

  • Créer une issue :

    • Allez dans l'onglet "Issues" de votre dépôt.
    • Cliquez sur "New issue".
    • Donnez un titre à votre issue, ajoutez une description détaillée, et assignez des labels si nécessaire (par exemple, "bug", "enhancement").
  • Lier les issues aux tickets :

    • Vous pouvez lier les issues aux tickets dans votre tableau Kanban pour un suivi plus facile.

5. Automatiser avec GitHub Actions (optionnel)

  • Configurer des workflows :
    • Allez dans l'onglet "Actions" de votre dépôt.
    • Créez des workflows pour automatiser des tâches comme les tests, les déploiements, etc.

6. Collaborer avec d'autres développeurs

  • Ajouter des collaborateurs :
    • Allez dans les paramètres de votre dépôt.
    • Ajoutez des collaborateurs pour qu'ils puissent contribuer au projet.

En suivant ces étapes, vous pourrez démarrer un projet GitHub bien structuré avec un suivi de tickets efficace. Si vous avez des questions spécifiques ou besoin d'aide sur un point particulier, n'hésitez pas à demander !

Mar 17, 8:03am
Je serai seul, pas de collaboration, faut-il utiliser gitflow ou un trunk based repo ?
Mar 17, 8:05am

Pour un projet personnel où vous êtes le seul contributeur, le choix entre Gitflow et Trunk Based Development (TBD) dépend de vos préférences et de la complexité de votre projet. Voici un aperçu des deux approches pour vous aider à décider :

Gitflow

Avantages :

  • Structure claire : Gitflow propose une structure de branches bien définie (main, develop, feature, release, hotfix), ce qui peut être utile pour organiser les fonctionnalités et les versions.
  • Gestion des versions : Facilite la gestion des versions et des releases, ce qui peut être bénéfique si vous prévoyez de publier votre application régulièrement.
  • Isolation des fonctionnalités : Chaque fonctionnalité est développée dans sa propre branche, ce qui permet de travailler sur plusieurs fonctionnalités en parallèle sans interférence.

Inconvénients :

  • Complexité : Peut être trop complexe pour un projet personnel simple, surtout si vous êtes le seul développeur.
  • Overhead : Nécessite plus de gestion de branches et de merges, ce qui peut ralentir le développement.

Trunk Based Development (TBD)

Avantages :

  • Simplicité : Utilise une seule branche principale (main ou trunk) où tout le développement est intégré fréquemment.
  • Rapidité : Moins de gestion de branches et de merges, ce qui peut accélérer le développement.
  • Feedback rapide : Les modifications sont intégrées rapidement, permettant un retour d'expérience immédiat.

Inconvénients :

  • Risque d'instabilité : Si les tests ne sont pas robustes, intégrer directement dans la branche principale peut introduire des bugs.
  • Moins adapté aux versions : Peut être moins adapté si vous avez besoin de gérer des versions spécifiques ou des releases fréquentes.

Recommandation

Pour un projet personnel, Trunk Based Development est souvent plus simple et plus rapide à mettre en place. Vous pouvez commencer avec TBD et, si votre projet devient plus complexe ou si vous avez besoin de gérer des versions spécifiques, vous pouvez toujours adopter Gitflow plus tard.

Si vous préférez une structure plus organisée dès le départ, surtout si vous prévoyez de publier des versions régulières, Gitflow peut être une bonne option.

En résumé, pour un projet personnel simple, TBD est généralement plus adapté, mais le choix dépend de vos besoins spécifiques et de votre confort avec chaque méthodologie.

Mar 17, 8:05am
Faut-il protéger la branche main dans ce cas ?
Mar 17, 8:07am

Protéger la branche main peut être une bonne pratique, même pour un projet personnel, en fonction de vos objectifs et de votre flux de travail. Voici quelques considérations pour vous aider à décider :

Avantages de protéger la branche main

  1. Stabilité : Protéger la branche main garantit que seul du code testé et validé peut être fusionné, ce qui maintient la stabilité de votre projet.
  2. Prévention des erreurs : Cela empêche les modifications accidentelles ou non testées d'être poussées directement dans la branche principale.
  3. Bonnes pratiques : C'est une bonne habitude à prendre, surtout si vous envisagez de collaborer avec d'autres développeurs à l'avenir ou si vous souhaitez adopter des pratiques professionnelles.

Inconvénients

  1. Complexité accrue : Ajoute une étape supplémentaire dans votre flux de travail, car vous devrez utiliser des branches de fonctionnalités et des pull requests pour fusionner les modifications dans main.
  2. Moins de flexibilité : Peut ralentir le développement si vous préférez un flux de travail plus rapide et moins formel.

Recommandation

  • Pour un projet personnel simple : Si votre projet est simple et que vous êtes le seul développeur, vous pouvez choisir de ne pas protéger la branche main pour plus de flexibilité. Cependant, assurez-vous d'avoir des tests en place pour garantir la stabilité de votre code.

  • Pour des projets plus complexes ou futurs collaboratifs : Si vous prévoyez que votre projet deviendra plus complexe ou si vous envisagez d'ajouter des collaborateurs à l'avenir, protéger la branche main est une bonne pratique. Cela vous aidera à maintenir un code stable et à adopter des pratiques de développement robustes.

En résumé, protéger la branche main est une bonne pratique, mais pour un projet personnel simple, cela dépend de votre préférence pour la stabilité par rapport à la flexibilité.

Mar 17, 8:07am
Je suis seul et je veux faire du trunk based development et protéger la branche main, ais- je un réglage spécifique de github ?
Mar 17, 8:09am

Pour configurer un flux de travail Trunk Based Development (TBD) avec une branche main protégée sur GitHub, vous pouvez suivre ces étapes :

Étapes pour protéger la branche main sur GitHub

  1. Accéder aux paramètres du dépôt :

    • Allez sur la page principale de votre dépôt GitHub.
    • Cliquez sur l'onglet "Settings" (Paramètres).
  2. Accéder aux branches :

    • Dans le menu de gauche, cliquez sur "Branches".
  3. Ajouter une règle de protection de branche :

    • Sous "Branch protection rules" (Règles de protection des branches), cliquez sur "Add rule" (Ajouter une règle).
  4. Configurer la règle de protection :

    • Dans "Branch name pattern" (Modèle de nom de branche), entrez main.
    • Sous "Require pull request reviews before merging" (Exiger des révisions de pull request avant de fusionner), vous pouvez choisir d'exiger un certain nombre de révisions avant de permettre la fusion. Cela peut être utile même si vous êtes seul, pour vous assurer que vous révisez vos propres modifications.
    • Sous "Require status checks to pass before merging" (Exiger que les vérifications d'état réussissent avant de fusionner), vous pouvez configurer des vérifications de statut, comme des tests automatisés, qui doivent réussir avant de permettre la fusion.
    • Vous pouvez également activer "Include administrators" (Inclure les administrateurs) pour appliquer ces règles à tous les utilisateurs, y compris vous-même.
  5. Enregistrer les modifications :

    • Cliquez sur "Create" (Créer) ou "Save changes" (Enregistrer les modifications) pour appliquer la règle de protection.

Bonnes pratiques pour TBD avec une branche main protégée

  • Utiliser des branches de fonctionnalités : Même si vous êtes seul, créez des branches de fonctionnalités pour chaque nouvelle fonctionnalité ou correction de bug. Cela vous permet de travailler sur plusieurs tâches en parallèle sans affecter la branche main.

  • Fusionner fréquemment : L'objectif de TBD est de fusionner les modifications dans main fréquemment (au moins une fois par jour). Cela permet de détecter rapidement les problèmes d'intégration.

  • Tests automatisés : Assurez-vous d'avoir des tests automatisés en place pour vérifier que les modifications n'introduisent pas de régressions. Vous pouvez configurer GitHub Actions pour exécuter ces tests automatiquement à chaque pull request.

En suivant ces étapes, vous pouvez configurer un flux de travail TBD efficace avec une branche main protégée, même en tant que développeur solo. Cela vous aidera à maintenir la stabilité de votre projet tout en bénéficiant de la simplicité de TBD.

Mar 17, 8:09am
Existe-t-il une convention de nommage des branches dans ce cas ?
Mar 17, 8:10am

Dans le cadre du Trunk Based Development (TBD), même si vous êtes le seul développeur, il est utile d'adopter une convention de nommage claire pour vos branches. Cela facilite la gestion des fonctionnalités et des corrections de bugs. Voici quelques conventions courantes que vous pouvez suivre :

Conventions de nommage des branches

  1. Branches de fonctionnalités :

    • Nom : feature/nom-de-la-fonctionnalite
    • Exemple : feature/ajouter-authentification
    • Utilisation : Utilisée pour développer de nouvelles fonctionnalités ou améliorations.
  2. Branches de bugs :

    • Nom : bugfix/description-du-bug
    • Exemple : bugfix/corriger-formulaire-inscription
    • Utilisation : Utilisée pour corriger des bugs spécifiques.
  3. Branches de tests ou d'expérimentations :

    • Nom : experiment/description-experimentale
    • Exemple : experiment/nouveau-algorithme
    • Utilisation : Utilisée pour tester de nouvelles idées ou approches qui ne sont pas encore prêtes pour la production.
  4. Branches de release (optionnel) :

    • Nom : release/version-numero
    • Exemple : release/1.0.0
    • Utilisation : Bien que moins courant en TBD, vous pouvez utiliser des branches de release si vous avez besoin de préparer une version spécifique pour la publication.
  5. Branches de hotfix (optionnel) :

    • Nom : hotfix/description-urgente
    • Exemple : hotfix/corriger-crash-urgent
    • Utilisation : Utilisée pour des corrections urgentes qui doivent être appliquées immédiatement à la branche main.

Bonnes pratiques

  • Utiliser des noms descriptifs : Assurez-vous que le nom de la branche décrit clairement son objectif. Cela facilite la navigation et la compréhension du contexte.
  • Éviter les noms génériques : Évitez des noms comme feature/nouvelle-fonctionnalite qui ne donnent pas suffisamment de contexte.
  • Consistance : Adoptez une convention et soyez cohérent dans son utilisation. Cela facilite la gestion des branches, surtout si le projet grandit ou si d'autres développeurs rejoignent l'équipe à l'avenir.

En suivant ces conventions, vous pouvez maintenir un dépôt bien organisé et facile à gérer, même en tant que développeur solo.

Mar 17, 8:10am
Existe-t-il une convention pour les merge request : la description, le titre, le nombre de fichier, les tests à faire passer ?
Mar 17, 8:12am

Oui, il existe des conventions courantes pour les merge requests (ou pull requests) qui peuvent aider à maintenir un flux de travail clair et efficace. Voici quelques bonnes pratiques et conventions que vous pouvez adopter :

Titre de la Merge Request

  • Clair et concis : Le titre doit résumer l'objectif principal de la merge request.
  • Utiliser un verbe à l'impératif : Par exemple, "Ajouter l'authentification utilisateur" ou "Corriger le bug du formulaire".
  • Limiter la longueur : Essayez de garder le titre court (50-70 caractères).

Description de la Merge Request

  • Contexte : Fournissez un contexte sur ce que fait la merge request et pourquoi elle est nécessaire.
  • Changelog : Décrivez les modifications apportées, y compris les nouvelles fonctionnalités, les corrections de bugs, ou les améliorations.
  • Liste des tâches : Utilisez une liste à puces ou à cocher pour détailler les tâches spécifiques accomplies.
  • Captures d'écran ou GIFs : Si pertinent, ajoutez des captures d'écran ou des GIFs pour montrer les modifications visuelles.
  • Références aux issues : Si la merge request est liée à une issue spécifique, mentionnez-la (par exemple, "Fixes #123").

Fichiers Modifiés

  • Lister les fichiers principaux : Mentionnez les fichiers principaux qui ont été modifiés et expliquez pourquoi.
  • Justifier les modifications : Si des modifications importantes ont été apportées, expliquez pourquoi elles étaient nécessaires.

Tests

  • Tests automatisés : Assurez-vous que tous les tests automatisés passent avant de soumettre la merge request.
  • Tests manuels : Si des tests manuels sont nécessaires, décrivez-les dans la description et assurez-vous qu'ils ont été effectués.
  • Résultats des tests : Incluez les résultats des tests ou des liens vers les rapports de test si disponibles.

Checklist (optionnel)

  • Utiliser une checklist : Vous pouvez inclure une checklist dans la description pour vérifier que toutes les étapes nécessaires ont été complétées (par exemple, tests passés, documentation mise à jour, etc.).

Exemple de Merge Request

Titre : Ajouter l'authentification utilisateur

Description :

### Contexte Cette merge request ajoute une fonctionnalité d'authentification utilisateur pour sécuriser l'accès à l'application. ### Changelog - Ajout d'un formulaire de connexion. - Implémentation de la logique de vérification des identifiants. - Mise à jour de la documentation utilisateur. ### Fichiers Modifiés - `auth/login.js` : Nouveau fichier pour gérer la logique de connexion. - `components/LoginForm.js` : Composant pour le formulaire de connexion. - `docs/authentication.md` : Documentation mise à jour. ### Tests - Tests unitaires ajoutés pour la logique d'authentification. - Tests d'intégration pour vérifier le flux de connexion. - [Résultats des tests](lien-vers-les-résultats) ### Checklist - [x] Tous les tests automatisés passent. - [x] Documentation mise à jour. - [x] Tests manuels effectués.

En suivant ces conventions, vous pouvez rendre vos merge requests plus claires et plus faciles à réviser, même si vous êtes le seul développeur. Cela facilite également la collaboration future si d'autres développeurs rejoignent le projet.

Mar 17, 8:12am
Si j'ai mes issues dans github est-ce que le lien sera automatique ?
Mar 17, 8:14am

Oui, GitHub facilite le lien entre les issues et les merge requests (ou pull requests) grâce à l'utilisation de références spécifiques dans les descriptions. Voici comment cela fonctionne :

Lier une Merge Request à une Issue

  1. Référencer une issue dans la description :

    • Vous pouvez lier une merge request à une issue en mentionnant le numéro de l'issue dans la description de la merge request. Par exemple, si vous avez une issue avec le numéro #123, vous pouvez écrire Fixes #123 ou Closes #123 dans la description de votre merge request.
  2. Utiliser des mots-clés spécifiques :

    • GitHub reconnaît certains mots-clés qui créent automatiquement un lien entre la merge request et l'issue. Voici quelques exemples de mots-clés que vous pouvez utiliser :
      • Fixes ou Fix : Ferme l'issue lorsque la merge request est fusionnée.
      • Closes ou Close : Ferme l'issue lorsque la merge request est fusionnée.
      • Resolves ou Resolve : Ferme l'issue lorsque la merge request est fusionnée.
      • See : Crée un lien vers l'issue sans la fermer.
  3. Automatisation :

    • Lorsque vous utilisez ces mots-clés, GitHub fermera automatiquement l'issue référencée une fois que la merge request est fusionnée dans la branche main.

Exemple

Si vous avez une issue #42 qui décrit un bug à corriger, vous pouvez créer une merge request avec la description suivante :

### Description Cette merge request corrige le bug de validation du formulaire. Fixes #42

Lorsque cette merge request sera fusionnée, l'issue #42 sera automatiquement fermée.

Avantages

  • Suivi automatique : Cela permet de suivre automatiquement l'état des issues et de savoir quelles modifications sont liées à quelles issues.
  • Transparence : Les collaborateurs peuvent facilement voir quelles issues sont résolues par quelles merge requests.
  • Efficacité : Réduit le besoin de mettre à jour manuellement l'état des issues.

En utilisant ces conventions, vous pouvez maintenir un flux de travail efficace et bien organisé, même en tant que développeur solo.

Mar 17, 8:14am
Est-ce qu'on peut créer des modèles d'issues type dans github, pour le suivi, la création de features ou d'epics, de bugs ?
Mar 17, 8:20am

Oui, GitHub permet de créer des modèles d'issues pour standardiser la création de tickets, que ce soit pour des fonctionnalités, des bugs, des épiques, ou tout autre type de suivi. Voici comment vous pouvez configurer des modèles d'issues dans votre dépôt GitHub :

Étapes pour créer des modèles d'issues

  1. Accéder aux paramètres du dépôt :

    • Allez sur la page principale de votre dépôt GitHub.
    • Cliquez sur l'onglet "Settings" (Paramètres).
  2. Accéder aux modèles d'issues :

    • Dans le menu de gauche, cliquez sur "Issues" (Tickets).
    • Faites défiler jusqu'à la section "Issue templates" (Modèles de tickets).
  3. Configurer les modèles d'issues :

    • Vous pouvez choisir de créer un modèle par défaut ou plusieurs modèles spécifiques.
    • Pour créer plusieurs modèles, cochez l'option "Use a template chooser" (Utiliser un sélecteur de modèle).
  4. Ajouter un modèle :

    • Cliquez sur "Add template" (Ajouter un modèle).
    • Choisissez le type de modèle que vous souhaitez ajouter (par exemple, Bug report, Feature request, etc.).
    • Donnez un nom à votre modèle et ajoutez le contenu du modèle dans l'éditeur.
  5. Personnaliser le contenu du modèle :

    • Utilisez des sections claires pour structurer le modèle, par exemple :
      • Titre : Un titre descriptif pour le ticket.
      • Description : Une description détaillée du problème ou de la fonctionnalité.
      • Étapes pour reproduire (pour les bugs) : Les étapes nécessaires pour reproduire le bug.
      • Comportement attendu : Ce qui devrait se passer.
      • Comportement actuel : Ce qui se passe réellement.
      • Captures d'écran : Si pertinent, demandez des captures d'écran ou des GIFs.
      • Informations supplémentaires : Toute autre information pertinente.
  6. Enregistrer le modèle :

    • Une fois que vous avez personnalisé le contenu du modèle, cliquez sur "Propose changes" (Proposer des modifications) pour créer une pull request avec les nouveaux modèles.
    • Fusionnez la pull request pour appliquer les modèles à votre dépôt.

Exemple de modèle pour un bug report

## Bug Report ### Description [Décrivez clairement le problème rencontré] ### Étapes pour reproduire 1. [Étape 1] 2. [Étape 2] 3. [Étape 3] ### Comportement attendu [Décrivez ce qui devrait se passer] ### Comportement actuel [Décrivez ce qui se passe réellement] ### Captures d'écran [Ajoutez des captures d'écran si nécessaire] ### Informations supplémentaires - **Navigateur** : [ex. Chrome, Firefox] - **Version de l'application** : [ex. 1.0.0] - **Système d'exploitation** : [ex. Windows 10, macOS]

En utilisant des modèles d'issues, vous pouvez standardiser la façon dont les tickets sont créés, ce qui facilite le suivi et la gestion des problèmes et des fonctionnalités dans votre projet.

Mar 17, 8:20am

This Chat is read-only. Login to resume chatting.

Sign in