GestionOceanBijoux est une application de bureau développée en C# avec WPF (.NET 8), suivant le modèle d'architecture MVVM. Ellae permet de gérer les données d’un site e-commerce fictif spécialisé dans les bijoux, via une API Laravel.
Ce projet a été réalisé dans le cadre du BTS SIO SLAM. Il permet de consulter, ajouter, modifier et supprimer des produits, catégories, matériaux, styles et fabrications. L'application se connecte à une API distante pour récupérer et envoyer les données.
- .NET 8 (WPF)
- C# / XAML
- MVVM (Model - View - ViewModel)
- API RESTful (via HttpClient)
- JSON (System.Text.Json)
- Git / GitHub
- Connexion à une API Laravel distante
- Affichage dynamique des données (produits, catégories, etc.)
- Formulaires d’ajout et de modification
- Suppression d’éléments avec confirmation
- Navigation entre les différentes vues
- Rafraîchissement automatique après chaque opération
Le projet est structuré de façon modulaire selon le modèle MVVM :
GestionOceanBijoux/
│
├── Models/ → Représentation des entités (Produit, Categorie, etc.)
├── Views/ → Interfaces graphiques (XAML)
├── ViewModels/ → Logique métier et gestion de l’état des vues
├── Services/ → Requêtes vers l’API Laravel
├── Helpers/ → Méthodes utilitaires
└── MainWindow/ → Fenêtre principale et gestion de la navigation
Extrait de ApiService.cs – Récupération des produits depuis l’API :
public async Task<List<Produit>> GetProduitsAsync()
{
string url = apiUrl + "/produits";
HttpResponseMessage response = await client.GetAsync(url);
if (response.IsSuccessStatusCode)
{
string json = await response.Content.ReadAsStringAsync();
return JsonSerializer.Deserialize<List<Produit>>(json) ?? new List<Produit>();
}
throw new Exception("Erreur API : " + response.ReasonPhrase);
}Extrait de ProduitViewModel.cs – Ajout d’un produit :
private async void AjouterProduit()
{
await apiService.AddProduitAsync(ProduitSelectionne);
await ChargerProduits();
}| Vue | Description |
|---|---|
MainWindow |
Fenêtre principale et navigation |
LoginView |
Connexion utilisateur (si activée) |
ProduitView |
Gestion des produits |
CategorieView |
Gestion des catégories |
StyleView |
Gestion des styles |
MateriauView |
Gestion des matériaux |
FabricationView |
Gestion des fabrications |
- Ouvrir
GestionOceanBijoux.slndans Visual Studio 2022 (ou supérieur) - Vérifier que l’API Laravel est bien en ligne
- Adapter l’URL dans
ApiService.cssi nécessaire - Lancer le projet avec F5
Certaines optimisations peuvent encore être envisagées pour aller plus loin :
- Intégrer un système de recherche ou de filtre dans les listes
- Améliorer l'affichage des messages d’erreur ou de confirmation
- Prévoir une pagination en cas de grand nombre de résultats
- Amélioration du design graphique et de l’ergonomie générale
Projet développé par Océane Bondon (BTS SIO SLAM 2025).
Ce projet interagit avec une API Laravel développée séparément dans le cadre du site "Océan de Bijoux".
L'accès aux fonctionnalités sensibles (ajout, modification, suppression) est protégé par une authentification avec un token.
Lors de la connexion via POST /login, un token est généré par l’API Laravel et stocké localement dans Settings.Default.UserToken.
Ce token est ensuite transmis automatiquement dans les en-têtes des requêtes protégées grâce au header suivant :
Authorization: Bearer {token}
L’URL de base de l’API est stockée dans le fichier App.config du projet WPF :
<appSettings>
<add key="api_url" value="http://127.0.0.1:8000/api" />
</appSettings>Assurez-vous que l’API Laravel tourne en local ou mettez à jour cette URL selon votre environnement.