Compétences attestées :
Analyser la demande initiale d’un client interne ou externe, afin de répondre de façon adaptée aux besoins exprimés, pour son domaine de compétences, dans le cadre d’un projet d’application (web, hybride, mobile ou desktop). Apporter son expertise technique, notamment en conseillant un client pour l’expression détaillée de son besoin d’application (web, hybride, mobile ou desktop) et la rédaction de tout ou partie de son cahier des charges fonctionnel. Identifier les caractéristiques d’un projet d’application (web, hybride, mobile ou desktop), en termes de public utilisateur, besoins de référencement, sécurité, délais, budget et autres contraintes, afin d’élaborer la planification générale du projet, en se coordonnant avec les différentes parties prenantes. Travailler en mode agile, selon une méthode de gestion de projet adaptée, afin que le projet soit structuré et organisé selon un ensemble de valeurs, de principes et de pratiques communes à l’équipe impliquée. Mettre en œuvre un environnement de développement collaboratif adapté à un projet d’application (web, hybride, mobile ou desktop), afin d’optimiser le temps de développement, le transfert de compétences auprès de ses pairs et la qualité logicielle. Concevoir une ou plusieurs maquettes « wireframe » (maquette fonctionnelle), en utilisant un outil dédié, afin de fournir l’ébauche d’une application à un client/ maître d’ouvrage. Traduire des besoins client exprimés dans un cahier des charges fonctionnel, sous forme de spécifications techniques de besoin (STB), afin de constituer les dossiers de conception d’un projet d’application (web, hybride, mobile ou desktop). Modéliser une application (web, hybride, mobile ou desktop), afin d’abstraire la réalité, de déterminer l’architecture logicielle de l’application et d’obtenir une vision globale de celle-ci. Concevoir l’architecture des bases de données d’une application (web, hybride, mobile ou desktop), afin de représenter la structure et la logique de stockage de celles-ci, ainsi que la couche de persistance (sauvegarde et restauration des données), garantissant au client la gestion des informations nécessaires à son activité. Déterminer l’architecture logicielle d’une application (web, hybride, mobile ou desktop) à partir des dossiers de spécifications fonctionnelles et techniques, afin d’être en adéquation avec le niveau de qualité et de gestion des coûts attendu. Déterminer les moyens techniques et technologiques permettant d’assurer le respect des lois, normes et règlements (CNIL , RGPD ) applicables aux données traitées et stockées dans une application, afin de les implémenter en phase de développement, et d’être en mesure de prévenir tout risque juridique en la matière. Proposer des solutions alternatives et/ou innovantes, issues de son activité de veille métier, afin de contribuer à l’atteinte de la promesse de valeur, ainsi qu’à la résolution de problèmes, lors d’un projet d’application (web, hybride, mobile ou desktop). Concevoir l’interface utilisateur d’une application (web, hybride, mobile ou desktop), afin qu’elle soit attrayante et fonctionnelle pour tous les utilisateurs, en conformité avec les maquettes précédemment validées. Sélectionner les éléments graphiques d’une application de telle façon qu’ils représentent l’identité visuelle du client et respectent sa charte graphique, afin de véhiculer l’image que le client souhaite transmettre. Mettre en œuvre l’expérience utilisateur souhaitée dans la partie front-end d’une application (web, hybride, mobile ou desktop), en analysant et optimisant le parcours utilisateur, afin de le rendre le plus fluide et efficace possible, dans le respect des pratiques d’accessibilité à tous les publics. Utiliser un ou plusieurs langages de programmation spécifiques au développement front-end, pour produire un code qui satisfasse aux exigences qualité, sécurité et d’éco-conception d’une application (web, hybride, mobile ou desktop). Consommer une API de manière sécurisée, afin d’intégrer des sources de données et des services tiers, au sein d‘une application (web, hybride, mobile ou desktop), en sélectionnant un format d’échange de données adapté aux de l’application et à son environnement. Tester la partie front-end d’une application (web, hybride, mobile ou desktop) d’un point de vue fonctionnel et technique, afin de garantir sa conformité vis-à-vis des spécifications, l’absence de dysfonctionnements et d’assurer la non-régression des composants implémentés. Industrialiser le développement de la partie front-end d’une application (web, hybride, mobile ou desktop), en automatisant notamment les processus d’assurance qualité, afin d’optimiser les ressources et délais nécessaires à la phase projet correspondante. Améliorer les performances SEO (Search Engine Optimization)/ référencement naturel et marketing d’une application (web ou hybride), en prévoyant les outils de mesure et de suivi de ces performances, afin de générer le volume et la qualité d’activité souhaitée par le client sur l’application. Développer la couche de persistance d’une application (web, hybride, mobile ou desktop), selon l’architecture prévue, afin que les bases de données et systèmes de cache soient performants et sécurisés. Utiliser un ou plusieurs langages de programmation spécifiques au développement back-end, pour produire un code qui satisfasse aux exigences qualité, sécurité et d’éco-conception d’une application (web, hybride, mobile ou desktop). Implémenter un système de paiement et une stratégie de monétisation, afin de permettre une activité de commercialisation via l’application développée, dans le respect des contraintes légales correspondantes. Développer une API sécurisée, afin de permettre à des services tiers de consommer des données produites par une application au travers de formats ouverts. Tester la partie back-end d’une application (web, hybride, mobile ou desktop), d’un point de vue fonctionnel et technique afin de garantir sa conformité vis-à-vis des spécifications, l’absence de dysfonctionnements et d’assurer la non-régression des composants implémentés. Industrialiser le développement de la partie back-end d’une application (web, hybride, mobile ou desktop), en automatisant les processus d’assurance qualité et d’optimisation technique, pour préparer le déploiement de l’application et garantir sa mise en production. Produire la documentation technique d’une application (web, hybride, mobile ou desktop) et alimenter une base de connaissances, afin de capitaliser l’information et d’effectuer un transfert de compétences auprès de ses pairs, en vue de la maintenance de l’application. Administrer l’enregistrement et la configuration de noms de domaines et de certificats de sécurité pour des applications web, hybride ou mobile, pour fournir un accès pérenne et sécurisé aux applications concernées. Sélectionner une plateforme d’hébergement adaptée aux exigences techniques d’une application, en prenant en compte les exigences économiques, qualitatives et réglementaires, afin que celle-ci reste adaptée aux besoins du client dans la durée. Administrer des services d’hébergement dans un environnement dédié, cloud ou conteneurisé, en appliquant les bonnes pratiques de sécurité, afin de maintenir une continuité de service, conforme au niveau de qualité attendu. Mettre en œuvre un système de déploiement automatisé d’une application pour différents types d’hébergement, en respectant les bonnes pratiques DevOps, pour être en mesure d’assurer une livraison en continu. Mettre en œuvre un système de supervision d’une application et de services d’hébergement, définir des sondes et des alertes (état des services et sécurité), pour détecter, diagnostiquer et analyser l’origine de bugs, problèmes techniques, et failles de sécurité puis déployer des mesures correctives dans des délais adaptés.