Description
Merci de bien lire la description de fonction en entier avant de postuler
Environnement de travail
La Police Judiciaire Fédérale est une police spécialisée, principalement chargée de la lutte contre la criminalité organisée, sous toutes ses formes. Elle constitue l’une des trois directions générales de la police fédérale et concentre les dossiers d’enquêtes relatifs à des domaines tels que la cybercriminalité, le terrorisme, le grand banditisme, le trafic de drogue, et bien d’autres encore. Elle fournit un appui et une expertise à l’ensemble de la police intégrée, ainsi qu’à ses partenaires nationaux et internationaux.
Au sein de cette direction, se trouvent les ressources opérationnelles affectées aux opérations de police judiciaire, à la lutte contre la criminalité grave et organisée, aux unités spéciales, ainsi qu’aux opérations de police technique et scientifique.
Description de la fonction
Dans un premier temps, vous contribuerez à la maintenance, à la migration de fonctionnalités et à la stabilisation d’une application « Legacy », de type client Windows, largement déployée au sein de la police fédérale pour la gestion des enquêtes et la rédaction de procès-verbaux. Cette phase est prévue pour une durée de 4 à 6 mois.
Par la suite, vous deviendrez l’un des acteurs clé d’une nouvelle initiative de développement visant à migrer vers une solution Web innovante et répondant à ce besoin opérationnel. Cette nouvelle solution sera basée sur les technologies les plus modernes en matière d’applications web, avec un socle technologique reposant sur une architecture micro services, micro frontends, containerisée, hautement disponible et scalable.
L’ensemble sera développé selon les méthodes agiles, et plus particulièrement Scrum.
Missions principales
Durant la première phase de votre mission, vous serez amené à :
· Prendre connaissance de l’existant et proposer des suggestions techniques visant à stabiliser certaines parties de l’application Legacy.
· Migrer des fonctionnalités présentes dans une autre solution vers cette application, en assurant la compatibilité avec le même socle technologique.
· Réaliser l’intégration des fonctionnalités migrées avec les autres modules de l’application ainsi qu’avec les systèmes externes pour lesquels une collecte ou un envoi de données est nécessaires.
· S’assurer que l’application « Legacy », reste compatible avec les prochaines versions de Windows et que son comportement soit stable lors de l’exécution.
Durant la seconde phase de votre mission, vous jouerez un rôle clé dans l’implémentation d’une nouvelle solution technique basée sur une approche Web et responsive.
Plus particulièrement, selon votre profil, vous serez amené à :
· Participer à l’implémentation des MicroServices, à la mise en place de la communication interne (entre MicroServices) ainsi qu’avec les systèmes externes.
· Contribuer à l’implémentation des interfaces utilisateurs selon une approche MicroFrontend, et assurer la communication avec les MicroServices
· Implémenter des tests unitaires et des tests d’intégration, tant du côté Backend que du côté Frontend.
· Intégrer les design fournis par le UX/UI Designer dans les interfaces utilisateurs
· Versionner votre code source, générer des pull requests et effectuer des review du code de vos collègues avant de l’intégrer dans la branche principale
· Modéliser la base de donnée selon une approche « code first » et réaliser les migrations nécessaires
· Mettre en place des pipelines de déploiement pour les applications et les services.
· Implémenter des pipelines de déploiement d’infrastructure (IaC)
· Travailler de manière agile, en vous concentrant sur les tâches planifiées et en respectant les délais
Profil Recherché
Vous êtes titulaire d’un baccalauréat en informatique (au minimum) et justifiez de plusieurs années d’expérience dans une fonction similaire.
Vous possédez de solides connaissances en .NET (C#), appliquées à la mise en place de microservices. Vous êtes également capable d’installer et de configurer une base de données (PostgreSQL), ainsi que d’en gérer les connexions via Entity Framework, en adoptant une approche “code first”.
Vous êtes en mesure de concevoir et d’implémenter des API REST ou gRPC, et de déployer une architecture « event driven » à l’aide de message brokers tels que RabbitMQ.
Vous savez développer une application web de type SPA selon une architecture Micro-Frontend, en utilisant Angular et Module Federation.
Vous maîtrisez les mécanismes d’authentification via OpenID Connect et O365, tant pour les services backend que pour les applications frontend.
Vous avez une expérience confirmée en CI/CD et dans la mise en place de pipelines de déploiement avec GitLab. Vous maîtrisez GIT et êtes familier avec les concepts de branches, de pull requests et de code reviews.
Vous avez l’habitude de travailler en environnement agile, selon la méthodologie Scrum, et êtes capable de vous adapter rapidement à un changement d’orientation technique en cours de projet, voire à une technologie que vous ne maîtrisez pas encore. Vous êtes persévérant, orienté solution, et vous vous intégrez facilement dans une équipe aux profils et expériences variés.
Vous maîtrisez l’anglais, ainsi qu’une des deux langues nationales. La connaissance active d’une langue nationale et passive (au minimum) de l’autre constitue une réelle plus-value.
La connaissance de l’environnement Police, et plus particulièrement de la Police Judiciaire Fédérale, est un atout important.
Une connaissance en Delphi et en développement d’application Windows constitue une plus-value importante.
Une connaissance en cryptographie constitue également une plus-value.
Technologies
Architecture : Microservice, Microfrontend et Clean Architecture
Base de données :PostgreSQL
Authentification : OpenID et O365
Développement Backend : .NET 8 (C#), EF CORE, Tests Unitaires, Tests d’intégrations
Développement Frontend : Angular 18, Module Federation, NXJS, RXJS, Tests Unitaires, Tests d’intégrations, Prime NG, HTML & CSS
API et Communication : Rest API, gRPC, SignalR, Rabbit MQ, Mass Transit
Devops : Gitlab, CI/CD, GIT, Pulumi (plus-value), Kubernetes (base), Redis
Gestion de projet : Méthodologie Agile , Scrum
Autre : Delphi
Soft Skils
Adaptabilité : Pouvoir s’adapter à un changement de technologie ou de stratégie
Persévérance : Ne pas abandonner à la moindre difficulté
Esprit d’équipe : S’intégrer dans la vision de l’équipe et raisonner de manière collective
Autonomie : Pouvoir travailler seul une fois que les choses sont alignées avec l’équipe
Curiosité technique : Ne pas rester cantonné dans les choses que l’on connaît
Créativité : Sortir des sentiers battus pour proposer des solutions originales
Orientation solution : Détecter les problèmes mais surtout, proposer des solutions
Facilité d’intégration : S’intégrer facilement à un nouvel environnement
Communication : Savoir communiquer facilement et dès que cela s’avère nécessaire