2025-02-01 18:33:10 +01:00
# Bake - L'utilitaire de compilation minimaliste 🚀
2025-02-01 17:55:23 +01:00
2025-02-01 18:33:10 +01:00
## Sommaire 📖
- [Introduction ](#introduction )
2025-03-02 11:01:29 +01:00
- [Installation ](#installation )
2025-03-16 12:31:06 +01:00
- [Structure du projet ](#structure-du-projet )
2025-03-02 11:01:29 +01:00
- [Utilisation ](#utilisation )
- [Tests ](#tests )
- [Documentation ](#documentation )
2025-02-01 18:33:10 +01:00
- [Auteurs ](#auteurs-%F0%9F%91%A8%E2%80%8D%F0%9F%92%BB )
2025-03-16 13:46:59 +01:00
- [Remerciements ](#remerciements )
2025-02-01 18:33:10 +01:00
## Introduction
Bake est un utilitaire de compilation inspiré de `make` , conçu pour gérer la génération et la mise à jour de fichiers en fonction de leurs dépendances. Contrairement à `make` , Bake utilise un fichier de configuration nommé `Bakefile` , avec une syntaxe simplifiée et sans certaines fonctionnalités avancées.
2025-03-02 11:01:29 +01:00
## Installation
```bash
# Cloner le dépôt
git clone https://grond.iut-fbleau.fr/stiti/SAE32_2024/
cd SAE32_2024
# Compiler le projet et diffuser le .JAR dans tout les répertoires de tests
make
```
2025-03-16 12:31:06 +01:00
## Structure du projet
```
SAE32_2024/
│── src/ # Code source du projet
│ ├── fr/monlouyan/bakefile/
│ ├── BakeCLI.java
│ ├── BakeEngine.java
│ ├── BakefileParser.java
│ ├── Rule.java
│ ├── CommandExecutor.java
│ ├── DependencyResolver.java
│ ├── TimestampManager.java
│ ├── Main.java
│── tests/ # Répertoires de tests
│── documentation/ # Rapport, Diagrammes
│── Makefile # Compilation et gestion du projet
│── README.md
```
2025-03-02 11:01:29 +01:00
## Utilisation
```bash
# Utilisation dans les répertoires de test `bake`
java -cp bakefile.jar fr.monlouyan.bakefile.Main
```
## Tests
Le répertoire **tests** contient une liste de tests pour vérifier que Bake réagit comme Make.
- **[Accéder au répertoire de tests ](./tests )**
- **Contenu**:
- **[README.md ](./tests/README.md )** : Documentation qui explique l'utilisation des tests.
2025-03-11 18:24:29 +01:00
Pour générer et visualiser la documentation JavaDoc :
```bash
# Générer uniquement la JavaDoc
make javadoc
# Générer et afficher la JavaDoc dans votre navigateur
make see-javadoc
```
2025-03-02 11:01:29 +01:00
## Documentation
Le répertoire **documentation** contient un rapport et des diagrammes détaillant le fonctionnement de Bake.
- **[Accéder au répertoire de documentation ](./documentation )**
- **Contenu**:
- **[rapport.pdf ](./documentation/rapport.pdf )** : Rapport détaillant le projet Bake.
- **[Diagrammes ](./documentation/Diagrammes )** : Répertoire contenant les diagrammes UML et autres schémas explicatifs.
2025-02-01 18:33:10 +01:00
## Auteurs 👨💻
- Moncef STITI - [@stiti ](https://grond.iut-fbleau.fr/stiti )
- Louay DARDOURI - [@dardouri ](https://grond.iut-fbleau.fr/dardouri )
2025-02-06 21:25:48 +01:00
- Yanis HAMOUDI - [@hamoudi ](https://grond.iut-fbleau.fr/hamoudi )
2025-03-16 13:46:59 +01:00
## Remerciements
Un grand merci à Lenny FOULOU, Khalid Chenouna et Thomas Rognant qui ont accepté d'échanger des tests avec nous, nous permettant d'avoir une autre vision des problèmes.
2025-03-31 09:48:09 +02:00
## Note
Nous avons obtenu une note de 16,50/20, qui est la meilleure note attribuée pour ce projet.
2025-03-16 13:46:59 +01:00
2025-02-06 21:25:48 +01:00
