Afin de valider le 6Ă©me projet de ma formation chez Openclassrooms, jâai rĂ©alisĂ© le backend dâune application dâĂ©valuation de sauces piquantes. Cette partie est « cachĂ©e », lâutilisateur ne la voit jamais. Elle permet pourtant la bonne fonctionnalitĂ© de lâapplication.
Lâapplication sâappelle âPiquanteâ et permet Ă ses utilisateurs dâajouter leurs sauces gastronomiques. Ils peuvent âlikerâ ou âdislikerâ les diffĂ©rentes sauces.
La partie backend de ce projet est dĂ©veloppĂ©e en Node.js et express. Pour la base de donnĂ©es jâutilise MongoDB.
Les enjeux du projet sont les suivants :
Ajuster le dĂ©veloppement du backend pour quâil fonctionne parfaitement avec le frontend,
Assurer la sĂ©curitĂ© des donnĂ©es utilisateurs et de lâapplication (RGPD & OWAPS).
En crĂ©ant la partie backend de ce projet on crĂ©e finalement notre propre API. Il sâagit dâune abrĂ©viation qui signifie Application Programming Interface (ou interface de programmation dâapplication, en français). En rĂ©sumĂ©, il sâagit dâun moyen de communication entre deux logiciels (soit diffĂ©rents composants dâune application, soit deux applications diffĂ©rentes).
Voici les caractĂ©ristiques principales dâune API. Elle permet de :
Communiquer des données.
Communiquer entre les diffĂ©rents composants de lâapplication et entre lâapplication et dâautres dĂ©veloppeurs.
Ceci se fait grĂące Ă lâutilisation de requĂȘtes et de rĂ©ponses.
Donner un moyen dâaccĂšs aux donnĂ©es de façon rĂ©utilisable et standardisĂ©e.
Voici leurs avantages principaux :
Les développeurs peuvent utiliser des API publiques et privées.
Les API publiques sont utilisables par tous sans restriction.
Les API privées sont utilisables seulement par ceux qui ont un accÚs et y sont autorisés.
Le CRUD est la liste des actions de base que vous pouvez effectuer sur une ressource. Câest un acronyme qui signifie Create (crĂ©er), Read (lire), Update (mettre Ă jour), et Delete (supprimer). Bien que le CRUD ne constitue pas vraiment un mĂ©canisme technique en soi, chaque action CRUD est associĂ©e Ă un verbe HTTP.