Apprenti But 2Ème et 3Ème Année - Informatique Réalisation d'Applications Conception Développement Validation H/F - CNRS
- Alternance
- CNRS
Les missions du poste
L' apprenti-e Développeur-euse fullstack aura pour mission de concevoir, développer et optimiser des modules web pour valoriser les bases de données de recherche en paléoclimatologie (l'étude des climats passés) hébergées à l'IPSL. L'objectif est que l'apprenti-e se forme et se perfectionne aux technologies web en réalisant des applications web pour la distribution, la manipulation et la visualisation de données de recherche, travaux qui répondent à un fort besoin de la communauté scientifique en paléoclimatologie.Les principales missions de l'apprenti-e développeur-euse fullstack seront les suivantes:1. Développement d'applications web pour la distribution, la manipulation et la visualisation de données de recherche en paléoclimatologie : Analyse du logiciel existant: Analyser l'architecture et le fonctionnement du logiciel existant avec l'aide de l'équipe et de la documentation fournie. Analyse des besoins : Collaborer avec les chercheurs, les utilisateurs pour comprendre leurs besoins. Identifier les fonctionnalités nécessaires pour les développements web à réaliser. Conception : Concevoir des solutions et nouvelles fonctionnalités en tenant compte des exigences de sécurité, de performance et d'interopérabilité, et de la compatibilité avec le logiciel existant. Développement frontend et backend : Implémenter les interfaces utilisateurs (frontend) et la logique métier (backend) des applications en utilisant des langages et des frameworks appropriés. Tests et débogage : Effectuer des tests unitaires et d'intégration pour garantir le bon fonctionnement de l'application. Identifier et résoudre les éventuels problèmes de manière proactive. Documentation : Rédiger des documentations détaillées expliquant le fonctionnement des fonctionnalités développées.2. Optimisation des performances : Analyse des performances et optimisation du code : évaluer les performances des applications en identifiant les zones des applications susceptibles d'être optimisées; réviser le code existant pour identifier et mettre en oeuvre des améliorations en termes d'efficacité, de rapidité d'exécution.3. Sécurité des données : Mise en oeuvre des meilleures pratiques : Utiliser des pratiques de codage sécurisées pour éviter les vulnérabilités; mettre en place des mécanismes d'authentification et d'autorisation appropriés. Conformité aux normes : S'assurer que le développement est conforme aux normes de sécurité et de confidentialité spécifiques au CNRS.4. Interopérabilité : Standardisation des formats de données : Travailler sur l'adoption des format de données standard (notamment le format Linked PaleoData - LiPD) pour faciliter l'échange des données avec d'autres laboratoires ou institutions autour de la communauté de recherche en paléoclimatologie. Développement d'API : Concevoir et mettre en oeuvre des nouvelles interfaces de programmation d'applications (API) permettant l'accès aux données à partir d'autres systèmes. Tests d'interopérabilité : Effectuer des tests pour garantir que les modules développés peuvent interagir de manière fluide avec d'autres systèmes.5. Collaboration avec les utilisateurs : Réunions de suivi : Participer à des réunions régulières avec les chercheurs pour comprendre leurs nouveaux besoins et discuter des progrès réalisés. Formation : Fournir une formation aux utilisateurs finaux, en particulier aux chercheurs, sur l'utilisation des outils développés. Collecte de retours : Recueillir les retours des utilisateurs finaux pour identifier les points d'amélioration et ajuster les développements en conséquence.6. Documentation exhaustive : Documentation du code : Rédiger des commentaires clairs dans le code source pour faciliter la compréhension et la maintenance par d'autres développeurs. Documentation technique : Préparer une documentation technique détaillée expliquant l'architecture, les décisions de conception et les dépendances. Manuels d'utilisation : Créer des manuels d'utilisation destinés aux utilisateurs finaux pour garantir une utilisation efficace des applications développées.7. Veille technologique: Surveillance des tendances, évaluation des nouvelles technologies : Évaluer la pertinence des nouvelles technologies pour les intégrer dans les développements existants, en tenant compte des avantages potentiels pour les autres services du laboratoire. Participation à des événements : Assister à des conférences ou à des séminaires liés aux sujets techniques et scientifiques en relation au programme de formation.