Recrutement d'un développeur SIG sur PostGIS, projections et carte web

Le développeur SIG écrit le code qui stocke, calcule et affiche des données géographiques : requêtes PostGIS, flux cartographiques, cartes web, plugins QGIS. Le niveau se voit dans la façon de traiter les coordonnées, bien avant le choix du framework JavaScript.

Recevoir la fiche complète

Mis à jour le Par l'équipe Delectus5 min de lecture

La fiche Développeur SIG : technologies, chaîne du poste, une question et la grille d'évaluation

Le poste se situe entre la géomatique et le développement. Le développeur SIG charge et nettoie des couches dans PostgreSQL et PostGIS, écrit des traitements en Python avec GDAL ou GeoPandas, publie des flux WMS et WFS avec GeoServer ou QGIS Server, et construit des cartes web avec OpenLayers, Leaflet ou MapLibre. Selon l'équipe, il développe aussi des plugins QGIS ou des scripts ArcPy. Les annonces disent développeur SIG, géomaticien développeur ou développeur cartographie web.

Les candidats arrivent par deux chemins. Un géomaticien qui a appris à coder connaît bien les projections et la donnée, parfois moins l'architecture logicielle. Un développeur web venu à la carte maîtrise son framework et confond souvent EPSG:4326 et EPSG:3857. L'entretien doit couvrir les deux côtés avec des cas concrets : une couche décalée de cent mètres, une requête de proximité qui tourne plusieurs minutes, une carte qui rame à 200 000 objets.

Avant l'entretien, fixez la part de chaque brique dans le poste : base spatiale, serveur cartographique, front, outillage QGIS ou ArcGIS. Le même titre recouvre des postes très différents, et FME, l'ETL de Safe Software, figure dans une partie des offres. Le PDF ajoute un cas de 20 minutes sur la publication d'un cadastre en carte web.

Bibliothèques, serveurs et formats du développeur SIG

PostgreSQL et PostGIS

L'extension qui ajoute à PostgreSQL les types geometry et geography, les index spatiaux GiST et plusieurs centaines de fonctions (ST_Intersects, ST_DWithin, ST_Transform). La version 3.7 est sortie fin octobre 2026. Une grande partie du travail se fait en SQL spatial, et c'est là que les écarts de niveau apparaissent le plus vite.

Systèmes de coordonnées et PROJ

Chaque donnée est exprimée dans un système de référence : WGS84 (EPSG:4326) pour le GPS, Web Mercator (EPSG:3857) pour les fonds de carte web, Lambert 93 (EPSG:2154) pour la France métropolitaine. La bibliothèque PROJ fait les conversions pour QGIS, GDAL et PostGIS. Une erreur à cet endroit décale ou déforme une couche entière.

GDAL / OGR

La bibliothèque qui lit et écrit presque tous les formats raster et vecteur, avec ses outils en ligne de commande (ogr2ogr, gdalwarp, gdal_translate). La plupart des logiciels SIG s'appuient dessus. Un candidat qui a automatisé des imports connaît bien ogr2ogr et ses options d'encodage et de reprojection.

Python géospatial

GeoPandas, Shapely, pyogrio et rasterio pour traiter des couches en script ; PyQGIS pour piloter QGIS et écrire des plugins ; ArcPy côté Esri. Ces outils servent aux chaînes de traitement, aux contrôles de qualité et aux conversions répétées.

GeoServer et QGIS Server

Les serveurs qui publient les données en flux standard. GeoServer, écrit en Java, a pour version stable actuelle la branche 3.0 ; QGIS Server reprend directement les styles d'un projet QGIS. Le développeur les configure, règle le cache de tuiles (GeoWebCache pour GeoServer) et gère les droits d'accès aux couches.

Standards OGC

WMS renvoie une image calculée, WFS renvoie les objets, WMTS sert des tuiles précalculées. Les OGC API plus récentes (Features, Tiles) exposent les mêmes services en REST et JSON. Le choix entre ces flux dépend de l'usage et du volume, et c'est une bonne question d'entretien.

OpenLayers, Leaflet, MapLibre GL JS

Les bibliothèques de carte web. Leaflet est simple et léger, OpenLayers couvre en profondeur les projections et les flux OGC, MapLibre GL JS affiche des tuiles vectorielles en WebGL avec des styles dynamiques. Côté Esri, les applications s'écrivent avec l'ArcGIS Maps SDK for JavaScript.

QGIS et ArcGIS

Les logiciels bureautiques des géomaticiens. QGIS 4, construit sur Qt 6, est sorti en 2026 et les plugins Python doivent être adaptés ; la 3.44 reste la version long terme. ArcGIS Pro s'automatise avec ArcPy, ArcGIS Enterprise et ArcGIS Online publient les couches.

Formats : shapefile, GeoPackage, GeoJSON, tuiles vectorielles

Le shapefile reste partout malgré ses limites (noms de champs à dix caractères, encodage incertain, plusieurs fichiers). GeoPackage le remplace dans beaucoup d'équipes. GeoJSON sert au web, les tuiles vectorielles (MVT, PMTiles) aux gros volumes, GeoParquet aux traitements analytiques.

Les postes de développeur SIG diffèrent surtout par la brique dominante. Certains se passent presque entièrement côté base et traitements : imports, contrôles topologiques, calculs en SQL spatial. D'autres sont des postes front où la carte est un composant d'une application Angular ou React. D'autres encore tournent autour de l'écosystème Esri (ArcGIS Enterprise, ArcPy, Maps SDK) ou autour de QGIS avec des plugins sur mesure. Les données publiques françaises, comme la BD TOPO, le cadastre ou la Base adresse nationale, et les services de la Géoplateforme de l'IGN reviennent souvent dans les projets. Un candidat solide change d'outil en quelques semaines. Les projections, la topologie et les index spatiaux demandent beaucoup plus de temps à acquérir.

Six points techniques pour un poste de développeur SIG

  • Systèmes de coordonnées et projections
  • SQL spatial et performance PostGIS
  • Qualité et topologie des données
  • Services cartographiques et standards OGC
  • Cartographie web et gros volumes
  • Outillage Python, QGIS et ArcGIS

Projections, requêtes spatiales, flux : cinq questions à poser

Chaque question vient avec ce qu'une bonne réponse contient et le signal qui doit vous alerter. Pas besoin d'être technique pour les poser : écoutez si le candidat raconte du vécu.

  1. Question 1 · confirmé

    Une couche importée apparaît décalée d'environ 100 mètres par rapport au fond de carte. Quelles causes cherchez-vous ?

    Une bonne réponseUn système de coordonnées mal déclaré ou une transformation de datum oubliée. La personne compare le SRID réel des données et celui déclaré (fichier .prj, métadonnées de la table), regarde si une donnée en NTF ou en ED50 a été convertie sans grille ni paramètres de transformation, et vérifie la transformation que PROJ a réellement choisie. Un décalage de cette taille évoque un changement de datum ; des coordonnées autour de 0,0 ou un écart de plusieurs kilomètres, une projection non déclarée.

    Signal d'alerteDéplacer la couche à la main jusqu'à ce qu'elle tombe juste, ou appliquer un SRID au hasard avec ST_SetSRID sans comprendre la différence avec ST_Transform.

  2. Question 2 · confirmé

    Une requête qui cherche les bâtiments à moins de 50 mètres de chaque arrêt de bus tourne plusieurs minutes. Comment la réécrivez-vous ?

    Une bonne réponseST_DWithin au lieu de ST_Distance(...) < 50, car ST_DWithin utilise l'index spatial. Un index GiST sur chaque colonne géométrique, des données dans un système métrique ou en geography pour que 50 veuille dire 50 mètres, puis un EXPLAIN ANALYZE pour vérifier que l'index sert. La personne pense aussi à lancer ANALYZE après un gros chargement.

    Signal d'alerteUn ST_Distance dans le WHERE sur deux grosses tables, ou un ST_Buffer sur chaque arrêt suivi d'un ST_Intersects, sans index ni lecture du plan.

  3. Question 3 · confirmé

    Un ST_Union sur une couche de parcelles échoue avec une erreur de topologie. Que faites-vous ?

    Une bonne réponseRecherche des géométries invalides avec ST_IsValid et ST_IsValidReason (auto-intersections, anneaux mal fermés, polygones en papillon), correction par ST_MakeValid en vérifiant le type obtenu, ou réduction à une précision commune avec ST_ReducePrecision. Le contrôle est ensuite ajouté à l'import pour que le problème ne revienne pas.

    Signal d'alerteUn ST_Buffer(geom, 0) appliqué partout sans vérifier ce qu'il supprime, ou retirer les lignes en erreur sans le signaler.

  4. Question 4 · senior

    Une carte web doit afficher 300 000 tronçons de réseau avec une infobulle au clic. Vous servez la couche en WMS, en WFS ou en tuiles vectorielles ?

    Une bonne réponseWFS enverrait tout le GeoJSON au navigateur et le bloquerait. WMS reste léger et l'infobulle passe par GetFeatureInfo, mais le style est figé côté serveur. Des tuiles vectorielles (générées par GeoServer, par ST_AsMVT ou par un serveur comme Martin ou pg_tileserv) gardent l'interactivité et le style côté client avec des volumes raisonnables, à condition de simplifier par niveau de zoom. Le choix se justifie par l'usage : consultation, édition ou analyse.

    Signal d'alerte« WFS, comme ça on a toutes les données », sans regarder le poids de la réponse.

  5. Question 5 · confirmé

    Dans une application OpenLayers ou MapLibre, la carte devient lente au-delà de 50 000 points. Que proposez-vous ?

    Une bonne réponseNe pas tout envoyer au navigateur : regroupement des points (clusters) aux petits zooms, chargement par emprise visible, tuiles vectorielles générées côté serveur. Côté rendu, une couche WebGL plutôt que Canvas pour beaucoup de points, et des styles mis en cache au lieu d'une fonction de style recalculée pour chaque objet. La personne mesure avant et après avec l'outil de performance du navigateur.

    Signal d'alerteCharger tout le GeoJSON au démarrage et ajouter un indicateur de chargement.

Recevez la fiche d'entretien complète en PDF

La fiche pour mener l'entretien de bout en bout, prête à imprimer ou à partager avec le manager.

  • 30 questions sur 6 axes, avec la bonne réponse, le signal d'alerte et la relance
  • Le niveau visé pour chaque question
  • Une mise en situation de 20 minutes et ce qu'on attend du candidat
  • La grille d'évaluation de 1 à 4, axe par axe

Ce que l'on se demande en recrutant un développeur SIG

Faut-il un géomaticien qui code ou un développeur qui apprend la carte ?

Cela dépend de la brique dominante du poste. Pour des traitements de données, des contrôles de qualité et du SQL spatial, un géomaticien qui code en Python et en SQL s'adapte vite. Pour une application web riche, un développeur front ou back expérimenté apprend OpenLayers ou MapLibre sans trop de peine, mais il lui faudra du temps sur les projections et la topologie. Dans les deux cas, vérifiez en entretien ce que le parcours n'a pas apporté.

Quel test technique proposer à un développeur SIG ?

Un petit jeu de données fourni (des bâtiments et des points d'intérêt dans deux systèmes de coordonnées différents) et une heure pour répondre à deux questions en SQL PostGIS, dont une à optimiser. Terminez par une discussion sur le plan d'exécution et sur le choix du système de coordonnées. Pour un poste front, remplacez la seconde question par l'affichage de la couche dans une carte web.

QGIS ou ArcGIS : faut-il exiger l'écosystème du poste ?

Pour un poste centré sur des plugins ou des scripts, oui, car PyQGIS et ArcPy ont chacun leur modèle objet et leurs habitudes. Pour un poste de base de données ou de carte web, beaucoup moins : PostGIS, GDAL et les standards OGC sont communs aux deux mondes. Demandez au candidat ce qu'il a automatisé dans l'un ou l'autre logiciel, et sur quelle version.

Comment évaluer un jeune diplômé en géomatique ?

Sur les bases qui prennent du temps à acquérir : savoir ce qu'est une projection et pourquoi on ne mesure pas une distance en Web Mercator, écrire une jointure spatiale simple, distinguer un flux WMS d'un flux WFS. Faites-lui raconter son projet de stage : quelles données, quel système de coordonnées, quels problèmes de qualité. Un candidat qui a déjà publié une couche sur un serveur cartographique part avec un avantage net.

Pour structurer vos autres entretiens, consultez aussi nos pages sur les questions d'entretien de recrutement, la méthode de l'entretien structuré et la grille d'évaluation d'entretien.

Les fiches voisines

Toutes les fiches →

Voyez Delectus sur vos propres offres.

Commencez gratuitement. Passez à l'échelle quand vous êtes prêt.

Demander une démo

Votre ATS, connecté à Delectus

  • Workable
  • Teamtailor
  • iCIMS
  • Lever
  • SmartRecruiters
  • Jobvite
  • Greenhouse
  • Pinpoint