# dehboris/tp-calculatrice-21 architecture

> Architecture diagram of the GitHub repository dehboris/tp-calculatrice-21, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-06-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/dehboris/tp-calculatrice-21
- Repository: https://github.com/dehboris/tp-calculatrice-21

## Overview

1. **Nature du dépôt**
   - Ce repository ne contient pas une application exécutable ni de code métier.
   - C’est un dépôt de consignes pédagogiques pour un exercice Git/GitHub autour d’un projet nommé **tp-calculatrice-21**.

2. **Contenu réel du dépôt**
   - **README.md** : document principal, décrit le workflow demandé à l’étudiant.
   - **changelog.md** : fichier prévu pour tracer l’historique des changements, mais son rôle exact n’est pas détaillé dans l’arborescence fournie.
   - **LICENSE** : cadre juridique du dépôt.
   - Il n’y a pas de dossier source, de dépendance runtime, ni de configuration d’exécution visibles.

3. **Fonction principale du repository**
   - Le dépôt sert de **support de distribution et de soumission**.
   - L’objectif est de récupérer un projet depuis un fork, travailler sur une branche nommée selon la convention imposée, puis soumettre les modifications via un pull request.

4. **Flux de travail central**
   - Le flux suit une chaîne GitHub classique :
     1. création d’un compte GitHub,
     2. fork du projet,
     3. clone du fork localement,
     4. création d’une branche de travail,
     5. ajout du contenu du projet dans le dossier,
     6. commit,
     7. push vers le fork,
     8. pull request vers le dépôt d’origine.
   - L’architecture à représenter est donc surtout un **flux de contribution**, pas un flux applicatif.

5. **Frontières importantes**
   - **GitHub** est l’hôte distant principal.
   - **Poste local de l’étudiant** : espace de travail pour le clone, la branche et les commits.
   - **Dépôt forké** : zone de staging côté utilisateur.
   - **Dépôt source d’origine** : cible du pull request final.
   - La séparation la plus importante est entre le **fork utilisateur** et le **repo upstream**.

6. **Convention de branche**
   - Le README impose une règle stricte de nommage de branche : `nom-prenom` en minuscules.
   - Cette contrainte fait partie du contrôle de conformité du dépôt et structure le travail individuel.

7. **Données échangées**
   - Les seuls “artefacts” manipulés sont des fichiers Git : contenu du projet copié dans le dossier, commits, puis push.
   - Aucun format d’entrée/sortie applicatif, API, base de données ou service externe n’est mentionné.

8. **Technologies et infrastructure pertinentes**
   - La seule infrastructure réellement impliquée est **Git** et **GitHub**.
   - Aucun framework, langage d’exécution, conteneur, CI/CD ou service tiers n’apparaît dans les fichiers fournis.

9. **Implication pour un diagramme d’architecture**
   - Le diagramme devrait montrer un **référentiel de consignes** alimentant un **workflow de contribution**.
   - Les composants à dessiner sont : utilisateur, clone local, fork GitHub, dépôt source GitHub, et pull request.
   - Il ne faut pas dessiner de modules applicatifs internes, car ils ne sont pas présents dans ce dépôt.

10. **Conclusion**
   - Ce repository est avant tout un **cadre de travail et de soumission**.
   - Son architecture est minimale : documentation + licence + journal de changements, autour d’un processus Git/GitHub.

Main entry points: [`README.md`](https://github.com/dehboris/tp-calculatrice-21/blob/main/README.md) (README), [`changelog.md`](https://github.com/dehboris/tp-calculatrice-21/blob/main/changelog.md) (Changelog), [`LICENSE`](https://github.com/dehboris/tp-calculatrice-21/tree/main/LICENSE) (License)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_docs["Docs"]
  node_readme["README<br/>instructions<br/>[README.md]"]
  node_changelog["Changelog<br/>history<br/>[changelog.md]"]
  node_license["License<br/>legal"]
end

subgraph group_flow["Workflow"]
  node_student(("Student<br/>actor"))
  node_local["Local clone<br/>workspace"]
  node_branch{{"Work branch"}}
  node_fork[("Fork repo<br/>remote repo")]
  node_upstream[("Upstream repo<br/>remote repo")]
  node_pr["Pull request<br/>submission"]
end

node_readme -->|"gives instructions"| node_student
node_readme -->|"cloned to"| node_local
node_student -->|"creates fork"| node_fork
node_fork -->|"clone"| node_local
node_local -->|"checkout"| node_branch
node_branch -->|"commits"| node_local
node_local -->|"push"| node_fork
node_fork -->|"open PR"| node_pr
node_pr -->|"targets"| node_upstream
node_changelog -->|"tracks changes"| node_fork
node_license -->|"governs"| node_upstream

click node_readme "https://github.com/dehboris/tp-calculatrice-21/blob/main/README.md"
click node_changelog "https://github.com/dehboris/tp-calculatrice-21/blob/main/changelog.md"
click node_license "https://github.com/dehboris/tp-calculatrice-21/tree/main/LICENSE"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_readme,node_changelog,node_license toneBlue
class node_student,node_local,node_branch,node_fork,node_upstream,node_pr toneAmber
```

## Components

### Docs

Repository guidance and reference files

- [README](https://github.com/dehboris/tp-calculatrice-21/blob/main/README.md): instructions · Main exercise guide and workflow rules · `README.md`
- [Changelog](https://github.com/dehboris/tp-calculatrice-21/blob/main/changelog.md): history · Change log for the exercise · `changelog.md`
- [License](https://github.com/dehboris/tp-calculatrice-21/tree/main/LICENSE): legal · Repository usage terms · `LICENSE`

### Workflow

Git/GitHub contribution path

- **Student**: actor · Learner completing the exercise
- **Local clone**: workspace · Working copy on the student machine
- **Work branch**: branch · Named branch following nom-prenom convention
- **Fork repo**: remote repo · Student-owned GitHub fork
- **Upstream repo**: remote repo · Original GitHub repository
- **Pull request**: submission · Final review and submission step

## Connections

- README → Student: gives instructions · Defines the required contribution workflow and naming convention
- README → Local clone: cloned to · Student clones the fork into a local workspace
- Student → Fork repo: creates fork · Student forks the exercise repository on GitHub
- Fork repo → Local clone: clone · Local working copy is taken from the fork
- Local clone → Work branch: checkout · Work happens on a branch named nom-prenom
- Work branch → Local clone: commits · Changes are committed in the local repository
- Local clone → Fork repo: push · Branch and commits are pushed to the student fork
- Fork repo → Pull request: open PR · A pull request is opened from the fork
- Pull request → Upstream repo: targets · The pull request is submitted against the original repository
- Changelog → Fork repo: tracks changes · Change history is maintained as part of the submitted work
- License → Upstream repo: governs · Licensing applies to the repository content
