Skip to content

CodeClique-RobertDoisneau/CodeClique

Repository files navigation

Dernière release Issues Frontend Issues Backend Licence

🏗️ Structure du Projet

Ce projet fonctionne avec une architecture modulaire utilisant des Git Submodules. Le dépôt principal sert à l'orchestration, tandis que le code source réside dans des dépôts séparés pour le frontend et le backend. Les cours sont dans courses.

graph TD;
    Main[CodeClique Repo];
    Main -->|submodule| Front[frontend Repo];
    Main -->|submodule| Back[backend Repo];
    Main -->|submodule| Courses[courses Repo];
Loading
  • CodeClique : Contient la configuration Docker et l'orchestration.
  • frontend : Le code du frontend, écrit avec Angular.
  • backend : Le code du backend, écrit avec Django.
  • courses : Dépôt des cours, écrits en Markdown.

🚀 Démarrage

Développement

  1. Prérequis : Docker et Docker Compose.
  2. Cloner & Initialiser le dépôt et ses sous-modules :
    git clone --recurse-submodules https://github.com/CodeClique-RobertDoisneau/CodeClique.git
    L'option --recurse-submodules est cruciale pour télécharger également le code du frontend et du backend.
  3. Sélectionner les branches :
    • Chacun des sous-modules fonctionnent indépendamment. Vous pouvez sélectionner la branche que vous voulez pour chacun.
    • Pour changer de branche vous pouvez utiliser git switch <nom de la branche> dans le dossier du sous-module concerné.
  4. Lancer les conteneurs :
    docker compose watch
  5. Arrêter les conteneurs : docker compose down

Production

Pour mettre en production, exécutez les commandes suivantes. Voici ce qu'elles font étape par étape :

  1. Récupération du code :

    git clone --recurse-submodules https://github.com/CodeClique-RobertDoisneau/CodeClique.git
    cd CodeClique

    Cela clone le dépôt principal et initialise immédiatement les sous-modules frontend et backend.

  2. Construire les images :

    docker compose -f compose.yaml -f compose.prod.yaml build --no-cache

    Combine la configuration de base (compose.yaml) avec la surcharge de production (compose.prod.yaml) et force une reconstruction complète des images pour garantir que les dernières dépendances sont installées.

  3. Lancer les conteneurs :

    docker compose -f compose.yaml -f compose.prod.yaml up -d

    Lance les services en arrière-plan (-d).

  4. Arrêter les conteneurs :

    docker compose -f compose.yaml -f compose.prod.yaml down

🤝 Guide de Contribution

Nous utilisons un modèle de branches strict pour garder l'historique propre et lisible.

Stratégie de Branches

  • main : Branche de production, stable. Ne jamais commit directement dessus.
  • dev : Branche d'intégration principale. Toutes les Pull Requests doivent viser dev.
  • Branches de travail : Doivent être tirées depuis dev et suivre la convention de nommage.

Politique de Commit et de Nommage

Nous suivons les spécifications suivantes pour le nommage des commit et des branches:

Politique de Merge

  1. Cible : Les PRs doivent être fusionnées dans dev.
  2. Méthode de Merge : Dans l'optique d'une meilleure compréhension de l'historique pour des futurs contributeurs, nous préférons faire des Merge Commit (sans fast-forward). Les Squash and Merge commits sont aussi autorisés mais moins idéaux.
  3. Validation : Pas de CI/CD automatique pour le moment. Une revue de code est obligatoire avant tout merge.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors