Aller au contenu

Un système de facturation pour 250 millions d’utilisateurs

Dans la plupart des écoles, les étudiant·e·s travaillent sur des systèmes qui ne tournent pas en production. C’est normal, souffle-t-on, ce sont des étudiants, ils pourraient casser des choses.

Cela dit, il y a beaucoup de situations qui sont difficiles à apprendre en dehors de la production. Un environnement de production doit être disponible tout le temps, sécurisé tout le temps, performant tout le temps malgré des bases de données gigantesques. On est loin de la soutenance d’examen pendant laquelle une démo qui plante n’a pour conséquence que quelques points en moins dans la note.

Chez HEI, nous familiarisons nos étudiants à ces situations à travers le système de facturation de l’école. Il tourne H24, et sa sécurité est critique car le système persiste des informations de paiements.

Remarque importante : notre environnement de développement tourne avec 250 millions d’utilisateurs sous Postgres ! C’est 1/4 du Postgres d’Instagram ! Comment garantir la performance dans ces conditions ? Comment garantir la consistance face à tous les appels concurrents engendrés ?

Un aperçu dans ce sujet de l’UE « DONNÉES 2 – Base de données relationnelles ».

Un système de pointage par Intelligence Artificielle

Il y a quelques années encore, il était difficilement envisageable de faire manipuler de l’IA statistique à des étudiants de L1. Ils n’avaient ni les données ni la puissance de calcul nécessaire pour entrainer leurs modèles. Et puis les technologies n’étaient tout simplement pas mûrs.

Mais c’était il y a quelques années. Maintenant, une reconnaissance faciale se fait à coup d’un appel d’API à AWS Rekognition pour 0.001 USD.

Plus globalement, les systèmes informatiques modernes sont composés de sous-systèmes interconnectés entre eux au travers de leur API. Par exemple, notre système de pointage : une application frontend PWA qui va appeler une API backend REST, qui va à son tour appeler l’API d’IA d’Amazon !

Chez HEI, nous familiarisons nos étudiants à ces systèmes API-centric. Nous enseignons les façons d’intégrer quelques types d’API. Au-delà, nous enseignons les concepts métiers que ces API modélisent : il ne s’agirait surtout pas d’invoquer AWS Rekognition sans comprendre la nature probabiliste de son verdict !

Un aperçu dans ce sujet de l’UE « EL 1 – Introduction aux écosystèmes logiciels ».

Quelques mathématiques dans l’informatique

La programmation a ceci de particulier qu’à ses débuts il n’était pratiqué que par des mathématiciens, mais que désormais il est tout à fait possible de construire des systèmes fonctionnels sans avoir la bosse des maths. C’est une excellente chose, au moins parce qu’on a ainsi rendu l’informatique accessible à beaucoup plus de personnes.

Cela étant, les mathématiques sont toujours là. Omniprésentes. Au détour d’un problème d’arrondi dans les nombres flottants utilisé par Javascript. Derrière la disponibilité 99.9% d’un cluster de machines sur AWS. À la base de ce qui fait l’efficacité des recherches dans les index de bases de données.

Chez HEI, nous ne formons pas des mathématiciens. Certes. Mais nous tenons à ce que nos étudiants ne réduisent pas l’informatique à une succession de mot clés magiques à invoquer, sans comprendre les grandes idées derrière.

Un aperçu dans ce sujet de « THEORIE 1 – Mathématiques de l’informatique ».