Premiers pas¶
Composants principaux¶
Lorsque vous travaillez avec Odoo.sh, il est important de comprendre les principaux composants impliqués :
Bien qu’ils soient tous interconnectés, chacun joue un rôle distinct dans le développement et le déploiement des applications Odoo. Ensemble, ils forment un pipeline cohérent, du développement du code à l’utilisation en production.
Dépôt GitHub¶
Un dépôt GitHub est semblable à un dossier sur votre ordinateur contenant tous les fichiers et dossiers d’un projet spécifique. La différence est qu’il est stocké sur GitHub et peut être consulté et modifié par plusieurs personnes sur différents ordinateurs.
En d’autres termes, un dépôt GitHub est un emplacement où vous pouvez stocker les fichiers de votre projet et les partager avec d’autres personnes, afin qu’elles puissent collaborer avec vous, apporter des modifications et contribuer à votre projet. Il suit également toutes les modifications apportées à votre projet au fil du temps, ce qui vous permet de revenir facilement à une version antérieure si nécessaire.
De plus, GitHub propose de nombreuses fonctionnalités pour vous aider à gérer votre projet, telles que le suivi des problèmes, les pull requests et les revues de code. C’est un outil puissant pour gérer des projets logiciels et y collaborer, largement utilisé par les développeurs du monde entier. Un espace sous contrôle de version où le code source des applications Odoo est stocké. Il suit chaque modification, prend en charge la collaboration et peut être public ou privé.
Projet Odoo.sh¶
Un projet Odoo.sh est une Platform as a Service (PaaS) qui s’intègre à GitHub et permet d’optimiser le développement, les tests et le déploiement des applications Odoo. Il comprend des outils tels que des sauvegardes automatisées, des environnements de préproduction et des pipelines d’intégration continue.
base de données Odoo¶
Une base de données Odoo stocke toutes les données opérationnelles utilisées et générées par les applications Odoo, telles que les enregistrements de gestion, les configurations et les données utilisateur.
Types d’utilisateur¶
Odoo.sh implique différents types d’utilisateurs, chacun ayant un rôle spécifique dans le cycle de vie du projet :
Utilisateurs GitHub : développeurs ayant accès au dépôt GitHub lié au projet Odoo.sh. L’accès au dépôt ne fait pas automatiquement d’une personne un collaborateur sur le projet Odoo.sh.
Collaborateurs Odoo.sh : personnes gérant le projet Odoo.sh. Chaque collaborateur doit être lié à un utilisateur GitHub. Cependant, les collaborateurs ne sont pas équivalents aux utilisateurs de la base de données.
Utilisateurs de la base de données : utilisateurs finaux de la base de données Odoo déployée. Ils interagissent avec le système en production, mais n’interviennent pas dans le développement ou la gestion de projet.
Concepts techniques¶
Lors de l’utilisation d’Odoo.sh, il est également important de comprendre plusieurs concepts techniques :
Forker un dépôt¶
Forker un dépôt sur GitHub consiste à créer une copie du dépôt de quelqu’un d’autre sur votre propre compte. Cela vous permet d’apporter des modifications au dépôt sans affecter la version originale.
Lorsque vous forkez un dépôt, vous créez votre propre copie du dépôt, comprenant l’ensemble des fichiers et des dossiers du dépôt d’origine. Vous pouvez ensuite modifier les fichiers de votre copie du dépôt et les commiter, tout comme vous le feriez avec n’importe quel autre dépôt.
L’avantage de forker un dépôt est que vous pouvez apporter des modifications au code sans affecter la version originale, ce qui est utile lorsque vous souhaitez tester de nouvelles fonctionnalités ou corriger des bugs dans le code de quelqu’un d’autre. Vous pouvez également utiliser le dépôt forké comme point de départ pour votre projet, en y apportant les modifications nécessaires.
Une fois les modifications apportées au dépôt forké, vous pouvez soumettre une pull request au propriétaire du dépôt d’origine pour lui demander de fusionner vos modifications dans son dépôt. Il s’agit d’une approche courante pour les projets open source afin d’accepter les contributions d’autres développeurs, et c’est un excellent moyen de s’impliquer dans la communauté et d’améliorer vos compétences en programmation.
Pousser un commit¶
Lorsque vous modifiez un ou plusieurs fichiers dans un dépôt Git sur votre ordinateur local, ces modifications sont considérées comme non commitées. En d’autres termes, Git sait que des modifications ont été apportées, mais elles n’ont pas encore été officiellement enregistrées.
Pour enregistrer ces modifications et les ajouter au dépôt Git, vous devez créer un commit. Un commit est un instantané des modifications apportées aux fichiers à un moment précis. Il enregistre les modifications qui ont été effectuées, leur auteur et leur date.
Une fois le commit créé, vous pouvez ensuite le pousser (push) vers un dépôt distant, comme un dépôt hébergé sur GitHub. Pousser un commit consiste à envoyer les modifications enregistrées dans le commit depuis votre dépôt local vers le dépôt distant afin que d’autres personnes puissent les voir et les utiliser.
En résumé, pousser un commit consiste à envoyer les modifications apportées aux fichiers de votre dépôt Git depuis votre ordinateur local vers un dépôt distant. C’est un moyen de partager vos modifications avec d’autres personnes et de collaborer sur un projet.
Fusionner une branche¶
Fusionner une branche dans une autre consiste à combiner les modifications apportées dans une branche avec une autre. Par exemple, supposons que vous ayez créé une nouvelle branche appelée feature-branch pour travailler sur une nouvelle fonctionnalité pour votre projet. Une fois vos modifications terminées sur cette branche, vous pouvez fusionner ces modifications dans la branche principale (souvent appelée branche master ou main).
Lorsque vous fusionnez une branche, Git examine les modifications dans les deux branches et tente de les combiner. En cas de conflit entre les modifications apportées dans les deux branches, Git vous invite à les résoudre avant de finaliser la fusion (au niveau du code).