Développer des interfaces utilisateur
Description de la compétence – processus de mise en œuvre
A partir du dossier de conception, développer les interfaces utilisateur sécurisées en tenant compte du
type d’utilisation de l’application, de la charte graphique et de la règlementation en vigueur.
Documenter le code y compris en anglais.
Concevoir un jeu d’essai fonctionnel et réaliser les tests unitaires des composants.
Déterminer une démarche structurée de résolution de problème en cas de découverte d’un
dysfonctionnement lors de l’analyse des résultats des tests unitaires.
Réaliser les tests de sécurité.
Réaliser une veille technologique sur les évolutions techniques des interfaces utilisateur.
Contexte(s) professionnel(s) de mise en œuvre
Cette compétence s’exerce seul ou en équipe, à partir de la maquette du dossier de conception et à l’aide
de l’environnement de développement défini. La démarche de développement est la même, que ce soit
pour une interface web, mobile ou desktop, un état ou tout autre interface utilisateur.
Critères de performance
L’interface est conforme au dossier de conception
L’interface s’adapte au type d’utilisation de l‘application et notamment à la taille, au type et à la disposition du support
La charte graphique est respectée
La règlementation en vigueur est respectée
Le code est documenté
Les tests unitaires ont été réalisés pour les composants concernés
Le jeu d’essai fonctionnel est complet
Les tests de sécurité sont réalisés
La documentation technique des interfaces utilisateur est comprise, en langue française ou anglaise
(niveau B1 CECRL pour l’anglais)
La démarche structurée de résolution de problème est adaptée en cas de dysfonctionnement
Le système de veille permet de suivre les évolutions technologiques et les problématiques de sécurité en
lien avec les interfaces utilisateur
Savoir-faire techniques, savoir-faire organisationnels, savoir-faire relationnels, savoirs
Coder dans un langage de programmation, en adoptant un style défensif
Utiliser un langage de présentation HyperText Markup Language (HTML), Cascading Style Sheets (CSS),
Extensible Application Markup Language (XAML), EXtensible Markup Language (XML), …
Gérer les événements de l’interface utilisateur
Utiliser un service distant (Representational State Transfer Application Program Interface (API Rest)
Adapter l’interface à la taille, au type et à la disposition du support
Utiliser les bibliothèques de composants graphiques
Fluidifier l’interface en utilisant des mécanismes asynchrones de type asynchronous JavaScript and XML
(AJAX), task, thread …
Documenter le code, y compris en anglais (niveau B1 CECRL pour l’anglais)
Structurer sa démarche de résolution de problème en cas de dysfonctionnement de l’interface
Utiliser les outils d’analyses statiques (par exemple, ceux intégrés au compilateur) et dynamiques (par
exemple débuggeur) de code
Mettre en place un système de veille technologique permettant de suivre les évolutions technologiques et les problématiques de sécurité en lien avec les interfaces utilisateur
Prendre en compte les contraintes des applications multilingues
Respecter les normes d’accessibilité requises pour le projet
Respecter la charte graphique du cahier des charges
Mettre en place en fonction du projet les mentions légales liées au Règlement Général sur la Protection
des Données (RGPD)
Valider systématiquement les entrées
Gérer dans leur intégralité les erreurs et les exceptions, pour éviter les vulnérabilités.
Utiliser les normes de codage du langage
Tester les composants graphiques
Planifier et suivre les tâches de développement
Adapter l’interface aux exigences du client, en respectant la législation en vigueur
Participer à une réunion de travail avec les utilisateurs
Connaissance de l’architecture du web et des standards de l’organisme de normalisation W3C
Connaissance des normes ECMAScript et du Document Object Model (DOM) du World Wide Web
Consortium (W3C)
Connaissance des principales failles de sécurité des applications web (Cross-Site Scripting (XSS), Cross-
Site Request Forgery (CSRF)…) et de leurs parades
Connaissance d’un guide de tests reconnu, par exemple l’Open Web Application Security Project
(OWASP) pour le web
Connaissance du guide de recommandations de mise en oeuvre d’un site Web de l’agence nationale de la
sécurité des systèmes d’information (ANSSI)
Connaissance de la règlementation relative à l’accessibilité du Référentiel Général d’Amélioration de
l’Accessibilité (RGAA)
Connaissance des règles ergonomiques issues de l’expérience utilisateur (simplicité, minimalité des
affichages et des fonctionnalités)
Connaissance des règles de référencement pour les interfaces web
Connaissance des concepts de la programmation orientée objet
Connaissance des bonnes pratiques pour tous les types d’interface et patrons de conception (UX-UI
design)
Connaissance des règles de base de la propriété intellectuelle et des différents types de licences
logicielles
Connaissance des formats de données (fichiers JavaScript Object Notation (JSON), XML, …)
Connaissance du vocabulaire professionnel technique en français et en anglais
Connaissance des outils d’analyses de code statiques (par exemple, ceux intégrés au compilateur) et
dynamiques (par exemple débuggeur)
Connaissance des principales sources d’information sur les évolutions technologiques liées aux interfaces
utilisateur