Réflexions sur la Tech, accessibilité et architecture au cœur du DevFest Lille 2023
Le 26 mai dernier, cinq de nos collaborateurs ont assisté aux conférences du DevFest Lille sur des sujets Web, Mobile, Cloud, DevOps, Big Data et IA.
Huit conférences portées sur la Tech en général, l’accessibilité et l’architecture ont retenu leur attention. Estelle, Gabriel, Maxime, Vincent et Gauthier partagent ce qu’ils ont appris et retenu de ces moments de partage.
Sortir de l’influence des Big Tech
Cette keynote d’ouverture, animée par Alizée Colin, explique comment les grandes entreprises technologiques influencent la conception numérique. Selon Alizée, les utilisateurs sont fortement influencés par des acteurs majeurs tels que Netflix et la Fnac, qui font du profit grâce à l’exploitation et la collecte de datas.
Mais comment cette influence se manifeste-t-elle ?
D’une part, par le biais de techniques cognitives telles que la conception de persuasion, qui utilise des schémas trompeurs et des incitations indirectes, aussi appelés dark patterns.
D’autre part, grâce à la conception de l’attention, en utilisant des accroches ou des techniques d’hameçonnage, réunies sous le terme de captologie.
Le design d’attention, théorisé par Nir Eyal dans son livre ‘Hooked’ comprend quatre étapes nécessaires pour s’implanter dans le cerveau de l’utilisateur : Déclencheur (par exemple notification) / Action (par exemple clic) / Investissement (par exemple scroll infini) / Récompense.
Cette influence et ces différentes techniques peuvent engendrer de réels problèmes chez les utilisateurs, comme de l’addiction, de l’anxiété ou de la perversion (c’est-à-dire une influence sur la perception de la réalité comme avec la dysmorphie sur Snapchat).
Alors, comment remédier à cela ?
En tant que concepteurs, il est possible de se libérer de cette influence en suivant la règle des 3 U :
- être utile — répondre à un besoin,
- être utilisable — être inclusif,
- être utilisé.
Et cela nécessite également d’oser questionner le design actuel en se posant les bonnes questions. Telles que : Les droits fondamentaux des utilisateurs sont-ils respectés ? Mon service peut-il être détourné pour être utilisé à mauvais escient ? Ma fonctionnalité a-t-elle un sens ? Quelle est la fréquence des déclenchements ? La satisfaction utilisateur est-elle prise en compte dans mes indicateurs de suivi ? L’utilisateur a-t-il assez d’autonomie sur la configuration, comme sur la gestion des notifications par exemple ?
L’expérience utilisateur doit être fluide, rapide et prendre en compte les habitudes, les comportements et les attentes des utilisateurs finaux lors de la conception d’un nouveau produit.
En tant que concepteurs, et également utilisateurs potentiels, il y a une prise conscience à avoir sur sa responsabilité dans la conception d’un numérique responsable.
Le documentaire ‘Derrière nos écrans de fumée’ et le livre ‘Pour un rétro-design de l’attention’ de La FING, sont d’excellentes ressources pour creuser davantage le sujet.
Les reconvertis : Cette nouvelle vague de profils dans le dev
Helvira Goma revient sur son parcours de reconversion, du monde de la biologie, à Office Manager puis Software Engineer expérimentée.
Elle s’engage dans son projet de reconversion malgré les réticences de son entourage et le risque financier de reprendre des études pour un nouveau métier.
Elle met alors tout en place pour se lancer et démarre une formation intense dans un boot camp de 3 mois. Lors de sa recherche d’emploi, elle se voit ensuite discriminée en fonction de son genre. Mais elle persiste et signe un premier contrat. Par la suite, elle rencontre à nouveau de nombreux obstacles durant son parcours. Ce qui la fait douter de ses choix de reconversion.
Mais grâce à toutes les personnes qu’elle a rencontrées et qui l’ont soutenu, elle persévère et s’épanouit aujourd’hui dans l’univers du développement.
C’est ce qui la poussé à créer la communauté Motiv’Her pour aider les personnes reconverties ou en projet de reconversion dans le monde de la Tech.
Réfléchir avant de cliquer : Comprendre les risques liés à vos données personnelles en ligne
Mélanie Gerard est ingénieure en sécurité et ancienne membre de la police nationale au service technique et scientifique. Elle souhaite sensibiliser aux dangers du partage de ses données personnelles en ligne et au moyen de s’en prémunir.
Quels sont les risques ?
Chaque jour, plus de 3 milliards d’images sont partagées sur Snapchat et plus de 2 milliards de photos sont publiées sur Facebook. Or la moitié des photos d’enfants retrouvées sur des sites pédopornographiques proviennent des publications de leurs parents sur les réseaux sociaux.
Il y a également d’autres risques comme le cyberharcèlement, l’usurpation d’identité, la fraude financière, etc.
Et pour précision, il n’y a pas seulement les données personnelles (type nom, prénom, …) qui sont sensibles, mais également les données que nous pouvons partager lors de la réalisation d’un quiz par exemple, et qui permettent de mieux nous connaître. Toutes ces informations réunies permettent de faire de la psychographie, donc de déduire un profil comportemental et d’influencer des opinions ou des décisions (Cf le scandale Cambridge Analytica).
Ces problématiques sont plus que jamais d’actualité avec un cours du prix des données qui a dépassé celui du pétrole. D’autant plus que l’OSINT (Open Source INTelligence) permet aujourd’hui facilement la collecte d’information via les données publiques mises à disposition sur Internet. Elle permet aussi d’en faire des déductions, comme sur la localisation d’une personne par exemple.
Il est donc important d’être informé de ces risques, d’être alerte et vigilant.
Comment se protéger, en particulier sur les réseaux sociaux ?
- Configurer des mots de passe uniques et forts sur chaque compte,
- Activer la double authentification, voire la MFA (Multiple Authentification),
- Supprimer les comptes de réseaux inutilisés,
- Vérifier les connexions aux différents comptes,
- Vérifier les permissions données aux différentes applications et se poser la question de la légitimité des demandes,
- Vérifier ses paramètres de confidentialité sur ses réseaux,
- Télécharger une copie de nos données sur les réseaux,
- Utiliser la plateforme Pharos si l’on est témoin d’un élément illégal (cyberharcèlement, contenus inappropriés, …),
- Vérifier les informations disponibles sur soi dans les moteurs de recherche et éventuellement demander leur suppression,
- Et attention aussi à nos déchets ! 80% des poubelles franciliennes contiennent des informations personnelles sensibles. Donc déchirer les courriers, papiers, cartons avant de les jeter.
Pour creuser davantage ce sujet :
- Le documentaire ‘The Great Hack’,
- Les sites de l’ANSSI, cybermalveillance.gouv.fr et de la CNIL.
L’accessibilité dans l’écosystème Apple
Il existe différents types de handicaps : moteurs, auditifs, visuels, mentaux et polyhandicaps.
Le handicap peut également être visible, invisible, temporaire, permanent ou situationnel. En effet, nous oublions parfois que nous pouvons être confrontés à un handicap temporaire. Comme se blesser au doigt en cuisinant, ce qui nous place temporairement dans une situation de handicap.
Rien qu’en France, environ 12 millions de personnes sont en situation de handicap, soit environ 20% de la population. Et 1 personne sur 2 est amenée à vivre une situation de handicap au cours de sa vie professionnelle.
L’accessibilité numérique consiste à rendre possible l’accès à l’information et aux fonctionnalités numériques à toute personne peu importe son contexte d’utilisation.
Il s’agit d’un principe d’égalité et d’obligation citoyenne.
D’ailleurs avec la nouvelle loi sur l’accessibilité, à partir de 2025, les entreprises réalisant un chiffre d’affaires de 6 millions d’euros ou plus seront soumises à des contrôles. Il est donc essentiel que les développeurs prennent conscience des enjeux de l’accessibilité numérique.
Les sites Web sont composés de textes, d’images, parfois de vidéos et de sons, et il est important de rendre l’information claire et explicite pour tous. Les applications mobiles sont également de plus en plus prépondérantes dans la vie des utilisateurs et elles sont tout autant concernées par l’accessibilité.
Chez Apple, l’accessibilité est un sujet de préoccupation ancien, considéré dès les premières versions du Macintosh.
Jihène Mejri, partage une liste de bonnes pratiques et des différents outils Apple qui peuvent être utilisés dans la conception et l’utilisation des applications iOS :
- Privilégier l’utilisation de composants natifs, pour éviter de devoir faire du développement complémentaire.
- Il faut aussi veiller à permettre l’utilisation du zoom, de l’augmentation de la taille de police, de l’inversion de couleur, de la modification du contraste, …
- VoiceOver permet de lire le contenu : texte, libellé de boutons, etc. Il peut être activé via Siri.
Il navigue en décrivant l’écran de haut en bas. Cela implique donc de développer des applications en appliquant correctement la syntaxe pour que VoiceOver puisse naviguer convenablement.
Mais aussi de gérer les priorités de navigation selon l’ordre des éléments : nom produit, description produit, prix, proposition d’ajout panier… Cela s’applique au contenu de l’application, mais aussi à la bannière de cookies ou tout autre élément périphérique. - L’ajout d’haptics simples et efficaces, comme l’activation de vibrations ou d’un signal sonore pour indiquer une validation ou une erreur.
- La solution switchControl permet d’intégrer différents appareils avec les produits Apple (clavier adapté, assistant vocal, commande manuelle spécifique, …). Ils peuvent permettre de remplacer certaines gestuelles, comme le swipe ou le scroll, par l’utilisation de la respiration, un mouvement de tête, un mouvement de langue, etc. SwitchControl nécessite toutefois de mettre en place des custom actions lors du développement. C’est-à-dire un menu contextuel qui permet de choisir simplement une action.
- Siri Shortcuts permet aussi de simplifier certaines actions, comme la réalisation d’un paiement en ligne par assistance vocale.
- Il est aussi possible d’utiliser des outils d’audit de mesure de l’accessibilité d’une application dont Xcode et Accessibility Inspector.
L’accessibilité numérique c’est permettre une utilisation démultipliée, pas uniquement pour les personnes en situation de handicap, mais selon tous les contextes d’utilisation.
Cela nécessite aussi d’être formé, de former ses collaborateurs et de sensibiliser ses clients à ces enjeux.
Pour creuser davantage le sujet :
- https://www.a11yproject.com/,
- Le site a11y-guidelines.orange.com, qui contient des guidelines sur l’accessibilité pour le web, Android et iOS,
- Des formations de l’ESN Warren Walter sur l’accessibilité pour iOS et Android.
Perdez la tête, mais pas le focus
Également sur le sujet de l’accessibilité numérique, cette conférence se concentre sur le focus clavier. Angela Ricci explique la gestion du focus et notamment l’utilisation de la touche Tabulation qui peut être présente sur des claviers adaptés pour les personnes en situation de handicap.
Il y a des utilisateurs qui ont un accès au contenu numérique uniquement par clavier (non et mal voyants, handicaps moteurs) ou qui souhaitent privilégier ce mode de navigation. Pour ces utilisateurs, il faut de ce fait bien gérer le focus. Cela revient à prendre l’utilisateur par la main pour le guider, l’emmener là où il faut.
Tout contenu ou fonctionnalité doit alors être accessible par clavier.
Par exemple, même si j’ai un formulaire, avec une bulle d’aide affichée au survol, il faut que l’utilisateur puisse y accéder, même sans souris.
Si on se demande : Qu’est-ce qui est focussable ? Tout ! Liens, boutons, contrôle de formulaire, … Pour pouvoir naviguer entre les différents éléments, il doit suffire d’utiliser la touche ‘tab’.
Pour cela, il est important de ne jamais cacher l’indication de focus, qui est un critère lors d’un audit et qui permet à l’utilisateur de ne pas se perdre.
L’attribut ‘Tabindex 1+’ est à proscrire, au profit de ‘Tabindex 0’ qui est un moyen de rendre focussable un élément HTML qui ne l’est pas de base et de l’ajouter dans le flux de navigation. ‘Tabindex -1’ permet de gérer le focus via JavaScript, pour donner le focus a un élément suite à une action de l’utilisateur.
Avec ces petits éléments, il est possible de faire des choses qui vont permettre de grandement aider un utilisateur dans le besoin sur une page web. Aussi, pour éviter que le focus reste derrière la page, il existe un attribut ‘innert’, qui permet de rendre non focussable tout une partie d’une zone HTML
Et il est conseillé de ne pas essayer de tout automatiser. Il faut plutôt tester encore et encore. Pour cela l’outil Wave peut être utile pour les tests d’accessibilité. Et ensuite se servir de ses propres expériences.
D’un modèle d’IA dans un notebook à un service en temps réel : architecturons !
Le but de cette conférence est d’expliquer comment passer d’une IA fonctionnelle en local, à une IA utilisable en production.
Marie-Alice Blete présente les différentes solutions à partir desquelles elle a pu itérer.
- Solution initiale : le Wrapper
Cette première solution consistait à mettre le modèle (l’IA) dans une API Rest (le Wrapper).
Simple et rapide à implémenter, cela reste fortement dépendant de la vitesse du modèle. De plus, il n’y a pas de réponse aux autres appels durant le traitement des appels précédents. - Solution 2 : Les files
À la solution initiale, il a été ajouté des files en entrée et en sortie du Wrapper. Ainsi les requêtes sont ajoutées à la file au besoin et traitées chacune leur tour. Problème : Si l’API a des besoins de temps de réponse maximum, cela peut ne pas fonctionner du tout. - Solution 3 : Scaling
En complément, il a été ajouté le lancement de plusieurs modèles de l’IA en parallèle et fait un traitement de la file d’entrée en simultané. La vitesse de traitement moyenne est alors supérieure, mais le temps de réponse plus lent. - Solution 4 : Séparer les entrants de l’inférence
Inférer c’est demander à l’IA de calculer ce pour quoi elle est faite.
Au lieu d’envoyer les données en même temps que la demande d’inférence, on peut envoyer les données en amont. Cela permet de calculer le résultat à l’avance, puis de donner le résultat à la demande d’inférence. Il est ainsi possible d’être bien plus rapide quand l’inférence demandée est déjà calculée. C’est d’ailleurs une technique également utilisée par Amazon.
Le versionning des APIs REST
Lorsque le développement et le versionning démarrent, une mauvaise gestion peut avoir des impacts négatifs, notamment sur la CI et sur la qualité.
Pour éviter cela, les premières choses à se demander sont :
Est-ce que j’en ai réellement besoin ? Combien de version allons-nous et pouvons-nous gérer ? Qu’est-ce qu’on versionne ? Est-ce que ma plateforme est compatible ? Ma gestion de configuration l’est-elle aussi ? Quid de la sécurité ?
On peut envisager deux démarches de versionning :
· Versionning parallèle
Elle permet de gérer des comportements différents pour des clients différents. Mais il est plus difficile de gérer les updates et cela nécessite des tests à effectuer sur chaque branche.
· Versionning en avant
Elle permet de garder une ancienne version à jour en sécurité tout en étoffant une nouvelle version. Ce qui permet d’ajouter des changements structurels sans forcer les clients trop vite.
Malgré tout, le mieux reste d’essayer de faire sans versionning, en adoptant une méthode d’évitement. Par exemple en faisant des ajouts sans changement de rupture (ajout d’un paramètre, modification du process métier, etc.)
Mais en cas de V2 ou de changement structurant (suppression d’une opération entière, changement d’un paramètre, changement de type de retour, ...) tout doit être versionné. C’est-à-dire la base de données, la configuration et les différents services. Il convient alors de versionner les changements sur les contrats de services et la couche métier. Mais il y aura toujours des impacts sur les couches plus basses.
Les écueils à éviter sont de :
- Faire le versionning dans l’API gateway ou dans le code,
- Ne pas mettre d’observabilité sur la consommation des versions,
- Ne pas communiquer sur sa stratégie de versionning.
Pour ensuite spécifier vos différentes versions, cela doit être fait via l’URL comme le font Google ou Spotify, ou via le header HTTP comme le fait Github (permet d’avoir une version par défaut). En revanche il convient de ne plus le faire via le content type (déprécié avec la Rfc 9110).
Pour vos futures API, pensez donc bien à :
- Dans un premier temps, éviter le versionning pour éviter la complexité,
- Puis identifier les changements de rupture,
- Travailler la modularité des API,
- Observer pour maîtriser les API,
- Penser le versionning de manière globale,
- Enfin communiquer !
Quarkus 3 : Nouveautés et migration
Quarkus est un framework d’application Java, conçu pour fonctionner dans un environnement de cloud conteneur. Il se base sur un certain nombre de librairies très matures, et permet d’avoir une application Supersonic et Subatomic.
Dans la version 3, on y trouve plusieurs montées de version pour : Jakarta, Hibernate ORM, Hibernate Reactive, Mutiny, … Mais aussi de nouveaux outils de développement comme : nouveau Dev UI, CLI plug-ins, support de Maven 3.9 et Gradle 8, etc.
De nouvelles extensions sont également disponibles :
- Quarkus Info : ajout d’un endroit sur /q/info pour avoir une API d’information,
- Quarkus Redis Cache : cache en back-end,
- Quarkus Elastic Java Client : support d’Elastic Search sur Quarkus,
- Quarkus Azure Fonctions : support du sdk assuré,
- Quarkiverse : organisation github qui centralise toutes les nouvelles extensions disponibles à Quarkus.
Pour mettre à jour Quarkus 3, il faut utiliser la commande quarkus update qui fera :
- Mise à jour de la version de Quarkus,
- Changement des extensions pour les passer en Jakarta,
- Modification des extensions pour certains cas,
- Mise à jour des versions des extensions de quarkiverse.
Mais bien sûr, il est conseiller de toujours lire les guides de migration.
Nous publions régulièrement des articles sur des sujets de développement produit web et mobile, data et analytics, sécurité, cloud, hyperautomatisation et digital workplace.
Suivez-nous pour être notifié des prochains articles et réaliser votre veille professionnelle.
Retrouvez aussi nos publications et notre actualité via notre newsletter, ainsi que nos différents réseaux sociaux : LinkedIn, Twitter, YouTube, Twitch et Instagram
Vous souhaitez en savoir plus ? Consultez notre site web et nos offres d’emploi.