Dans les coulisses

Team Isotopes : les Speed Demons de l'ingénierie

Dominik Bärlocher
7/5/2018
Traduction : traduction automatique
Photos: Thomas Kunz

Lorsqu'il s'agit de vitesse brute, l'équipe d'ingénierie Isotopes évolue dans un champ de tension entre l'homme, la machine et l'avenir. Ils nous donnent un aperçu de leur travail.

Damian Frizzi est assis sur les blocs de béton chauffés par le soleil devant les bureaux de digitec. Lunettes de soleil, t-shirt gris. Il semble détendu, parle lentement, plaisante de temps en temps, s'éloigne du thème. Son thème, ce sont les millisecondes, la technologie et un peu d'oracle.

Actuellement, les Isotopes travaillent sur un projet colossal : ils veulent convertir l'ensemble de la boutique.

Un regard sur l'histoire : Comment fonctionnaient les boutiques d'autrefois

Trop lent pour l'utilisateur et beaucoup trop lent pour les isotopes.

Ce que l'on appelle le rendu côté serveur a longtemps été le meilleur moyen de mettre en œuvre des pages web, car JavaScript n'était pas aussi développé qu'aujourd'hui. JavaScript, dont le but est de rendre les pages Web plus dynamiques, ne permettait cependant pas de faire beaucoup plus que des diaporamas d'images ou des widgets de sélection de dates au début du Web 2.0.

"C'est à ce moment-là que les développeurs ont changé leur fusil d'épaule", explique Damian. La puissance de calcul s'est de plus en plus déplacée du serveur vers le client, c'est-à-dire vers votre ordinateur. Les applications dites à page unique avec rendu côté client permettent d'interagir directement avec le site web sans passer par le serveur.

Damian se lance dans les explications : "Les Single Page Applications sont des applications qui reposent sur une structure HTML minimale et qui chargent des données - sur mesure pour l'utilisateur et son environnement - de manière asynchrone dans le navigateur."

.
La performance initiale est également critique. Comme l'ensemble du Document Object Model (DOM), l'architecture d'un site, est construit sur le client, il faut un certain temps pour que les données soient demandées au serveur, traitées et rendues.

"Cela peut entraîner de longs temps de chargement, surtout pour les clients ayant une faible puissance de calcul, les vieux smartphones par exemple, ou une mauvaise connexion Internet", explique Damian.

Les animations de chargement interminables se produisent lors du premier chargement de la page.

La voie isotopique

Les isotopes évoluent dans cette zone de tension entre les exigences des utilisateurs - c'est-à-dire vos exigences - et celles de la technologie. De plus, il y a Google. Le géant de la recherche a bien sûr son mot à dire, que cela plaise ou non aux Isotopes.

.
Les Isotopes se sont assis et ont expérimenté des applications à rendu universel. En d'autres termes, que ce soit un humain ou un crawler, la page a du sens et peut être lue, catégorisée et évaluée par une machine. Pour cela, la logique d'affichage doit fonctionner correctement à la fois sur un serveur et un client. Cela a ses avantages.

"Non seulement nous évitons le surcroît de travail lié au développement pour un environnement, mais nous pouvons également contrôler de manière ciblée quel contenu doit être chargé et à quel moment", explique Damian.

Pour atteindre cet objectif, il faut fondamentalement résoudre deux problèmes majeurs:

  1. Frontale universelle isomorphique : les isotopes doivent construire une frontale qui peut être traitée et rendue à la fois par un serveur et un navigateur, et déployée dans le cloud comme une unité indépendante
  1. Recharger des données : Vous devez pouvoir consommer, persister temporairement et afficher des données dans le frontend à partir de n'importe quelle interface indépendante

Après les expérimentations et la définition des exigences, des souhaits et des limites, l'équipe de Damian Frizzi passe aux choses sérieuses. Il est temps de réinventer une boutique en ligne.

Un front-end universel

"Enfin, React est très efficace. Avec un DOM virtuel et des correctifs ciblés."

Au React s'ajoute Node.js côté serveur. C'est une évidence, explique Damian. Les Isotopes peuvent ainsi programmer en JavaScript et profiter du savoir-faire existant.

.

Recharger les données

Les API, c'est-à-dire les interfaces de programme, sont la clé du succès lors du rechargement des données. Les isotopes de Damian doivent d'abord rattraper le présent.

"Actuellement, nous convertissons toutes les interfaces en API Web", dit-il. Il a du mal à réprimer un soupir. Car la transition n'est pas simple. Il en résulte une multitude d'interfaces qui doivent être demandées par le client. Pour éviter que chaque utilisateur ne doive envoyer un nombre incalculable de requêtes aux serveurs backend de digitec, nous avons opté pour une couche GraphQL entre le frontend et le backend.

La vitesse. Les isotopes la recherchent.

Damian résume le cœur de la pile technologique actuelle de digitec:

  1. JavaScript (ES2015, ES2016)
  2. Node.js
  3. React
  4. Next.js
  5. GraphQL
  6. Apollo
  7. Enzymes
  8. Jest
  9. Docker
  10. Azure
  11. Kubernetes
  12. ASP.NET Web API

De là naît un prototype, c'est-à-dire l'endroit où les choses deviennent passionnantes.

Un aperçu du prototype

"Perturbé ? Pas de problème. Regardez ce prototype", dit Damian. Selon lui, l'amélioration des performances ne sera évidente que lorsqu'on la verra.

Damian est fier : "Et c'est exactement ce que font les isotopes"
.
Le résultat du prototype sera mis en ligne prochainement.

À ce propos, Team Isotopes veut que vous sachiez que notre équipe d'ingénierie cherche à se renforcer. Si vous souhaitez nous rejoindre, consultez les postes vacants suivants :

En outre, il existe d'autres postes en ingénierie ici.

Si vous souhaitez en savoir plus sur la façon dont nous développons, consultez hier.

Cet article plaît à 49 personne(s)


User Avatar
User Avatar

Journaliste. Auteur. Hackers. Je suis un conteur d'histoires à la recherche de limites, de secrets et de tabous. Je documente le monde noir sur blanc. Non pas parce que je peux, mais parce que je ne peux pas m'en empêcher.


Informatique
Suivez les thèmes et restez informé dans les domaines qui vous intéressent.

Tech
Suivez les thèmes et restez informé dans les domaines qui vous intéressent.

Dans les coulisses

Actualités sur les fonctionnalités de la boutique, informations sur le marketing ou la logistique et bien plus encore.

Tout afficher