Visualisation interactive d'un perceptron simple : l'utilisateur définit une droite de séparation, ajoute des points et entraîne le modèle à les classifier (ABOVE / BELOW).
- Backend : Java 25, Spring Boot 4
- Frontend : TypeScript, Lit (Web Components), Carbon Design System, Vite
- Build : Maven (le build frontend est intégré via
frontend-maven-plugin)
src/main/java/tech/edwyn/perceptron/
├── domain/ # Modèle métier (Point, Line, Label, Classification) + port ForPredicting
└── infra/
├── controllers/ # REST API (/classification)
└── spi/ # Implémentations : Perceptron, GeometryPrediction
src/main/frontend/ # Application Lit (Web Components)
| Méthode | Endpoint | Description |
|---|---|---|
| GET | /classification |
État courant (points + prédiction) |
| POST | /classification/boundary |
Définir la droite de référence |
| POST | /classification/points |
Ajouter un point aléatoire |
| POST | /classification/train |
Effectuer une itération d'entraînement |
| POST | /classification/reset |
Réinitialiser |
- Java 25+
- Maven 3.9+
Node.js et npm sont téléchargés automatiquement par Maven lors du build.
# Build complet (frontend + backend) et lancement
mvn spring-boot:runL'application est accessible sur http://localhost:8080.
Pour itérer rapidement sur le frontend avec hot-reload :
# Dans un terminal — backend
mvn spring-boot:run
npm run build:watch