Mon stage de développeur web : l’abus d’APIs est dangereux pour la santé

Bonjour à tous 👋 !

On se retrouve cette semaine pour mon troisième article.

Encore une fois, la semaine a été chargée (même avec un jour en moins). Cette semaine, j’ai commencé à développer la plateforme et bien que j’ai à peu prêt touché à tout, il y a quelque chose que j’ai particulièrement utilisé : des APIs (ça se voyait un peu dans le titre 😆). Je vais vous expliquer tout cela le plus simplement possible.

Voici ma semaine en résumé 😊 !

Stocker des données c’est bien, pouvoir les voir c’est mieux

Petit déjeuner : afficher les données

 

Pour commencer cette semaine, j’ai donc traité toutes les données de test que j’ai pu stocker dans la base de données. Cette partie là est très facile à réaliser car il s’agit juste d’afficher les données. Ça m’a pris la journée car des données, il y en a plein, mais mon cerveau n’a pas trop souffert car la réflexion sur cette partie était proche du zéro 😆.

Déjeuner : Altérer les données

 

C’est bien beau de pouvoir afficher les données mais les modifier est une autre affaire. Le principe en soit est très simple : c’est la même chose que pour afficher mais dans le sens inverse. Pour afficher, le serveur envoie des données au client qui les affiche. Pour modifier, c’est le client qui envoie les données au serveur qui les modifie. On pourrait se dire que c’est simple, mais il y a plein de scénarios à éviter. Autant on peut avoir confiance aux données qu’envoie le serveur au client (après tout, c’est notre serveur, il n’est pas méchant), mais on ne peut pas du tout avoir confiance aux données que le client envoie au serveur. Imaginez que Robert, apprenti hacker, décide d’envoyer autre chose que son prénom au serveur ; il faut que le serveur le détecte et empêche celui-ci de faire quelque chose. Par exemple, si jamais dans le champ « Numéro de téléphone », Robert décide de mettre « Je suis fan de Julien Lepers » au lieu de « 0123456789 », il faut que le serveur le détecte et l’en empêche (même si Julien Lepers est un grand homme). Il a donc fallu vérifier la validité de chaque donnée envoyé par l’utilisateur pour ensuite la stocker ou non. Cela m’a pris la journée de mercredi. C’était un peu plus compliqué que la partie précédente, mais ça allait encore 😁.

 

APIs : Le début d’une longue épopée

Goûter : Connexion des comptes

 

Pour finir la journée du mercredi, j’ai commencé à utiliser des API. Certains services nécessitent les service de Google et de MindMeister et j’ai donc dû faire en sorte d’ajouter la possibilité de lier un compte Google et MindMeister à notre application. Cette partie là était assez inconnue pour moi car j’ai dû utiliser des services OAuth2 mais j’ai réussi à comprendre étonnement vite et la connexion pour les deux API s’est faite sans problème. Bien que j’ai réussi à comprendre, j’ai quand même dû réfléchir assez longtemps sur à peu prêt tout ce que je faisais étant donné que c’était inconnu pour moi.

Le boss final pour le dîner : La partie e-Commerce

 

Là, c’est la partie qui m’a pris le plus de temps. Jeudi matin, j’ai commencé de manière assez tranquille sur la gestion de panier. C’était juste de l’ajout et du retrait d’élément, c’était pas sorcier. Mais ces produits, il faut bien les acheter et j’ai donc dû m’attaquer au gros poisson : les paiements. Premièrement, c’est quelque chose que je n’ai jamais réalisé donc je débarque en terre inconnue. Deuxièmement, l’API de la plateforme de paiement est compliquée. Et dernièrement, c’est une partie sensible car des données bancaires transitent. Autrement dit, cette partie va être laborieux. J’ai donc commencé jeudi matin et toute la journée, j’ai pataugé dans la semoule. Je n’arrivais pas à comprendre comment fonctionnait le paiement. J’ai cependant pu établir certaines bases. Le lendemain, j’ai continué et j’ai enfin réussi à mettre en place le système de paiement correctement. Mon cerveau était en feu 🤯. J’ai ensuite dû mettre en place un autre système de paiement récurent. J’ai eu du mal au début mais au final, j’ai trouvé un moyen d’avancer et de réaliser le système. Je n’ai pas remarqué de bugs à ce niveau là pour le moment mais des tests approfondies devront être réalisés pour en être sûr.

 

C’était laborieux, mais la partie sensible est réalisée

Cette semaine a été plus laborieuse car je suis resté bloqué deux jours sur le système de paiement, mais globalement j’ai pu avancer et ça c’est très positif. Etant donné que les deux systèmes de paiement sont réalisés, on peut dire que la partie sensible est derrière nous. Cette semaine a été très enrichissante en terme de contenu car j’ai pu apprendre à bien me servir de plusieurs APIs (car oui, j’en ai mangé pas mal cette semaine). La semaine prochaine, je vais probablement m’attaquer à d’autres APIs encore une fois et commencer à gérer tout ce qui est administration. Le projet est loin d’être terminé, mais il avance bien ! J’espère être capable de le terminer avant la fin de mon stage. Ça va être court mais j’accepte le challenge !

Merci de m’avoir lu et bon week-end à tous 😃 !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *