Description du projet
SAV App est une application front-end de type SPA (Single Page Application) développée avec Angular et TypeScript dans le cadre d'un cours dédié au framework. Le projet adopte une architecture modulaire conforme aux bonnes pratiques Angular : séparation en modules fonctionnels, composants réutilisables, services injectables et routing déclaratif.
L'application gère des entités métier (savons, produits) avec affichage dynamique, navigation entre vues et préparation à la consommation d'une API via le module HttpClient. Le typage fort apporté par TypeScript garantit la robustesse du code et facilite la maintenance.
Ce projet illustre la transition d'un développement JavaScript classique vers un framework professionnel structuré, utilisé dans de nombreuses entreprises pour des applications web d'envergure.
Technologies utilisées
Architecture Angular
AppModule, ProductsModule…). Chaque module encapsule ses composants, services et routes — favorisant la séparation des responsabilités.@Input() / @Output(), lifecycle hooks (ngOnInit) pour le chargement des données.@Injectable() pour la logique métier (appels HTTP, gestion des données). Fournis au niveau racine (providedIn: 'root') pour être partagés entre tous les composants.RouterModule, navigation sans rechargement de page, paramètres de route (:id) et lazy loading des modules pour optimiser les performances.Extrait de code — Service Angular
Structure des routes
| Route | Composant | Description |
|---|---|---|
| / | HomeComponent | Page d'accueil de l'application SAV |
| /products | ProductListComponent | Liste de tous les produits/savons |
| /products/:id | ProductDetailComponent | Fiche détail d'un produit |
| /about | AboutComponent | Page à propos de l'application |
Compétences BTS SIO mobilisées
| Code | Compétence | Mise en œuvre dans le projet |
|---|---|---|
| B2.1 | Exploiter les ressources du poste de travail | Installation et utilisation d'Angular CLI, configuration de l'environnement Node.js/npm, VS Code avec extensions Angular. |
| B2.2 | Concevoir une solution applicative | Architecture modulaire Angular, définition des composants, services et routes, interfaces TypeScript pour le typage des données. |
| B2.3 | Développer, documenter et déployer | Développement TypeScript avec injection de dépendances, data-binding, gestion des Observables RxJS, routing déclaratif. |
| B2.4 | Travailler en mode projet | Organisation par feature modules, versionnage GitHub, respect des conventions de nommage Angular (style guide officiel). |
| B1.1 | Recenser et identifier les ressources numériques | Intégration Angular HttpClient pour consommer une API REST, gestion des Observables pour les appels asynchrones. |