Compétences attestées :
Organiser et mettre en place un système de veille, automatisé ou non, sur l’état de l’art du domaine et sur ses évolutions matérielles et technologiques afin d’optimiser ses pratiques / mettre à jour ses connaissances ou bien répondre à une problématique spécifique Analyser une demande en développement informatique afin d'identifier les utilisateurs, les différents besoins, le contexte de l’organisation et ses contraintes techniques, matérielles, budgétaires et réglementaires (dette technique, connaissance métier, etc.). Le cas échéant, rédiger un document de cadrage pour validation auprès du commanditaire Traduire les besoins implicites et explicites en fonctionnalités afin de structurer et de préparer le développement de la solution informatique Concevoir et représenter visuellement la solution informatique, à l’aide des outils de conception et de modélisation adaptés et en cohérence avec les besoins, le contexte et les contraintes, afin d’en faciliter son développement Rédiger le cahier des charges des spécifications techniques et fonctionnelles (ou son équivalent) afin de valider le développement informatique Présenter la solution informatique aux parties prenantes, à l’aide des supports adéquats, et argumenter si besoin les choix retenus Planifier le projet de développement informatique, à l’aide d’une méthodologie de gestion de projet adaptée, dans le respect des bonnes pratiques et en prenant en compte les contraintes client Sélectionner, installer et paramétrer l’environnement de travail, en fonction de la nature du projet à développer, à l’aide des outils et applications nécessaires afin d’organiser le workflow et le travail en mode collaboratif Concevoir des interfaces utilisateurs accessibles, respectant les principes de sécurité, d'ergonomie et de navigabilité, en vue d'une utilisation compatible avec les différents écrans et navigateurs Structurer, transformer et traiter les données, selon les règles métier (algorithmes) nécessaires au fonctionnement de la solution, afin de garantir la persistance des données Assurer les échanges de données entre les différents modules de la solution à l’aide des requêtes adaptées Collaborer lors de la phase de développement, auprès des différents interlocuteurs, selon la fréquence définie et le format adapté, afin de veiller à la diffusion et au partage des informations et du code. Définir et créer des composants d'interfaces dynamiques, responsives et compatibles aux différents terminaux, les assembler afin de construire des interfaces utilisateurs interactives, à l’aide des outils et langages de programmation adaptés Intégrer des évènements complexes (exemples : interactions composants / BDD) au sein des interfaces utilisateurs, à l’aide des outils et langages de programmation adaptés Mettre en place un système de connexion sécurisée (authentification), dans le respect des droits d’accès, afin de faciliter l’accès aux données pour les utilisateurs Créer et structurer une base de données, à partir d’un modèle défini, afin de permettre le bon fonctionnement de la solution Interroger une base afin d’en extraire les données demandées, selon le format d’échange et le mode de récupération adapté, à l’aide des requêtes SQL / no SQL, des scripts et/ou des lignes de commandes Transformer et mettre en forme les données brutes afin de les conserver de manière sécurisée, à l’aide des requêtes SQL / no SQL, des scripts et/ou des lignes de commandes Créer une API afin de communiquer avec la base de données, à partir de requêtes CRUD automatisées permettant la sauvegarde et la restauration des données Créer et exécuter des tests manuels et automatisés afin de garantir la conformité et la non régression de la solution informatique ou de l’un de ses aspects Corriger les comportements inattendus afin de garantir la disponibilité, la qualité, la sécurité et la performance de la solution Établir et formaliser les différentes documentations techniques et utilisateurs, dans un formalisme adapté, afin de garantir la bonne utilisation et la bonne évolution de la solution informatique Optimiser la performance de la solution informatique, à l’aide des outils et méthodes de mise à jour et d’automatisation des changements de code, afin de garantir la qualité et la fluidité de la solution et de l’aligner aux standards de développement Communiquer le code de la solution aux parties prenantes concernées, en vue de sa mise en production selon une approche CI (intégration continue)