API Developer

Il y a 3 jours

Brussel Hoofdstad, Belgique HumanInTech Temps plein 56 000 € - 100 000 €/an

Ce que vous ferez

Un outil tiers fournit actuellement des données via une API, mais son avenir est incertain. Votre mission est de réimplémenter un sous-ensemble de cette API (ou une API très similaire) afin que les utilisateurs actuels puissent migrer avec un minimum de friction. L'API n'est pas très complexe et une certaine documentation est disponible.

L'API comporte deux parties fonctionnelles :

  • Couche de métadonnées : expose les métadonnées à l'appelant (par exemple, les structures de collecte de données)
  • Couche de soumission : permet de soumettre des données pour une collecte de données donnée et valide la soumission

La nouvelle implémentation s'appuie sur une base de données existante, qui joue deux rôles : elle est la source des métadonnées servies par la couche de métadonnées, et la destination des soumissions (les données soumises sont consommées par du code de chargement Python existant).

La sécurité est une préoccupation de conception dès le départ. Le modèle de sécurité (authentification, autorisation, transport et protection des données) peut différer de l'API actuelle et doit être défini.

Votre mission consiste à implémenter les parties critiques de l'API (périmètre à convenir au démarrage) pour démontrer qu'un remplacement compatible est réalisable. Le travail est livré avec du code de qualité production, des tests et de la documentation pour ce qui est couvert. Le livrable comprend un résumé concis de ce qui a été couvert, de ce qui reste, et de ce qui est nécessaire pour atteindre la production.

Tâches

  • Analyser l'API existante et sa documentation, et convenir du sous-ensemble à couvrir
  • Analyser la base de données et mapper ses métadonnées à ce que l'API existante expose, en identifiant les éventuelles lacunes
  • Proposer et implémenter une approche de sécurité (authentification, autorisation, gestion sécurisée des données soumises), en soulignant les différences par rapport à l'API actuelle
  • Implémenter les endpoints de métadonnées au-dessus de la base de données
  • Implémenter les endpoints de soumission, avec validation des données soumises et réponses d'erreur significatives
  • Transmettre les données soumises au code de chargement existant (ou les stocker dans le format attendu par ce code)
  • Rédiger des tests automatisés et une documentation technique concise
  • Déployer et démontrer la solution sur Ubuntu Linux
  • Rapporter les limitations, les questions ouvertes et les prochaines étapes recommandées

Ce que nous recherchons

Compétences requises

  • Python 3.12+ avec FastAPI
  • SQLAlchemy et PostgreSQL (lecture et mapping d'un schéma existant)
  • Conception d'API REST
  • Sécurité des API : authentification et autorisation (par exemple OAuth2/OIDC, JWT, clés API), TLS, validation des entrées
  • Tests automatisés (pytest)

Atouts supplémentaires

  • Polars en combinaison avec SQLAlchemy
  • uv pour la gestion des packages
  • Expérience avec des projets de compatibilité ou de migration d'API
  • Expérience dans la gestion de données sensibles (par exemple, données de santé) et exigences RGPD
  • Expérience de déploiement Linux

Compétences comportementales

  • Autonomie et capacité à travailler à partir de documentation incomplète
  • Pragmatisme : se concentrer d'abord sur les parties critiques tout en maintenant une qualité élevée sur ce qui est livré
  • Communication claire des résultats et des limitations

Langues

  • Anglais : connaissance active
  • Néerlandais et français : connaissance passive

Le contexte

Cette mission se déroule de fin octobre 2026 à fin décembre 2026. Le poste est basé à Bruxelles, avec du travail hybride. Vous travaillerez avec une base de données existante et un code Python dans un environnement du secteur public.

Vous pouvez réaliser cette mission en freelance ou en tant que salarié de HumanInTech. Même rôle, même équipe. Si vous nous rejoignez en tant que salarié, votre contrat de travail se poursuit au-delà de cette mission. À son terme, nous chercherons ensemble votre prochaine mission.

Lieu: Bruxelles, hybride

Adresse de travail: Belgique

Employeur / cocontractant: HumanInTech

Candidatures avant (heure de Bruxelles): 13 octobre 2026 à 02:00

Statut: Freelance ou salarié chez HumanInTech

Temps de travail: Temps plein

Expérience: 3–5 ans ou plus

Formation: Bachelier ou plus

Publiée le: octobre 2026