Vous pouvez lire le billet sur le blog La Minute pour plus d'informations sur les RSS !
Feeds
10384 items (3 unread) in 53 feeds
-
Décryptagéo, l'information géographique
-
Cybergeo
-
Revue Internationale de Géomatique (RIG)
-
SIGMAG & SIGTV.FR - Un autre regard sur la géomatique
-
Mappemonde
-
Imagerie Géospatiale
-
Toute l’actualité des Geoservices de l'IGN
-
arcOrama, un blog sur les SIG, ceux d ESRI en particulier
-
arcOpole - Actualités du Programme
-
Géoclip, le générateur d'observatoires cartographiques
-
Blog GEOCONCEPT FR

-
Géoblogs (GeoRezo.net)
-
Geotribu (1 unread)
-
Les cafés géographiques
-
UrbaLine (le blog d'Aline sur l'urba, la géomatique, et l'habitat)
-
Séries temporelles (CESBIO)
-
Datafoncier, données pour les territoires (Cerema)
-
Cartes et figures du monde
-
SIGEA: actualités des SIG pour l'enseignement agricole
-
Data and GIS tips
-
Neogeo Technologies
-
ReLucBlog
-
L'Atelier de Cartographie
-
My Geomatic
-
archeomatic (le blog d'un archéologue à l’INRAP)
-
Cartographies numériques (2 unread)
-
Veille cartographie
-
Makina Corpus
-
Oslandia
-
Camptocamp
-
Carnet (neo)cartographique
-
Le blog de Geomatys
-
GEOMATIQUE
-
Geomatick
-
CartONG (actualités)
Oslandia
-
10:39
Nos présentations du FOSS4G
sur OslandiaNous avons toujours publié nos supports de présentation et de workshop : on peut tous les retrouver sur notre dépôt GitLab dédié.
On ne communique pas très souvent sur ces contenus, alors voici un peu de rattrapage !
2022 – FlorenceOn commence avec nos supports présentés lors du FOSS4G 2022 du mois d’aout.
foss4g_2022_vincent_picavet_postgresql_text
2021 – Buenos Aires
foss4G_presentation_cad_to_gis
foss4g_2022_rde_3d_segmentation
foss4g_2021_openLog_jfeEt on enchaîne avec nos présentations du Foss4G 2021 !
terristory_foss4g_sbeorchia
cog_foss4g_cabieces
3d_urban_data_in_qgis_bde
foss4g_2021_GIS_and_Mining_epa
foss4g_2021_giswater_bpa
foss4g_2021_innersource_picavet_parpoil -
10:34
Pyris: servir et visualiser des données socio-économiques publiques
sur OslandiaCombiner open source, géodata et visualisation de données est l’un de nos exercices favoris chez Oslandia. À ce petit jeu, le projet Pyris coche pas mal de cases et permet de nous exercer sur les données proposées par l’INSEE.
Fruit d’un effort initial de Damien Garaud, camarade Data Scientist qui a passé quelques années chez Oslandia (un grand merci à lui !), ce projet est poursuivi en interne depuis quelques temps déjà dans le cadre de l’investissement d’Oslandia en faveur de l’Open source. Pyris a connu une refonte récente qui change radicalement son aspect !
Pyris, qu’est-ce que c’est ?Pyris s’intéresse aux IRIS de l’INSEE, ces unités géographiques homogènes servant de découpage pour la construction des indicateurs socio-économiques, et étant notamment exploitées à chaque recensement de la population.
En termes de techno, le projet Pyris se décompose selon les briques suivantes :
- Une base PostGIS pour stocker les données socio-économiques de l’INSEE et les géométries associées aux IRIS (donnée IGN).
- Une API Flask pour servir la donnée stockée en base.
- Un front en React.js déployé sur data.oslandia.io/pyris en guise de site de démonstration.
Page d’accueil de Pyris
Évolutions récentesUne instance de Pyris est désormais branchée sur le site vitrine de nos applications data, au même titre que Jitenshea et Deeposlandia.
Par ailleurs, les données d’entrée ont été mise à jour, avec l’exploitation des derniers millésimes disponibles (census 2019 pour les données socio-économiques, version 2022 des contours IRIS)
En outre, la principale évolution qui a marqué la vie du projet dernièrement est la migration du front, de Bootstrap vers React.js. Le design de l’application web a été repensé, pour un résultat esthétiquement plus abouti. Voici une comparaison du rendu avant/après la refonte.
Page d’accueil, avant/après
Carte Leaflet, avant / après
Dashboard IRIS, avant/après
Feuille de routeDans les prochains mois, nous espérons poursuivre les efforts de développement sur ce projet, pour génériciser son approche. Parmi les tâches envisagées, nous comptons :
- simplifier les scripts d’agrégation de données ;
- intégrer au projet les IRIS des Outre-Mer ;
- considérer les évolutions sur plusieurs millésimes ;
- comparer des IRIS entre eux, ou un IRIS avec des moyennes locales et/ou nationales ;
- améliorer la qualité logicielle (lints, tests unitaires, CI).
Si vous aussi voulez participer à la vie de Pyris, rejoignez-nous sur le projet Gitlab, ou contactez-nous à infos@oslandia.com !
-
9:22
Édition 4D dans QGIS
sur OslandiaNous travaillons de longue date à l’amélioration des outils de dessin dans QGIS. Par exemple, la ville de Lausanne et le groupe utilisateur QWAT nous ont confié en 2020, la correction de l’édition topologique et la gestion de l’altitude dans ces outils. Ces travaux ont demandé plus de 14 PR / phases de correction, ~ 2000 lignes de code : désormais l’édition topologique et l’accrochage fonctionnent de façon cohérente sur les outils de dessin.
QGIS supporte depuis longtemps les géométries 2D (XY), 3D (XYZ ou XYM), 4D (XYZM) et même 5D si l’on ajoute la temporalité à XYZM. Néanmoins, la saisie des dimensions Z et M était laborieuse, car il fallait dessiner en 2D puis corriger les valeurs Z et M avec l’outil de nœud.
Pour corriger ce manque, nous avons ajouté la possibilité de saisir directement les valeurs Z et M dans le panneau de numérisation avancée, bien connu des dessinateurs experts de QGIS.
Derrière ce petit ajout fonctionnel se cachent d’autres corrections invisibles des utilisateurs, qui améliorent la stabilité des outils.
La dimension M est bien souvent oubliée dans nos SIG. Même si son utilité est très restreinte, nous nous devions de corriger les anomalies de numérisation afin de compléter les fonctionnalités et offrir un panel complet d’outils de numérisation.
Lors de nos développements et tests, nous avons notamment rencontré et corrigé des anomalies lorsque les systèmes de projections sont différents.
Comme un développement ouvre la voie à d’autres, cette nouvelle fonctionnalité a été reprise et intégrée quelques heures plus tard pour l’édition de mesh.
Nous remercions la métropole européenne de Lille qui nous a confié la réalisation de cette évolution et de ces corrections.
-
10:10
Un projet (open-source) ce n’est pas que du code : exemple avec PostGIS
sur OslandiaOn l’oublie trop souvent lorsqu’on est développeur (parfois un peu sciemment il faut l’avouer), mais un projet n’est pas que du code. La documentation par exemple, est un élément fondamental dans la bonne réussite d’un projet. Et dans un projet open-source, qui sera utilisé par de multiples personnes autour du monde, et donc dans plusieurs langues, la traduction de la documentation est également essentiel pour l’adoption du projet. Jacky nous avait parlé de la traduction de la documentation utilisateur du plugin QGIS LSCI dans un précédent article. Je profite aujourd’hui du temps open-source dédié chez Oslandia pour aborder la traduction de la documentation PostGIS. Vincent détaillera dans un article à venir très prochainement la philosophie du temps open-source chez Oslandia.
La traduction française de PostGIS n’est clairement pas à la hauteur de qualité du logiciel, avec certaines sections à peine traduites et peu de sections dépassant les 50%. Étant un gros utilisateur de PostGIS (je l’utilise sur 99% mes projets), il était tout naturel de contribuer en retour. Je trouve toujours enrichissant pour un développeur de s’éloigner de temps à autres du code pour avoir d’autres points de vue : là aussi les tâches de documentation sont assez naturelles pour moi. Par contre, la traduction, c’était quelque chose d’un peu nouveau, donc je me dis que partager mon expérience peut aider d’autres personnes à se lancer !
DémarrageFût un temps, la traduction c’était très pénible et peu ergonomique (coucou Qt Linguist). Désormais plus besoin de cloner le dépôt de code, d’installer un logiciel spécifique, de commit, et de se manger des conflits à gérer. L’OSGeo a mis en place une interface web, avec Weblate, pour la traduction des projets hébergés, dont PostGIS. Seul pré-requis pour contribuer : avoir un compte OSGeo, à créer sur leur site. Une fois le compte créé, on peut contribuer à OSGeo Weblate, en particulier à la section Français de PostGIS.
Sur le tableau de bord, on voit d’un coup d’œil le statut : en bleu les traductions validées, en vert les traductions remplies (en attente de validation), et en rouge les traductions manquantes ou avec des problèmes. Bref : il y a du boulot !
Mais avant de plonger dans la traduction en elle-même, je trouve qu’il est important de déjà lire un peu la documentation en elle-même, et ce qui a déjà été traduit pour s’imprégner du style, l’idée étant que le style soit cohérent tout au long de la documentation – ce qui n’est pas toujours évident car déjà en anglais il peut ne pas toujours être cohérent… Un exemple est la traduction du we, abondamment utilisé dans l’introduction de la documentation PostGIS : faut-il le traduire par nous ou par on ? Ici, la traduction existante utilise nous.
Une fois la vue d’ensemble absorbée, reste à savoir par où commencer. Pour moi, la documentation est une vitrine du logiciel, donc il faut particulièrement soigner les points d’entrée, autrement dit les sections par lesquelles un utilisateur peut être amené à arriver sur la documentation : introduction, installation, FAQ. Voilà déjà les trois sections sur lesquelles je me suis concentré pour démarrer !
Prise en mainL’ergonomie de Weblate est, je trouve, très réussie, car la prise en main est immédiate : à partir d’un composant on voit immédiatement ce qu’il reste à faire, et en cliquant sur, par exemple, « Untranslated strings » on file vers les traductions à effectuer, que l’on peut enchainer à grande vitesse.
TipsEt hop, c’est parti ! Je ne reviendrai pas sur les principes de comment faire une bonne traduction, mais d’après mes lointains souvenirs de prépa, je retiens que le mot-à-mot est à proscrire, et la question à se poser au moment de se relire est : « Est-ce que j’aurai écrit cela naturellement ? ».
Étant plutôt anglophone dans mon quotidien, j’avoue que je n’ai pas forcément les termes français en tête, mais on peut s’appuyer sur diverses sources pour s’aider lorsqu’il nous manque un terme. On peut donc tout à fait participer à la traduction d’un logiciel même si l’on est pas expert technique sur le sujet !
- Le premier réflexe est de voir si le terme a déjà été traduit. Weblate propose une interface recherche très complète, et nous permet de rechercher des mots. Par exemple, je recherchais le terme « index binding », et hop, je vois que ça a déjà été traduit en français par « liaison des index ».
- Parfois cela a déjà été traduit dans d’autres langues. Je ne lis pas l’italien, mais quand les traductions existent cela peut quand même dépanner.
- Nos propres supports de formation sont entièrement en français, cela donne une autre source,
- Pour les termes techniques, un peu de recherche via par exemples :
- Je n’en ai pas eu besoin jusqu’à présent, mais il ne faut pas oublier le support de la communauté, notamment via les canaux de discussion.
Et pour les aficionados des raccourcis clavier, Weblate permet d’effectuer beaucoup d’actions (si ce n’est toutes) au clavier. Quand on a beaucoup de petits textes inchangés (comme des noms), enchainer Ctrl+O, Ctr+Y et Alt+Enter, ça va quand même plus vite que trois clics.
ConclusionAprès seulement une journée, j’ai réussi à traduire les trois sections que je visais : l’introduction, l’installation et la FAQ PostGIS, ce qui est au-delà de mes espérances initiales. Et même si mes traductions n’ont pas encore été validées sur Weblate, elles sont déjà disponibles dans la version dev du manuel, ce qui est très valorisant. Prochain objectif : traduire les 77% restants !
-
10:52
Une carte web au service de l’éolien
sur OslandiaDepuis 2003, WKN France développe, finance et réalise des projets éoliens et photovoltaïques.
Depuis 2015, cette société a fait le choix d’utiliser des outils de prospection et de suivi intégrant des fonctions géographiques. Ce sont des outils d’aide à la décision, d’automatisation de tâches par emprise géographique, qui prennent plusieurs formes, et étaient jusqu’à présent sous-utilisés aux vues de leur potentiel.
WKN France a souhaité mettre à niveau ses outils géomatiques pour répondre à de nouveaux besoins métiers et ont fait confiance à Oslandia pour mener à bien ce projet. La composante principale de ce projet a été de refondre le CRM géographique.
Et si on utilisait QGIS Web comme un CRM ?Avant notre intervention, et malgré les différentes tentatives de l’équipe géomatique, l’outil réellement utilisé par l’équipe de prospection à des fins de CRM était un fichier Excel.
Nous connaissons tous les avantages d’Excel. Mais il présente également de nombreux inconvénients pour ce type d’utilisation partagée :
- C’est quoi la dernière version déjà ?
- Comment, Bruno a modifié le fichier sur son ordinateur, mais moi aussi ! On va devoir fusionner maintenant
- Saint-Germain-en-Laye a fusionné avec Fourqueux depuis 2019 ? Ah, je n’étais pas au courant !
- Il me semble bien que Monsieur Dupont était le précédent maire… Il va falloir que je mette à jour les informations sur cette commune !
Sans parler de la personne en charge de sortir des indicateurs sur ce fichier, qui doit fusionner les versions de chacun en croisant les doigts pour que personne n’ait ajouté sa petite colonne ou décidé d’écrire un commentaire à la place de la surface.
Et puis regarder sur une carte l’évolution du statut des projets c’est bien plus sympa que de chercher dans des lignes d’un fichier Excel. Alors oui, on peut ouvrir son fichier Excel dans QGIS, réaliser une jointure sur notre couche géométrique préférée et ensuite imprimer sa carte, mais ce n’est pas à la portée de tout le monde…
C’est en partie pour ces raisons que WKN France a souhaité créer une application CRM cartographique web : étant déjà des utilisateurs de QGIS et sensibilisés à la thématique de stockage centralisé de la donnée, WKN France a choisi de nous faire confiance et d’exploiter les fonctionnalités de QGIS Web Client 2 pour répondre à leurs besoins.
QWC2 les a beaucoup séduit par la simplicité du processus de publication de cartes et de modification de cartes existantes (pour ajouter de nouvelles couches ou modifier un rendu par exemple).
Un autre élément différenciant, est le fait de ne pas rester liés à Oslandia : les travaux sont documentés et nous avons mis en place des sessions de transfert de compétences pour rendre administrateurs et utilisateurs autonomes dans l’évolution de l’interface cartographique.
Pour revenir à notre CRM : le projet comportait plusieurs dimensions. Il a fallu créer une base de données où la donnée de prospection puisse être centralisée pour être partagée pour les différents services, Eolien et Solaire.
Le paramétrage de la carte dans QGIS a permis de rendre disponible de nombreuses informations, en provenance de différentes sources sur une même carte, sans que ces données soient identifiables (pour ne pas polluer l’identification des objets principaux). En effet pour de nombreuses couches, l’important est de se rendre compte rapidement d’un type (par exemple la zone PLU) qui est très bien transcrit via le style de la couche.Dans QWC2, l’utilisateur peut personnaliser son rendu en choisissant les couches ou groupe de couches qu’il veut visualiser, en cochant ou décochant comme dans QGIS, et compléter son analyse avec des sources externes (en important des flux WMS ou WFS externes) pour visualiser ses données spécifiques sans les imposer à tout le monde ni surcharger l’interface.
Enfin le coeur de cet outil CRM est de pouvoir ajouter/modifier la donnée. La liste des champs est longue… Mais un service de QWC permet de générer les formulaires conçus dans QGIS en conservant leur mise en forme, notamment l’organisation en onglets ou l’apparition conditionnelle de champs. Cela permet dans QWC2 d’avoir une interface agréable pour remplir les informations d’intérêt.
Et comme tout le paramétrage est effectué via QGIS, les administrateurs SIG de WKN pourront faire évoluer cette interface même une fois la prestation terminée !
Un projet avec plus que du SIGCette prestation nous a mené également à la modification d’un portail web Django avec sa remise à niveau, l’ajout de nouvelles applications, un travail du style, la refonte de l’interface d’administration, …
Nous avons aussi réparé une partie d’une application maison d’import de données et de prospection préalablement mise en place en Python.
Nos fortes compétences en SQL ont permis d’accompagner WKN dans la mise en place des bases de données de référentiels ou applicatives répondant aux contraintes métier et aux contraintes SI.
Si vous aussi vous avez des projets d’amélioration d’applications existantes ou même de réparation, n’hesitez pas à nous contacter pour en parler.
-
15:55
De nouveaux arrivés chez Oslandia
sur OslandiaCorpo automne 2022
Corpo hiver 2023
Rappelez-vous, il y a deux ans, Oslandia accueillait QuyThy ; il s’en passe des choses en deux ans et nous nous sommes agrandis depuis.
Nouveaux développeurs, nouvelles fonctions transverses réparties sur toute la France en télétravail, Oslandia compte désormais 26 Oslandiennes et Oslandiens.
L’équipe de développement s’est vue renforcée par l’arrivée d’Antoine Facchini, Benoît Ducarouge, Julien Moura, Evren Pakyuz-Charrier et Thomas Muguet. Ces développeurs, aux expériences diverses, apportent de nouvelles compétences et perspectives pour les projets au sein d’Oslandia.
Côté QGIS, on note l’arrivée de Gwendoline Andres, Jacky Volpes, Jean-Marie Kerloch, Sophie Aubier, Vincent Bré et Florent Fougères. Cette équipe nous permet de répondre à beaucoup plus de sollicitations clients, et d’investir tout autant sur le développement coeur QGIS et de plugins variés.
N’oublions pas Jean Felder et Sébastien Guimmara qui renforcent les compétences 3D de l’équipe en apportant leurs expertises pour les projets en cours et futurs.
Ces nouveaux arrivants permettent à Oslandia de vous proposer également davantage de formations.
Cette croissance de l’équipe de développement a nécessité un renforcement des fonctions transverses. Ainsi, Miloud Chenine a fait son arrivée en tant que commercial dédié. Catherine Prêtre et Elodie Faury forment la nouvelle équipe admin et RH.
Oslandia recrute ! Consultez nos annonces d’Ingénieur(e) développement d’applications SIG senior , d’Ingénieur(e) développement front SIG 3D et d’Ingénieur(e) développement front SIG.
-
16:14
Les nouveautés sur Giro3D
sur OslandiaLe projet a fourmillé récemment, il est temps pour nous de vous faire un petit résumé de tout ce qu’il s’est passé ces derniers mois !
KésakoGiro3D est une librairie de visualisation 3D pour les navigateurs web, écrite en javascript et WebGL. Giro3D est basé sur THREE.js, ce qui permet de profiter de toute la puissance d’un des meilleurs moteurs 3D pour le monde web. Giro3D apporte en plus le support des formats tuilés typiques du SIG ainsi que les primitives et les concepts géographiques.
Pour le support des protocoles standards (WMS, WMTS…), il est possible d’utiliser des sources OpenLayers.
Le repo de code est ici: [https:]]
Giro3D hérite d’iTowns, mais avec des objectifs qui divergent légèrement de cette dernière :
- développement communautaire du code
- versatilité : la librairie doit s’accomoder de divers cas d’usage de l’industrie : vue immersive dans des galeries, vue sous-marine ou environnement naturel ou urbain. Elle doit aussi s’accomoder des formats de donnée standards divers
- être performante
- l’accent est mis sur la facilité d’utilisation de l’API, qui doit rester compatible avec celle de THREE.js. Il est d’ores et déjà possible d’utiliser directement des objets ou des controls THREE.js.
Tous ces éléments permettent de garantir un usage industriel de la librairie.
Les avancées récentes Une API plus lisibleAfin de rendre la librairie plus facile d’accès, l’API a été grandement remaniée afin d’être plus intuitive et plus facilement documentable. La page d’accueil de la documentation en donne un aperçu.
Intégration des controls THREE.jsLes controls sont les mécanismes de navigation dans la scène 3D. Giro3D permet d’enregister un control THREE.js de façon intégrée et de l’utiliser immédiatement.
LabelsIl est désormais possible d’utiliser le CSS2DRenderer directement dans Giro3D pour afficher des labels HTML en surimpression sur la scène 3D. Voir un exemple ici.
Support des « color maps »Giro3d permet d’ajouter des color maps sur les couches images et DEM. Voir l’exemple.
Plusieurs modes sont supportés: le mode par défaut (élévation ou intensité du pixel), pente et aspect (orientation par rapport au nord). La création des palettes de couleurs peut se faire avec des librairies tierces comme chroma.js.
Ajout d’une entité « AxisGrid »Cette entité est une grille 3D permettant de se repérer dans un dataset d’élévation. Voir l’exemple. Totalement configurable (graduations, volume, style des labels), elle supporte également 2 modes d’affichages (relatif et absolu).
Color maps and Axis Grid on giro3D
Gestion des Cloud Optimized GeoTIFF (COG)Giro3D vise un support complet des Cloud-Optimized Geotiff et plus largement du Geotiff. Il est possible:
- d’afficher des COGs comme couche raster dans Giro3D, voir cet exemple.
- utiliser des COGs comme terrain, qu’ils soient mono-bande ou RGB (en supportant plusieurs formats d’élévation), voir l’exemple niveaux de gris/élévation
- Utiliser des Geotiffs simples, par exemple organiser selon une arborescence XYZ, à la fois comme source de coloration (carte classique), ou comme source d’élévation.
Bien sûr, comme toutes les autres sources raster, les COGs supportent les colors maps.
Support du format BILles fichiers BIL sont maintenant supportés comme couche d’élévation ou de couleur avec une “ColorMap”. C’est un des formats possibles des webservices d’élévation de l’IGN, voir cet exemple.
Les données de l’ign en action: orthophoto et couche d’élévation au format BIL
DocumentationLe site web giro3d.org a été mis en place.
Capture d’écran de giro3d.org au 2023-01-01
Ainsi qu’une documentation d’API, encore à compléter.
Documentation d’api de giro3d.org au 2023-01-01
Et de nombreux exemples interactifs ont été rajoutés.
Capture d’écran de la page d’exemples de giro3d.org
Nous prévoyons de transformer certains de ces exemples en vrai tutoriel.
La feuille de routeBeaucoup d’idées sont dans les cartons ! Nous décrivons ici les fonctionnalités les plus notables.
IFCUn premier exemple chargeant un IFC est déjà disponible sur le site web. Cet exemple utilise en fait un loader THREE.js. On profite ici des capacités de cette librairie 3D.
Néanmoins, pour des fichiers volumineux, il est préférable de passer par un traitement en amont pour le convertir vers un format tuilé et optimisé. Le format idéal est le 3dtiles.
La conversion en 3dtiles n’est pas le rôle de giro3d, mais plus celui de projet comme py3dtiles par exemple.
Ceci étant dit, le support de l’i3dm (un des 4 formats possibles de tuiles embarquée dans un 3dtiles) sera nécessaire pour avoir un résultat performant, à la fois côté py3dtiles et giro3d. C’est sur cet effort que nous allons nous concentrer côté giro3d.
2d/3d featuresNous sommes en train de refondre le support des données vectoriel 2d classique (WFS, mvt…) pour proposer une intégration forte avec giro3d. Il est déjà possible de les afficher drappés sur un objet Map par exemple, cf les exemples “Native Vector data”, “Vector with openlayers” ou “Vector tiles with openlayers”, mais il reste à proposer un support complet pour les afficher en tant qu’objet 3D à part entière, supportant l’extrusion et du post-traitement par exemple.
TypescriptLa base de code de giro3d commence à être conséquente. Pour des raisons de maintenance, nous réfléchissons à introduire un typage un peu plus fort pour les objets importants, ce qui permettrait de gagner en facilité de maintenance et de développement des applications utilisant giro3d.
Amélioration de rendu des nuages de pointCela fait longtemps que des améliorations de rendu ont été implémentée:
- l’Eye-Dome Lighting (EDL)
- de l’Occlusion et de l’inpainting, permettant de reconstruire partiellement des surfaces
Voici une petite démontration de ces fonctionnalités:
On-the-fly rendering improvement in 3D web scene from Oslandia on Vimeo.
Elles sont présentes dans le PointcloudRenderer, mais ne sont pas utilisées par défaut dans giro3D. Un travail d’intégration doit être fait pour les rendre disponibles via l’API.
En vracD’autres fonctionnalités qui peuvent intéresser nos lecteurs:
- support du redimensionnement complet (même embarqué dans un élément non plein écran)
- Des “inspector” sont maintenant disponibles dans la plupart des exemples pour aider au développement en proposant des fonctionnalités de déboggage.
N’hésitez pas à consulter notre changelog ou notre page de release pour plus d’information !
ConclusionBeaucoup de nouvelles choses pour ce viewer. N’hésitez pas à tester et nous faire des retours, notamment via le gestionnaire de ticket.
Le projet est open-source (license MIT) et suit une logique communautaire, n’hésitez donc pas à contribuer, notamment en ouvrant des tickets, des contribution au code ou à la documentation par exemple. La communication instantanée du projet se fait via ce channel matrix.
-
16:49
Oslandia recrute : Ingénieur(e) développement d’applications SIG senior ( Python / SQL / QGIS / Web) – OSL2302C
sur OslandiaOSL2302C – Ingénieur(e) développement d’applications SIG senior OslandiaOslandia est une société de services en informatique spécialisée dans les logiciels de système d’information géographique opensource. Nous travaillons avec une excellence technique, pour améliorer les solutions SIG Opensource, afin de fournir des solutions pertinentes à nos clients et valoriser les données géographiques. Nous avons une structure efficiente avec un business model OpenSource prouvé, et un impact sur les technologies et la société.
Nous recherchonsOslandia recherche une ou un Ingénieur(e) en développement d’applications SIG senior en télétravail. Il s’agit d’un poste technique, mais qui demandera également des aptitudes relationnelles fortes.
Vous aurez en charge la réalisation de projets pour des clients, avec un focus spécifique sur le développement d’applications SIG. Vous interviendrez particulièrement sur des solutions à base de Python et de PostgreSQL/PostGIS, en utilisant la plateforme de développement de QGIS, mais aussi des applications web.
Vous serez amené à intervenir à plusieurs niveaux :
- sur des projets de développement, en interaction directe avec nos clients
- sur des projets de conseil, en interaction forte avec nos clients
- en maintenance sur les applications développées
- en expertise et conseil dans le cadre de notre offre d’assistance
- en formation sur les technologies citées
- en avant-vente pour la conception et les chiffrages des propositions faites à nos clients
- en conseil interne pour les autres développeurs
Vous maîtrisez le développement informatique et les outils associés. Vous êtes à l’aise avec le langage Python et vous maîtrisez les bases de données et le langage SQL. Le développement web ne vous fait pas peur. Vous connaissez les principes du développement d’application bureautiques comportant des interfaces graphiques, notamment basées sur Qt, ainsi que les applications web. Vous avez de solides notions d’architecture applicative. Vous connaissez les principes de développement opensource, le développement agile, et vous attachez de l’importance à la qualité logicielle ( tests, documentation…). Vous êtes à l’aise dans les environnements Linux pour le développement et l’usage quotidien, ainsi que sous Windows pour les tests et le déploiement.
Des compétences en C++ ou d’autres langages seront appréciées. De même, nos applications pouvant intégrer des composantes scientifiques ou 3D, des compétences en algorithmie et mathématiques appliquées seront un plus, ainsi que des compétences en OpenGL.
Vous serez en prise directe avec les clients, dans des contextes divers et des projets au forfait, ou en méthodologie agile. Vous serez amené à intervenir dans des projets d’ampleur pouvant être complexes. Vous avez donc une forte expérience du travail en mode projet et de la relation client. Vous savez mener à bout des projets sous contraintes en mettant à profit vos qualités humaines et techniques.
Vous aimez que les thématiques projet soient diversifiées, tant d’un point de vue technique que métier (e.g. gestion de réseau, optimisation d’exploitation industrielle, hydrologie et hydrogéologie…)Vous aurez l’occasion de prendre part aux communautés OpenSource des logiciels SIG. Vous devrez donc participer aux discussions techniques, interagir avec les autres développeurs et utilisateurs. Vous êtes à l’aise dans l’expression orale, aimez partager et transmettre, et vous participerez aux rassemblements et conférences de la communauté OpenSource, à l’international.
Vous aurez également une activité de formation sur les technologies et outils sur lesquels vous travaillez. Celle-ci s’étendra sur des missions de conseil technique. Nous apprécierons pour cela des aptitudes pédagogiques. Le poste comprend donc des déplacements réguliers, majoritairement en France métropolitaine.
Nous apprécierons des compétences initiales en géomatique et systèmes d’information géographique (PostGIS, QGIS…). Nous pourrons vous former pour compléter vos connaissances si vous ne maîtrisez pas complètement ces sujets.
Compétences techniques recherchées :
- Bonne maîtrise de Python
- Compétences en développement d’applications bureautiques
- Connaissance du développement d’applications web
- Bonne connaissance de PostgreSQL/PostGIS, des bases de données et de SQL
- Connaissance des outils permettant la qualité ( tests, intégration continue)
- Compétences en architecture applicative et système
- Maîtrise d’outils et process de développement (git, GitLab…)
- Connaissance des systèmes Linux ( utilisation quotidienne )
- Connaissance des systèmes Windows ( cible pour nos clients )
Nous recherchons des profils présentant des qualités humaines :
- Sens de l’écoute, maturité, intégrité et curiosité
- Capacité à travailler sur des projets complexes de manière autonome
- Curiosité, appétence et capacité à aborder des thématiques diverses
- Savoir s’investir au quotidien tout en gardant un équilibre de vie
- Maturité et réflexion sur le parcours professionnel
Un bon niveau d’anglais est requis pour ce poste.
Nous attendons également de la future collaboratrice ou collaborateur :
- Une facilité géographique pour les déplacements professionnels : situation en France métropolitaine avec proximité d’une gare TGV
- Une capacité à effectuer des déplacements réguliers chez les clients pour des prestations de conseil ou formation
- La participation active au projet d’entreprise
Oslandia se veut une structure atypique, avec des valeurs affirmées et qui propose une cohérence forte entre son objectif de développement des outils OpenSource de système d’information géographique, et son mode de fonctionnement.
Nous proposons notamment :
- Une structure à taille humaine avec la possibilité de contribuer directement au développement de l’entreprise par des mini-projets transverses, séminaires d’entreprise ou encore comité de pilotage
- Un mode de management souple et participatif, notamment avec l’existence d’un comité RH
- Le modèle du télétravail (depuis 2009) avec une forte autonomie des collaboratrices et collaborateurs dans l’organisation des missions et de la journée de travail
- Une équipe stimulante et soudée (cohésion, entraide et bienveillance) : [https:]]
- Des projets techniquement pointus pour des grands comptes publics et privés ( [https:]] )
- Des applications thématiques variées
- Des développements projets en Open Source ( [https:]] )
- La participation au développement et à la communauté d’applications Open Source à visibilité internationale ( e.g. QGIS, GDAL… )
- La participation à des salons et conférences nationales et internationales (e.g. FOSS4G, PGConf, QGIS Community meetings)
- La prise en compte des centres d’intérêt des collaboratrices et collaborateurs (thématique métier, langage informatique…) dans l’affectation des projets
Nous offrons un pack de rémunération composé des aspects suivants :
- Salaire en fonction de l’expérience avec notre grille salariale
- Transparence salariale interne
- Accord d’intéressement collectif
- Mutuelle d’entreprise fortement couvrante intégrant les ayant-droits prise en charge à 75% par l’entreprise
- Convention individuelle de forfait jours selon accord d’entreprise
- 5 semaines de congés payés et 12 jours de repos par an avec souplesse sur leur pose
- Temps partiel possible à terme
- Prime de vacances Syntec
- Des budgets internes alloués pour la contribution Open Source
- Prise en charge des frais liés aux déplacements professionnels sans logique de plafond ou de forfait
- Matériel informatique performant dont un PC portable dernière génération ( e.g. Lenovo X1 Carbon, DELL XPS )
- Prime forfaitaire de télétravail de 130€ nets ou prise en charge d’un espace de cotravail
- Très bon fauteuil de bureau pour prendre soin de votre dos !
- Facilité d’achat de livres pour l’auto-formation
Effectuez votre candidature par l’intermédiaire de notre formulaire dédié.
Nous vous demandons notamment :
- Un CV détaillé et à jour
- Un texte présentant votre motivation à nous rejoindre
- Vos réalisations accessibles, compte GitHub/GitLab, etc
Nous reviendrons vers vous sous peu si votre candidature retient notre attention.
Notre processus de recrutement est présenté sur notre page web et vous sera explicité lors des premiers entretiens. Il comporte plusieurs entretiens individuels avec différents collaborateurs de notre équipe, sur des aspects techniques ainsi que de savoir-être. À l’issue de processus, nous mettons en place un plan d’intégration personnalisé qui vous permet une arrivée la meilleure possible parmi nous.
Nous avons hâte de vous rencontrer, alors n’hésitez pas !
-
16:45
Oslandia recrute : Ingénieur(e) développement front-end SIG 3D – OSL2302B
sur OslandiaOSL2302B – Ingénieur(e) développement front SIG 3D OslandiaOslandia est une société de services en informatique spécialisée dans les logiciels de système d’information géographique opensource. Nous travaillons avec une excellence technique, pour améliorer les solutions SIG Opensource, afin de fournir des solutions pertinentes à nos clients et valoriser les données géographiques. Nous avons une structure efficiente avec un business model OpenSource prouvé, et un impact sur les technologies et la société.
Nous recherchonsOslandia recherche une ou un Ingénieur(e) en développement front-end pour des applications SIG 3D en télétravail. Il s’agit d’un poste technique, mais qui demandera également des aptitudes relationnelles fortes.
Vous aurez en charge la réalisation de projets pour des clients et pour la R&D interne, avec un focus spécifique sur le développement d’applications impliquant de la visualisation 3D. Vous interviendrez particulièrement sur la partie front-end des solutions web à base de JS, WebGL, ainsi que l’interaction avec des backend Python et PostgreSQL/PostGIS.
Vous serez amené à intervenir à plusieurs niveaux :
- sur des projets de développement, en interaction directe avec nos clients
- sur des projets de R&D innovants, en interaction directe avec nos partenaires ( e.g. IASBIM, Giro3D )
- en maintenance sur les applications développées
- en expertise et conseil dans le cadre de notre offre d’assistance
- en formation sur les technologies citées
- en avant-vente pour la conception et les chiffrages des propositions faites à nos clients
Vous maîtrisez le développement informatique et les outils associés. Vous êtes à l’aise avec le langage Javascript et la technologie WebGL. Vous connaissez Python, les bases de données et le langage SQL. Vous connaissez les principes du développement d’application web comportant des interfaces graphiques 3D, notamment basées sur Three.js. Vous avez de bonnes notions d‘architecture applicative front-end. Vous connaissez les principes de développement opensource, le développement agile, et vous attachez de l’importance à la qualité logicielle ( tests, documentation…). Vous êtes à l’aise dans les environnements Linux pour le développement et l’usage quotidien, ainsi que sous Windows pour les tests et le déploiement.
Nos applications intégrant de la 3D et parfois des composantes scientifiques, des compétences en algorithmie et mathématiques appliquées seront un réel plus, ainsi que des compétences en OpenGL en complément de WebGL.
Vous serez en prise directe avec les clients, dans des contextes divers et des projets au forfait, ou en méthodologie agile. Vous avez donc une expérience du travail en mode projet et de la relation client. Vous avez une appétence pour les applications métier, dans des domaines divers : gestion de réseau, gestion des risques, jumeaux numériques urbains ou naturels, BIM…
Vous aurez l’occasion de prendre part aux communautés OpenSource des logiciels SIG. Vous devrez donc participer aux discussions techniques, interagir avec les autres développeurs et utilisateurs. Vous êtes à l’aise dans l’expression orale, aimez partager et transmettre, et vous participerez aux rassemblements et conférences de la communauté OpenSource, à l’international.
Vous aurez également une activité de formation sur les technologies et outils sur lesquels vous travaillez. Celle-ci pourra s’étendre sur des missions de conseil technique. Nous apprécierons pour cela des aptitudes pédagogiques. Le poste comprend donc des déplacements réguliers, majoritairement en France métropolitaine.
Nous apprécierons des compétences initiales en géomatique et systèmes d’information géographique, notamment de l’expérience avec le logiciel QGIS, LeafLet, OpenLayers ou d’autres composants FOSS4G. Nous pourrons vous former pour compléter vos connaissances si vous ne maîtrisez pas complètement ces sujets.
Compétences techniques recherchées :
- Très bonne maîtrise de Javascript
- Bonne maîtrise de WebGL
- Très bonne maîtrise de l’environnement de développement front-end
- Bonne maîtrise des frameworks de développement web ( React.js, Angular…)
- Connaissance de Python
- Connaissance de PostgreSQL/PostGIS, des bases de données et de SQL
- Connaissance des outils permettant la qualité ( tests, intégration continue)
- Maîtrise d’outils et process de développement (git, GitLab…)
- Connaissance des systèmes Linux ( utilisation quotidienne )
- Connaissance des systèmes Windows ( cible pour nos clients )
Nous recherchons des profils présentant des qualités humaines :
- Sens de l’écoute, maturité, intégrité et curiosité
- Capacité à travailler sur des projets de manière autonome
- Savoir s’investir au quotidien tout en gardant un équilibre de vie
- Maturité et réflexion sur le parcours professionnel
Un bon niveau d’anglais est requis pour ce poste.
Nous attendons également de la future collaboratrice ou collaborateur :
- Une facilité géographique pour les déplacements professionnels : situation en France métropolitaine avec proximité d’une gare TGV
- Une capacité à effectuer des déplacements réguliers chez les clients pour des prestations de conseil ou formation
- La participation active au projet d’entreprise
Oslandia se veut une structure atypique, avec des valeurs affirmées et qui propose une cohérence forte entre son objectif de développement des outils OpenSource de système d’information géographique, et son mode de fonctionnement.
Nous proposons notamment :
- Une structure à taille humaine avec la possibilité de contribuer directement au développement de l’entreprise par des mini-projets transverses, séminaires d’entreprise ou encore comité de pilotage
- Un mode de management souple et participatif, notamment avec l’existence d’un comité RH
- Le modèle du télétravail (depuis 2009) avec une forte autonomie des collaboratrices et collaborateurs dans l’organisation des missions et de la journée de travail
- Une équipe stimulante et soudée (cohésion, entraide et bienveillance) : [https:]]
- Des projets techniquement pointus pour des grands comptes publics et privés ( [https:]] )
- Des applications thématiques variées
- Des développements projets en Open Source ( [https:]] )
- La participation au développement et à la communauté d’applications Open Source à visibilité internationale ( e.g. QGIS, GDAL… )
- La participation à des salons et conférences nationales et internationales (e.g. FOSS4G, PGConf, QGIS Community meetings)
- La prise en compte des centres d’intérêt des collaboratrices et collaborateurs (thématique métier, langage informatique…) dans l’affectation des projets
Nous offrons un pack de rémunération composé des aspects suivants :
- Salaire en fonction de l’expérience avec notre grille salariale
- Transparence salariale interne
- Accord d’intéressement collectif
- Mutuelle d’entreprise fortement couvrante intégrant les ayant-droits prise en charge à 75% par l’entreprise
- Convention individuelle de forfait jours selon accord d’entreprise
- 5 semaines de congés payés et 12 jours de repos par an avec souplesse sur leur pose
- Temps partiel possible à terme
- Prime de vacances Syntec
- Des budgets internes alloués pour la contribution Open Source
- Prise en charge des frais liés aux déplacements professionnels sans logique de plafond ou de forfait
- Matériel informatique performant dont un PC portable dernière génération ( e.g. Lenovo X1 Carbon, DELL XPS )
- Prime forfaitaire de télétravail de 130€ nets ou prise en charge d’un espace de cotravail
- Très bon fauteuil de bureau pour prendre soin de votre dos !
- Facilité d’achat de livres pour l’auto-formation
Effectuez votre candidature par l’intermédiaire de notre formulaire dédié.
Nous vous demandons notamment :
- Un CV détaillé et à jour
- Un texte présentant votre motivation à nous rejoindre
- Vos réalisations accessibles, compte GitHub/GitLab, etc
Nous reviendrons vers vous sous peu si votre candidature retient notre attention.
Notre processus de recrutement est présenté sur notre page web et vous sera explicité lors des premiers entretiens. Il comporte plusieurs entretiens individuels avec différents collaborateurs de notre équipe, sur des aspects techniques ainsi que de savoir-être. À l’issue de processus, nous mettons en place un plan d’intégration personnalisé qui vous permet une arrivée la meilleure possible parmi nous.
Nous avons hâte de vous rencontrer, alors n’hésitez pas !
-
16:45
Oslandia recrute : Ingénieur(e) développement front SIG – OSL2301A
sur OslandiaOSL2301A – Ingénieur(e) développement front SIG OslandiaOslandia est une société de services en informatique spécialisée dans les logiciels de système d’information géographique opensource. Nous travaillons avec une excellence technique, pour améliorer les solutions SIG Opensource, afin de fournir des solutions pertinentes à nos clients et valoriser les données géographiques. Nous avons une structure efficiente avec un business model OpenSource prouvé, et un impact sur les technologies et la société.
Nous recherchonsOslandia recherche une ou un Ingénieur(e) en développement front-end pour des applications SIG en télétravail. Il s’agit d’un poste technique, mais qui demandera également des aptitudes relationnelles fortes.
Vous aurez en charge la réalisation de projets pour des clients, avec un focus spécifique sur le développement d’applications front-end. Vous interviendrez particulièrement sur la partie front-end des solutions web à base de JS, HTML, CSS, ainsi que l’interaction avec des backend Python et PostgreSQL/PostGIS. Vous aurez également l’opportunité de vous impliquer sur des projets orientés visualisation 3D, avec l’utilisation de WebGL.
Vous serez amené à intervenir à plusieurs niveaux :
- sur des projets de développement, en interaction directe avec nos clients
- en maintenance sur les applications développées
- en expertise et conseil dans le cadre de notre offre d’assistance
- en formation sur les technologies citées
- en avant-vente pour la conception et les chiffrages des propositions faites à nos clients
Vous maîtrisez le développement informatique et les outils associés. Vous êtes très à l’aise avec le langage Javascript, l’outillage de l’univers JS et les principaux frameworks de développement Front-End ( React, Vue, Angular…). Vous avez des bases en Python, en bases de données et en langage SQL. Vous connaissez les principes du développement d’application web comportant des interfaces graphiques. Vous avez de bonnes notions d’architecture applicative front-end. Vous connaissez les principes de développement opensource, le développement agile, et vous attachez de l’importance à la qualité logicielle ( tests, documentation…). Vous êtes à l’aise dans les environnements Linux pour le développement et l’usage quotidien, ainsi que sous Windows pour les tests et le déploiement.
Vous serez en prise directe avec les clients, dans des contextes divers et des projets au forfait, ou en méthodologie agile. Vous avez donc une expérience du travail en mode projet et de la relation client. Vous avez une appétence pour les applications métier, dans des domaines divers : gestion de réseau, gestion des risques, observatoires et application de dashboard…
Vous aurez l’occasion de prendre part aux communautés OpenSource des logiciels SIG. Vous devrez donc participer aux discussions techniques, interagir avec les autres développeurs et utilisateurs. Vous êtes à l’aise dans l’expression orale, aimez partager et transmettre, et vous participerez aux rassemblements et conférences de la communauté OpenSource, à l’international.
Vous aurez également une activité de formation sur les technologies et outils sur lesquels vous travaillez. Celle-ci pourra s’étendre sur des missions de conseil technique. Nous apprécierons pour cela des aptitudes pédagogiques. Le poste comprend donc des déplacements réguliers, majoritairement en France métropolitaine.
Nous apprécierons des compétences initiales en géomatique et systèmes d’information géographique, notamment de l’expérience avec le logiciel QGIS, LeafLet, OpenLayers, QWC2 ou d’autres composants FOSS4G. Nous pourrons vous former pour compléter vos connaissances si vous ne maîtrisez pas complètement ces sujets.
Compétences techniques recherchées :
- Très bonne maîtrise de Javascript
- Très bonne maîtrise de l’environnement de développement front-end
- Bonne maîtrise des frameworks de développement web ( React.js, Angular, Vue.js…)
- Connaissance de Python
- Connaissance de PostgreSQL/PostGIS, des bases de données et de SQL
- Connaissance des outils permettant la qualité ( tests, intégration continue)
- Maîtrise d’outils et process de développement (git, GitLab…)
- Connaissance des systèmes Linux ( utilisation quotidienne )
- Connaissance des systèmes Windows ( cible pour nos clients )
Nous recherchons des profils présentant des qualités humaines :
- Sens de l’écoute, maturité, intégrité et curiosité
- Capacité à travailler sur des projets de manière autonome
- Savoir s’investir au quotidien tout en gardant un équilibre de vie
- Maturité et réflexion sur le parcours professionnel
Un bon niveau d’anglais est requis pour ce poste.
Nous attendons également de la future collaboratrice ou collaborateur :
- Une facilité géographique pour les déplacements professionnels : situation en France métropolitaine avec proximité d’une gare TGV
- Une capacité à effectuer des déplacements réguliers chez les clients pour des prestations de conseil ou formation
- La participation active au projet d’entreprise
Oslandia se veut une structure atypique, avec des valeurs affirmées et qui propose une cohérence forte entre son objectif de développement des outils OpenSource de système d’information géographique, et son mode de fonctionnement.
Nous proposons notamment :
- Une structure à taille humaine avec la possibilité de contribuer directement au développement de l’entreprise par des mini-projets transverses, séminaires d’entreprise ou encore comité de pilotage
- Un mode de management souple et participatif, notamment avec l’existence d’un comité RH
- Le modèle du télétravail (depuis 2009) avec une forte autonomie des collaboratrices et collaborateurs dans l’organisation des missions et de la journée de travail
- Une équipe stimulante et soudée (cohésion, entraide et bienveillance) : [https:]]
- Des projets techniquement pointus pour des grands comptes publics et privés ( [https:]] )
- Des applications thématiques variées
- Des développements projets en Open Source ( [https:]] )
- La participation au développement et à la communauté d’applications Open Source à visibilité internationale ( e.g. QGIS, GDAL… )
- La participation à des salons et conférences nationales et internationales (e.g. FOSS4G, PGConf, QGIS Community meetings)
- La prise en compte des centres d’intérêt des collaboratrices et collaborateurs (thématique métier, langage informatique…) dans l’affectation des projets
Nous offrons un pack de rémunération composé des aspects suivants :
- Salaire en fonction de l’expérience avec notre grille salariale
- Transparence salariale interne
- Accord d’intéressement collectif
- Mutuelle d’entreprise fortement couvrante intégrant les ayant-droits prise en charge à 75% par l’entreprise
- Convention individuelle de forfait jours selon accord d’entreprise
- 5 semaines de congés payés et 12 jours de repos par an avec souplesse sur leur pose
- Temps partiel possible à terme
- Prime de vacances Syntec
- Des budgets internes alloués pour la contribution Open Source
- Prise en charge des frais liés aux déplacements professionnels sans logique de plafond ou de forfait
- Matériel informatique performant dont un PC portable dernière génération ( e.g. Lenovo X1 Carbon, DELL XPS )
- Prime forfaitaire de télétravail de 130€ nets ou prise en charge d’un espace de cotravail
- Très bon fauteuil de bureau pour prendre soin de votre dos !
- Facilité d’achat de livres pour l’auto-formation
Effectuez votre candidature par l’intermédiaire de notre formulaire dédié.
Nous vous demandons notamment :
- Un CV détaillé et à jour
- Un texte présentant votre motivation à nous rejoindre
- Vos réalisations accessibles, compte GitHub/GitLab, etc
Nous reviendrons vers vous sous peu si votre candidature retient notre attention.
Notre processus de recrutement est présenté sur notre page web et vous sera explicité lors des premiers entretiens. Il comporte plusieurs entretiens individuels avec différents collaborateurs de notre équipe, sur des aspects techniques ainsi que de savoir-être. À l’issue de processus, nous mettons en place un plan d’intégration personnalisé qui vous permet une arrivée la meilleure possible parmi nous.
Nous avons hâte de vous rencontrer, alors n’hésitez pas !
-
16:45
Oslandia recrute : Ingénieur(e) DevOps SIG – OSL2302A
sur OslandiaOSL2302A -Ingénieur(e) DevOps SIG OslandiaOslandia est une société de services en informatique spécialisée dans les logiciels de système d’information géographique opensource. Nous travaillons avec une excellence technique, pour améliorer les solutions SIG Opensource, afin de fournir des solutions pertinentes à nos clients et valoriser les données géographiques. Nous avons une structure efficiente avec un business model OpenSource prouvé, et un impact sur les technologies et la société.
Nous recherchonsOslandia recherche une ou un Ingénieur(e) DevOps SIG en télétravail. Il s’agit d’un poste technique, mais qui demandera également des aptitudes relationnelles fortes.
Vous êtes DevOps, Fullstack, Front-to-back et back-to-front… Mais plutôt que de vous réduire à un néologisme, vous trouvez que la description qui suit vous correspond.
Vous aurez en charge la réalisation de projets pour des clients, avec un focus spécifique sur le développement d’applications web. Vous interviendrez particulièrement sur des solutions à base de Python, PostgreSQL/PostGIS, Angular et/ou React ainsi que sur l’infrastructure soutenant ces applications.
Vous serez amené à intervenir à plusieurs niveaux :
- sur des projets de développement, en interaction directe avec nos clients
- en maintenance sur les applications développées
- en expertise et conseil, directement pour nos clients, que ce soit dans un cadre projet ou de notre offre d’assistance
- en formation pour nos clients sur les technologies citées
- en avant-vente pour la conception et les chiffrages des propositions faites à nos clients
Vous maîtrisez le développement informatique et les outils associés. Vous êtes à l’aise avec le langage Python et vous maîtrisez les bases de données et le langage SQL. Vous savez concevoir et implémenter des APIs. Vous codez des interfaces web en JS, la plupart du temps avec des frameworks tels que Angular ou React. Vous connaissez les principes de développement opensource, le développement agile, et vous attachez de l’importance à la qualité logicielle ( tests, documentation…). Vous êtes à l’aise dans les environnements Linux pour le développement et l’usage quotidien.
Vous êtes en mesure de mettre en place les procédures de test, d’intégration continue, et de déploiement automatisé en utilisant des outils tels qu’Ansible, GitLab CI ou Docker.
Vous serez en prise directe avec les clients, dans des contextes divers et des projets au forfait, ou en méthodologie agile. Vous avez donc une expérience du travail en mode projet et de la relation client. Vous avez une appétence pour les applications à composante cartographique et aimez la diversité des applications.
Vous aurez l’occasion de prendre part aux communautés OpenSource des logiciels SIG. Vous devrez donc participer aux discussions techniques, interagir avec les autres développeurs et utilisateurs. Vous êtes à l’aise dans l’expression orale, aimez partager et transmettre, et vous participerez aux rassemblements et conférences de la communauté OpenSource, à l’international.
Vous aurez également une activité de formation sur les technologies et outils sur lesquels vous travaillez. Celle-ci pourra s’étendre sur des missions de conseil technique. Nous apprécierons pour cela des aptitudes pédagogiques. Le poste comprend donc des déplacements réguliers, majoritairement en France métropolitaine.
Nous apprécierons des compétences initiales en géomatique et systèmes d’information géographique, notamment de l’expérience avec PostGIS et des technologies front-end telles que OpenLayers ou LeafLet. Nous pourrons vous former pour compléter vos connaissances si vous ne maîtrisez pas complètement ces sujets.
Compétences techniques recherchées :
- Bonne maîtrise de Python
- Bonne maîtrise de Javascript et du développement front-end ( Angular / React… )
- Bonne connaissance de PostgreSQL/PostGIS, des bases de données et de SQL
- Connaissance des outils permettant la qualité ( tests, intégration continue)
- Maîtrise d’outils et process de développement (git, GitLab…)
- Maîtrise d’outils et process de déploiement ( Ansible )
- Connaissance des systèmes Linux ( utilisation quotidienne )
Nous recherchons des profils présentant des qualités humaines :
- Sens de l’écoute, maturité, intégrité et curiosité
- Capacité à travailler sur des projets de manière autonome
- Savoir s’investir au quotidien tout en gardant un équilibre de vie
- Maturité et réflexion sur le parcours professionnel
Un bon niveau d’anglais est requis pour ce poste.
Nous attendons également de la future collaboratrice ou collaborateur :
- Une facilité géographique pour les déplacements professionnels : situation en France métropolitaine avec proximité d’une gare TGV
- Une capacité à effectuer des déplacements réguliers chez les clients pour des prestations de conseil ou formation
- La participation active au projet d’entreprise
Oslandia se veut une structure atypique, avec des valeurs affirmées et qui propose une cohérence forte entre son objectif de développement des outils OpenSource de système d’information géographique, et son mode de fonctionnement.
Nous proposons notamment :
- Une structure à taille humaine avec la possibilité de contribuer directement au développement de l’entreprise par des mini-projets transverses, séminaires d’entreprise ou encore comité de pilotage
- Un mode de management souple et participatif, notamment avec l’existence d’un comité RH
- Le modèle du télétravail (depuis 2009) avec une forte autonomie des collaboratrices et collaborateurs dans l’organisation des missions et de la journée de travail
- Une équipe stimulante et soudée (cohésion, entraide et bienveillance) : [https:]]
- Des projets techniquement pointus pour des grands comptes publics et privés ( [https:]] )
- Des applications thématiques variées
- Des développements projets en Open Source ( [https:]] )
- La participation au développement et à la communauté d’applications Open Source à visibilité internationale ( e.g. QGIS, GDAL… )
- La participation à des salons et conférences nationales et internationales (e.g. FOSS4G, PGConf, QGIS Community meetings)
- La prise en compte des centres d’intérêt des collaboratrices et collaborateurs (thématique métier, langage informatique…) dans l’affectation des projets
Nous offrons un pack de rémunération composé des aspects suivants :
- Salaire en fonction de l’expérience avec notre grille salariale
- Transparence salariale interne
- Accord d’intéressement collectif
- Mutuelle d’entreprise fortement couvrante intégrant les ayant-droits prise en charge à 75% par l’entreprise
- Convention individuelle de forfait jours selon accord d’entreprise
- 5 semaines de congés payés et 12 jours de repos par an avec souplesse sur leur pose
- Temps partiel possible à terme
- Prime de vacances Syntec
- Des budgets internes alloués pour la contribution Open Source
- Prise en charge des frais liés aux déplacements professionnels sans logique de plafond ou de forfait
- Matériel informatique performant dont un PC portable dernière génération ( e.g. Lenovo X1 Carbon, DELL XPS )
- Prime forfaitaire de télétravail de 130€ nets ou prise en charge d’un espace de cotravail
- Très bon fauteuil de bureau pour prendre soin de votre dos !
- Facilité d’achat de livres pour l’auto-formation
Effectuez votre candidature par l’intermédiaire de notre formulaire dédié.
Nous vous demandons notamment :
- Un CV détaillé et à jour
- Un texte présentant votre motivation à nous rejoindre
- Vos réalisations accessibles, compte GitHub/GitLab, etc
Nous reviendrons vers vous sous peu si votre candidature retient notre attention.
Notre processus de recrutement est présenté sur notre page web et vous sera explicité lors des premiers entretiens. Il comporte plusieurs entretiens individuels avec différents collaborateurs de notre équipe, sur des aspects techniques ainsi que de savoir-être. À l’issue de processus, nous mettons en place un plan d’intégration personnalisé qui vous permet une arrivée la meilleure possible parmi nous.
Nous avons hâte de vous rencontrer, alors n’hésitez pas !
-
12:00
La traduction, un levier de diffusion
sur OslandiaDiffuser un plugin QGIS, ou tout autre développement qui cherche à toucher un large public, passe forcément par sa traduction.
Elle intervient non seulement dans l’interface, la présentation, mais aussi dans la documentation du plugin.
Comme mentionné dans cet autre article, le plugin LSCI a été traduit et est à présent disponible en français et en anglais.
Pour la traduction de l’interface, nous utilisons les mécanismes de Qt adaptés pour python.
Pour la documentation utilisateur, nous avons décidé de tester une plateforme de traduction collaborative afin de permettre au plus grand nombre de contribuer, et même d’ajouter de nouvelles traductions.
Vincent Bré
Développeur
À son arrivée à Oslandia, Vincent Bré a largement participé à la traduction sur la page Weblate du plugin LSCI, grâce à sa précédente expérience en tant que contributeur à la traduction de la documentation officielle de QGIS via un outil similaire, Transifex.
Il a pu éprouver l’ergonomie de Weblate et confirmer notre choix d’outillage.
Exemple de traductionSaisie de la traduction en coursHistorique des traductions de ce blocMétadonnées associées
Nous avons décidé de tester la plateforme Weblate, où plusieurs projets de l’OSGEO sont traduits.
Cela permet de récupérer les traductions de la communauté directement dans le code du plugin.
En utilisant le processus de traduction de Sphinx, nous avons adapté la façon dont la documentation est construite pour avoir la possibilité de changer facilement le langage affiché, via un lien toujours visible sur la documentation.
-
11:34
Nouvelle sortie du plugin LandSurveyCodesImport (LSCI)
sur OslandiaLandSurveyCodesImport (LSCI) est un plugin de codification topographique. Là où des solutions de levés de terrain moderne ne sont pas adaptées, il accompagne le traitement des points pris sur le terrain en les convertissant en dessin et donnée SIG sur QGIS. Pour une présentation plus détaillée, nous vous renvoyons vers notre précédent article sur ce plugin.
Certains utilisateurs nous ont fait part de demandes afin de faciliter la migration de leur outil de codification vers LSCI. Nous les avons écoutés et procédé à des améliorations de celui-ci.
De nouvelles fonctionnalitésLa principale nouveauté est la fonctionnalité d’archivage qui devient le pivot du plugin. C’est un changement majeur et des adaptations sont à prévoir pour les anciens utilisateurs.
Dans les versions précédentes, la donnée source était peuplée par le traitement réalisé par le plugin. Ce faisant, si l’on souhaitait avoir un fichier non modifié servant pour toutes les procédures, il fallait copier la donnée source afin de ne pas écraser la donnée. Le plugin ne gérait pas cela.
Désormais, le plugin se sert de la structure de la donnée et copie celle-ci dans un dossier sélectionné (ou le dossier temporaire de la boîte à outils des traitements de QGIS) en ajoutant la donnée. Cela a plusieurs avantages :
- Vous ne modifiez pas la donnée source
- Vous avez un fichier intermédiaire pouvant être contrôlé/complété
- Vous pouvez l’archiver pour indiquer la zone de travail concerné en dehors du plan d’ensemble
- Vous pouvez ensuite procéder à une ou plusieurs intégrations suivant votre méthodologie de travail
Par ailleurs, il n’est pas rare pour un logiciel de posséder des logs afin de connaître ce qu’il se passe exactement sous le capot. En l’occurrence, pour la codification, cela permet de savoir où un problème est survenu avec la codification renseignée.
Nous avons donc ajouté une nouvelle ligne pour sélectionner les logs à produire avec un niveau à choisir suivant les standards informatique.
QGIS permet de personnaliser facilement son interface. Néanmoins, il est parfois complexe de se retrouver dans les différents menus et boutons. Pour cette raison, nous avons ajouté les raccourcis des traitements directement dans l’interface principale, permettant aux utilisateurs les moins expérimentés de retrouver les outils principaux du plugin à un seul endroit.
LSCI, comme tout outil métier de ce genre, possède une relative complexité. Sans documentation, il est difficilement utilisable. Nous avons pris à cœur d’améliorer celle-ci et d’expliquer en détail chaque fonctionnement.
Celle-ci est traduite en anglais et nous espérons prochainement pouvoir réaliser l’opération inverse d’avoir l’anglais en défaut afin de traduire dans d’autres langues.Enfin, nous avons profité de ces nouveaux développements pour encore plus améliorer la qualité du code et durcir celui-ci.
- Gérer d’autres formats d’entrée
- Ajouter d’autres outils de codification
- Amélioration de l’export de la liste des codes en PDF
À Oslandia, nous travaillons ardemment pour que vous puissiez vous affranchir de logiciel propriétaire et privateur afin de réaliser votre chaîne de traitement topographique.
Si vous souhaitez connaître comment parvenir à cela ou contribuer à ces outils, vous pouvez nous contacter par mail.
-
15:24
Nouvelle sortie du plugin QompliGIS
sur OslandiaQompliGIS est un plugin qui permet de vérifier des données (aux formats .shp, .gpkg et .dxf) en vue de leur manipulation et intégration. Le plugin offre une variété de points de contrôle : sur les attributs, les géométries, les systèmes de projection. Pour une présentation plus détaillée, nous vous renvoyons vers notre précédent article sur ce plugin.
Certains utilisateurs nous ont fait part de demandes afin de faciliter la migration de leurs outils de vérification vers QompliGIS. Nous les avons écoutés et procédé à des améliorations du plugin.
De nouvelles fonctionnalitésLa première nouveauté concerne l’intégration de nouveaux points de contrôle sur la structure des géométries et la topologie des couches.
Dans la précédente version du plugin, des options étaient proposées en fonction du type de géométrie. Par exemple, pour une couche avec une géométrie de type polygone, vous pouviez contrôler la présence de courbes, de trous et de vérifier une aire minimale.
Désormais, s’ajoutent cinq options de géométrie et de topologie qui s’appliquent quel que soit le type de géométrie. Le plugin peut désormais vérifier :- Les géométries invalides
- Les géométries nulles
- Les géométries vides
- Les doublons de géométrie
- Les superpositions de géométrie
Ces points de contrôle ont fait l’objet de la création d’une nouvelle section dans l’interface.
La seconde nouveauté concerne les formats de sortie du rapport de conformité.
Dorénavant, vous pouvez exporter le rapport au format JSON (JavaScript Object Notation).De plus, les rapports au format HTML ont été enrichis par :
- Une barre de navigation pour naviguer plus facilement entre les différentes couches
- Un fichier de style au format CSS (Cascading Style Sheets)
Les rapports sont ainsi exportables dans 3 formats :
- Markdown
- HTML
- JSON
Entre autres, cette nouvelle version du plugin vient corriger un bug qui apparaissait durant l’édition de certains fichiers de configuration.
Lorsque vous cherchiez à éditer une configuration existante avec des couches dont au moins un champ avait été ajouté/supprimé, une erreur apparaissait. Pour contourner ce problème, la seule solution était de créer de nouveau une configuration. Une opération très contraignante qui pouvait apparaître chronophage en fonction du nombre de couches à contrôler et impliquait que vous vous souveniez des points de contrôle définis dans la précédente configuration.
À présent, lorsque des champs ont été ajoutés/supprimés, l’utilisateur en est informé par une notification qui s’affiche au centre de l’écran. Par couche, il obtient le nombre et le nom des champs ajoutés/supprimés. Puis, l’utilisateur peut éditer sa configuration existante.Cette nouvelle version n’est pas que le fruit des équipes d’Oslandia.
Les étudiants de l’Université Grenoble Alpes du parcours GEOMAS, avec le support de leur professeur Humbert Fiorino, ont considérablement contribué au développement des deux premières nouveautés évoquées dans l’article.Ils se sont prêtés à l’exercice du développement collaboratif sur la plateforme GitHub avant de nous transmettre le code développé par le mécanisme des merge requests.
Ensuite, les équipes d’Oslandia se sont chargées de l’analyse et de l’intégration en veillant à un code de qualité et au respect des bonnes pratiques de développement.Nous les remercions pour leur contribution et félicitons les étudiants pour leur travail de qualité.
- Intégration de nouveaux points de contrôle sur les attributs et les géométries
- Ajout d’un système de logging sur les actions réalisées dans le plugin
- Ajout de correctifs : édition d’une configuration existante après avoir ajouté/supprimé une ou plusieurs couches
- Amélioration de QGIS afin d’intégrer le plugin directement dans QGIS
À Oslandia, nous travaillons ardemment pour que vous puissiez vous affranchir de logiciel propriétaire et privateur afin de contrôler la structure de vos données et garantir une qualité dans les données manipulées et éventuellement livrées.
Si vous souhaitez connaître comment parvenir à cela ou contribuer à ces outils, vous pouvez nous contacter par mail.
-
11:34
Protégé : Les SIG pour la gestion de vols stratosphériques
sur OslandiaLe programme Stratos gère depuis 2013 le vol de ballons stratosphériques ouverts en partenariat avec le CNES. Ces ballons parcourent de grandes distances à une altitude comprise entre 15 et 45 kilomètres, chargés de nombreux capteurs et matériels scientifiques (« d’expériences scientifiques, d’astronomie, de chimie atmosphérique, de prévisions météorologiques et de démonstrations technologiques« ) avant de retomber après 30 à 40 heures de vol. Leur nacelle pèse jusqu’à 1,1 tonnes.
Le matériel est ainsi confronté à des conditions proches de celles qu’on rencontre dans l’espace ; il permet d’effectuer de nombreux prélèvements au cours de son ascension, et les télescopes embarqués s’affranchissent grandement des pollutions atmosphériques rencontrées au niveau du sol.
Plus récemment, l’agence spatiale canadienne a entrepris le développement d’une plateforme de ballons dilatables utilisant les même ballons de latex que ceux utilisés pour les sondages météo. Comme la réglementation canadienne en matière de ballons non-habités diffère des normes internationales et européenne, le vol d’un instrument de 3-4kg au Canada impose l’usage d’un transpondeur certifié ainsi que l’ajout de redondance sur les systèmes de vol.
Le suivi de ces ballons dilatables, de leur position et de certains capteurs s’avère être une part cruciale de la surveillance des campagnes de vol. Plus prosaïquement, il est important de surveiller la zone de retombée pour d’évidentes raisons de sécurité. Ce suivi fait appel à de très nombreuses données cartographiques et à un SIG servant à la fois à planifier les missions et à les surveiller en temps réel.
Source: Agence spatiale canadienne
Au moment de choisir les outils répondant à leurs besoins et aux objectifs fédéraux (open data et open source first), les ingénieurs de l’équipe Stratos ont été séduits par la qualité, la puissance et les valeurs portées par QGIS.
L’équipe en charge de la supervision des vols au sein de l’Agence Spatiale Canadienne a commencé à migrer ses données cartographiques pour les utiliser avec QGIS et a fait appel à Oslandia pour valider les orientations technologiques et la conception du système. Leur questionnement portait notamment sur la manière d’intégrer les données, puis sur les moyens permettant une maintenabilité et une utilisation optimale.
Cela a été avec vif plaisir que nous avons échangé ensemble sur les bonnes pratiques spécifiquement adaptées à ces besoins.
Nous avons recommandé l’utilisation d’une base de données Postgres/Postgis pour faciliter l’organisation des données malgré leur volume, et pour optimiser l’interaction avec QGIS (par exemple pour basculer d’un contexte de visualisation à un autre ou modifier le style des données).
Concernant la surveillance du ballon dilatable, de ses capteurs, et de sa position, nous avons développé rapidement un démonstrateur exploitant une méthode d’étiquetage pour créer un tableau de bord, à l’image de ce projet, ou encore de cet article.
Suite aux retours enthousiastes de l’équipe Stratos, et à leur volonté de partager leurs futurs développements, l’Agence Spatiale Canadienne envisage aujourd’hui la création d’un plugin QGIS qui permettra de visualiser les trajectoires simulées, la vraie position, et la probable zone de retombée des ballons. Ce plugin serait ensuite publié pour être réutilisé.
Dans leur volonté de s’impliquer dans le développement du plugin, les ingénieurs de l’agence spatiale canadienne ont demandé à Oslandia une formation QGISDEV1 afin de pouvoir eux-mêmes rassembler et migrer les outils existants vers le plugin QGIS.
C’est avec une certaine fierté qu’Oslandia fournira l’aide et les conseils nécessaires pour porter l’équipe Stratos vers une autonomie de développement et de partage de leur plugin. Nous espérons également que la communauté astrophysique y trouvera son intérêt et qu’il pourra servir à d’autres acteurs. Et surtout nous avons hâte de le voir utilisé sur une prochaine mission STRATOS !
-
10:00
Des nouvelles de la formation SIG OpenSource
sur OslandiaNos formations, qu’elles soient en INTER ou INTRA, sont toujours dispensées très régulièrement et la qualité de nos formateurs est saluée par les stagiaires dont 93% sont prêts à recommander Oslandia.
Notre modèle de formation en visioconférence, mis en place tout début 2020, a montré sa maturité en 2021 et nous continuerons à proposer ce format y compris à la sortie de la crise sanitaire.
Nous avons en 2021 travaillé sur nos processus qualité internes afin de mieux prendre en compte la diversité des besoins et mieux accueillir nos stagiaires. Ces efforts se sont notamment traduits par l’obtention de la certification Qualiopi qui nous permet de continuer à proposer des formations co-financées par les opérateurs de compétences.
Contactez-nous pour toute demande ou information !
Les dates de nos formations 2022 en INTER sont aussi disponibles sur la page dédiée et dans le catalogue de formation. Elles auront lieu en visioconférence :
-
12:30
Meilleurs vœux 2022 !
sur OslandiaChez Oslandia nous retiendrons de 2021 le souvenir d’une année marquée par de nombreux projets et le constat que les écosystèmes open source prouvent nettement leur utilité, leur dynamisme et leur efficience économique, auprès d’une base d’utilisateurs qui s’étend régulièrement.
Nous constatons autour de nous et auprès de nos partenaires une volonté affirmée des acteurs de la géomatique, d’entrer dans un modèle de développement vertueux où la compétence des équipes est mise en avant, et où les efforts de chacun permettent d’améliorer ensemble les outils sur le plan de la stabilité, des performances comme des fonctionnalités.
Il s’agit d’une confirmation par le marché de la conviction qui est la nôtre depuis plus de dix ans et pour laquelle nous œuvrons en déployant des outils de qualité industrielle au service de nos clients. Cette confirmation nous renforce et nous démarrons l’année toujours plus motivés et avec une équipe renforcée pour répondre aux nouveaux défis de 2022.
Nous abordons cette nouvelle année avec des perspectives de nouveaux projets ambitieux, de collaborations et mutualisations renforcées, et de nouveaux espaces où l’opensource peut prouver sa valeur.
Nous recherchons de nouveaux collaborateurs !Pour appuyer notre croissance, nous recherchons de nouveaux collaborateurs. Si vous connaissez des candidats potentiels, n’hésitez pas à passer le message pour étoffer l’équipe !
-
14:00
Présentation de Quy Thy
sur OslandiaQuy Thy Truong a rejoint l’équipe d’Oslandia il y a 11 mois (le 1er février 2021), comme Ingénieur SIG, en 100% télétravail basé sur Le Mans.
Quy Thy peux tu nous rappeler en quelques lignes ton parcours professionnel ?Mon parcours professionnel a commencé après des études d’ingénieur en géomatique par trois ans de thèse au laboratoire LASTIG de l’IGN. Mon sujet de thèse était : « la détection du carto-vandalisme dans les données géographiques collaboratives ».
Après la soutenance de ma thèse de doctorat j’ai poursuivi dans un post-doc qui a duré un an à l’IFSTTAR (Institut Français des Sciences et Techonologies des Transports, de l’Aménagement et des Réseaux).
Tu as décidé de quitter la recherche pour venir chez Oslandia. Pour quelles raisons ?J’aurais pu en effet continuer dans la recherche mais j’avais besoin de plus de collaboration. On peut ressentir un sentiment de solitude dans la recherche. J’avais également besoin d’être au service d’un client, de voir la concrétisation d’une réalisation.
Que penses tu de cette première année chez Oslandia ?J’ai vraiment progressé dans le développement. J’ai trouvé rapidement ma place dans l’équipe. On a l’avantage d’avoir plusieurs casquettes, on n’est pas seulement dans la réalisation. On peut participer au chiffrage d’un devis, auditer, faire de la formation. C’est varié et très enrichissant.
J’ai été intégrée dès le début en binôme sur un projet ( STC, dont on parlait précédemment). Cela m’a permis de commencer en douceur sans être parachutée d’un coup. J’ai pu approfondir mes connaissances en profitant de la patience et la pédagogie de mes collègues.
Ils n’ont pas hésité à me faire confiance. Grâce à cela, mon premier projet en solo a été plus simple à mener.Il y a un fort esprit d’entraide et de solidarité chez Oslandia, qui participe grandement à la bonne intégration des nouveaux.
Oslandia étant en full remote, comment as tu vécu ton intégration ?J’ai été agréablement surprise de l’accueil chaleureux qui a été fait en étant tous en télétravail. On a tendance à penser que cela peut être amoindri à distance. À Oslandia, ce n’est pas le cas : intégrer les nouveaux et travailler ensemble à distance sont des problématiques qui ont été sérieusement étudiées (et qui le sont toujours d’ailleurs !). La visio fait partie intégrante de l’entreprise.
Au moment des corpos [séminaire d’entreprise résidentiel], je n’ai pas senti que j’étais “une nouvelle” alors que j’étais là depuis quelques mois seulement.J’ai pu participer également au Copil [Comité de Pilotage] de l’entreprise en tant qu’ « invité tournant”. J’ai pu apprécier la transparence des sujets abordés et la façon dont ils étaient mis en œuvre.
Quy Thy, il se trouve que tu as été élue au comité RH en juin dernier par une “Election sans candidat”. Comment tu vis cette expérience ?Au début quand j’ai vu que les personnes avaient voté pour moi, j’ai eu peur car je ne connaissais ni le principe du Comité RH, ni l’élection sans candidat. Venant d’arriver, j’ignorais les problématiques rencontrées par la société, et si je pouvais y apporter une contribution pertinente.
J’ai finalement accepté cette mission après en avoir discuté avec l’équipe et m’être assurée que je faisais le bon choix. C’était une occasion pour moi d’aborder des sujets transverses et de contribuer à l’amélioration du fonctionnement interne de la société.
Je suis encore aujourd’hui très motivée pour mettre ma contribution à résoudre des sujets de fond. C’est pour moi aussi important que de réaliser des projets clients.
Pour une première expérience dans les entreprises privées, c’est positif !
-
11:11
Oslandia recrute : Ingénieur(e) développement front-end SIG 3D – OSL2201A
sur OslandiaOSL2201A – Ingénieur(e) développement front-end SIG 3D OslandiaOslandia est une société de services en informatique spécialisée dans les logiciels de système d’information géographique opensource. Nous travaillons avec une excellence technique, pour améliorer les solutions SIG Opensource, afin de fournir des solutions pertinentes à nos clients et valoriser les données géographiques. Nous avons une structure efficiente avec un business model OpenSource prouvé, et un impact sur les technologies et la société.
Nous recherchonsOslandia recherche une ou un Ingénieur(e) en développement front-end pour des applications SIG 3D en télétravail. Il s’agit d’un poste technique, mais qui demandera également des aptitudes relationnelles fortes.
Vous aurez en charge la réalisation de projets pour des clients et pour la R&D interne, avec un focus spécifique sur le développement d’applications impliquant de la visualisation 3D. Vous interviendrez particulièrement sur la partie front-end des solutions web à base de JS, WebGL, ainsi que l’interaction avec des backend Python et PostgreSQL/PostGIS.
Vous serez amené à intervenir à plusieurs niveaux :
- sur des projets de développement, en interaction directe avec nos clients
- sur des projets de R&D innovants, en interaction directe avec nos partenaires
- en maintenance sur les applications développées
- en expertise et conseil dans le cadre de notre offre d’assistance
- en formation sur les technologies citées
- en avant-vente pour la conception et les chiffrages des propositions faites à nos clients
Vous maîtrisez le développement informatique et les outils associés. Vous êtes à l’aise avec le langage Javascript et la technologie WebGL. Vous connaissez Python, les bases de données et le langage SQL. Vous connaissez les principes du développement d’application web comportant des interfaces graphiques 3D, notamment basées sur Three.js. Vous avez de bonnes notions d’architecture applicative front-end. Vous connaissez les principes de développement opensource, le développement agile, et vous attachez de l’importance à la qualité logicielle ( tests, documentation…). Vous êtes à l’aise dans les environnements Linux pour le développement et l’usage quotidien, ainsi que sous Windows pour les tests et le déploiement.
Nos applications intégrant de la 3D et parfois des composantes scientifiques, des compétences en algorithmie et mathématiques appliquées seront un réel plus, ainsi que des compétences en OpenGL en complément de WebGL.
Vous serez en prise directe avec les clients, dans des contextes divers et des projets au forfait, ou en méthodologie agile. Vous avez donc une expérience du travail en mode projet et de la relation client. Vous avez une appétence pour les applications métier, dans des domaines divers : gestion de réseau, gestion des risques, jumeaux numériques urbains ou naturels, BIM…
Vous aurez l’occasion de prendre part aux communautés OpenSource des logiciels SIG. Vous devrez donc participer aux discussions techniques, interagir avec les autres développeurs et utilisateurs. Vous êtes à l’aise dans l’expression orale, aimez partager et transmettre, et vous participerez aux rassemblements et conférences de la communauté OpenSource, à l’international.
Vous aurez également une activité de formation sur les technologies et outils sur lesquels vous travaillez. Celle-ci pourra s’étendre sur des missions de conseil technique. Nous apprécierons pour cela des aptitudes pédagogiques. Le poste comprend donc des déplacements réguliers, majoritairement en France métropolitaine.
Nous apprécierons des compétences initiales en géomatique et systèmes d’information géographique, notamment de l’expérience avec le logiciel QGIS, LeafLet, OpenLayers ou d’autres composants FOSS4G. Nous pourrons vous former pour compléter vos connaissances si vous ne maîtrisez pas complètement ces sujets.
Compétences techniques recherchées :
- Très bonne maîtrise de Javascript
- Bonne maîtrise de WebGL
- Très bonne maîtrise de l’environnement de développement front-end
- Bonne maîtrise des frameworks de développement web ( React.js, Angular…)
- Connaissance de Python
- Connaissance de PostgreSQL/PostGIS, des bases de données et de SQL
- Connaissance des outils permettant la qualité ( tests, intégration continue)
- Maîtrise d’outils et process de développement (git, GitLab…)
- Connaissance des systèmes Linux ( utilisation quotidienne )
- Connaissance des systèmes Windows ( cible pour nos clients )
Nous recherchons des profils présentant des qualités humaines :
- Sens de l’écoute, maturité, intégrité et curiosité
- Capacité à travailler sur des projets de manière autonome
- Savoir s’investir au quotidien tout en gardant un équilibre de vie
- Maturité et réflexion sur le parcours professionnel
Un bon niveau d’anglais est requis pour ce poste.
Nous attendons également de la future collaboratrice ou collaborateur :
- Une facilité géographique pour les déplacements professionnels : situation en France métropolitaine avec proximité d’une gare TGV
- Une capacité à effectuer des déplacements réguliers chez les clients pour des prestations de conseil ou formation
- La participation active au projet d’entreprise
Oslandia se veut une structure atypique, avec des valeurs affirmées et qui propose une cohérence forte entre son objectif de développement des outils OpenSource de système d’information géographique, et son mode de fonctionnement.
Nous proposons notamment :
- Une structure à taille humaine avec la possibilité de contribuer directement au développement de l’entreprise par des mini-projets transverses, séminaires d’entreprise ou encore comité de pilotage
- Un mode de management souple et participatif, notamment avec l’existence d’un comité RH
- Le modèle du télétravail (depuis 2009) avec une forte autonomie des collaboratrices et collaborateurs dans l’organisation des missions et de la journée de travail
- Une équipe stimulante et soudée (cohésion, entraide et bienveillance) : [https:]]
- Des projets techniquement pointus pour des grands comptes publics et privés ( [https:]] )
- Des applications thématiques variées
- Des développements projets en Open Source ( [https:]] )
- La participation au développement et à la communauté d’applications Open Source à visibilité internationale ( e.g. QGIS, GDAL… )
- La participation à des salons et conférences nationales et internationales (e.g. FOSS4G, PGConf, QGIS Community meetings)
- La prise en compte des centres d’intérêt des collaboratrices et collaborateurs (thématique métier, langage informatique…) dans l’affectation des projets
Nous offrons un pack de rémunération composé des aspects suivants :
- Salaire en fonction de l’expérience avec notre grille salariale
- Transparence salariale interne
- Accord d’intéressement collectif
- Mutuelle d’entreprise fortement couvrante intégrant les ayant-droits prise en charge à 75% par l’entreprise
- Convention individuelle de forfait jours selon accord d’entreprise
- 5 semaines de congés payés et 12 jours de repos par an avec souplesse sur leur pose
- Temps partiel possible à terme
- Prime de vacances Syntec
- Des budgets internes alloués pour la contribution Open Source
- Prise en charge des frais liés aux déplacements professionnels sans logique de plafond ou de forfait
- Matériel informatique performant dont un PC portable dernière génération ( e.g. Lenovo X1 Carbon )
- Prime forfaitaire de télétravail de 130€ nets ou prise en charge d’un espace de cotravail
- Très bon fauteuil de bureau pour prendre soin de votre dos !
- Facilité d’achat de livres pour l’auto-formation
Envoyez votre dossier à jobs+OSL2201A@oslandia.com, en y incluant :
- Un CV détaillé et à jour
- Un texte présentant votre motivation à nous rejoindre
- Vos réalisations accessibles, compte GitHub/GitLab, etc
Nous reviendrons vers vous sous peu si votre candidature retient notre attention.
Notre processus de recrutement est présenté sur notre page web et vous sera détaillé lors du premier entretien. Il comporte plusieurs entretiens individuels avec différents collaborateurs de notre équipe, sur des aspects techniques ainsi que de savoir-être. À l’issue de processus, nous mettons en place un plan d’intégration personnalisé qui vous permet une arrivée la meilleure possible parmi nous.
Nous avons hâte de vous rencontrer, alors n’hésitez pas !
-
18:15
(En) Connect your favorite file hosting service with QGIS 3.22
sur OslandiaBeaucoup d’utilisateurs ont besoin de lier leurs données géographiques avec des documents (photos, vidéos, rapports sous format pdf, manuels…). Ces documents doivent eux-mêmes être stockés sur un système existant comme un FTP, Nextcloud, un stockage objet dans le Cloud, ou un système de fichiers partagés sur le réseau.
Jusqu’à présent, lier les données et les documents était plutôt fastidieux dans QGIS : l’utilisateur devait stocker les données d’une part, puis copier/coller le lien dans les formulaires QGIS pour ensuite mettre à jour les données. De plus, QGIS ne pouvait pas visualiser les données si une authentification était nécessaire, d’où le besoin d’une solution plus intégrée.
Grâce au financement de la Métropole de Lille, j’ai eu l’opportunité de travailler sur la mise en place d’une nouvelle fonctionnalité de stockage externe qui améliore grandement le processus. Cette fonctionnalité est disponible depuis QGIS 3.22 LTR (Long Term Release)* Bialowiesa.
Données et documents dans QGIS : Mode d’emploiSi vous cherchez comment construire votre SIG de façon à lier vos documents et vos données, voici quelques informations bonnes à savoir. Les instructions suivantes supposent que vous utilisez une base de données relationnelle, mais il est possible d’utiliser ce système avec des fichiers (GeoPackage par exemple).
Désormais, QGIS 3.22 interagit de façon plus fluide avec WebDAV et des dossiers (et peut-être bientôt d’autres systèmes)
Dans un premier temps, ajoutez à vos données un champ document qui contiendra l’URL vers le document que vous souhaitez associer. La création d’une table est conseillée pour indexer tous vos documents et leurs éventuelles métadonnées (auteur, date de création…). Cela permet aussi de créer une table d’association et définir des relations « plusieurs à plusieurs » entre vos données et vos documents (voir Créer des relations un à plusieurs ou plusieurs à plusieurs).
Enfin, allez dans la section Formulaire d’attributs puis Type d’outil, et sélectionnez le type Pièce jointe pour l’affichage et l’édition du champ document.
Ainsi, il est maintenant possible d’éditer l’URL du document et de le visualiser (à condition de fonctionner en local ou en HTTP sans authentification).
Pour ajouter un fichier, il faut:
- Le mettre dans votre système de stockage externe
- Copier/coller l’URL dans le widget Pièce jointe
Depuis la version QGIS 3.22, QGIS peut agir comme un client de votre stockage externe, ce qui évite les deux dernières étapes mentionnées ci-avant. Un document peut être ajouté d’un simple glisser-déposer et son URL est mise à jour. Cette version permet aussi de retrouver un document déjà stocké et si besoin, le visualiser directement dans les formulaires.
document.createElement('video'); [https:]] Les différents type de stockageTous les utilisateurs ne stockent pas leur donnée de la même façon, donc le nouveau système est assez générique pour supporter les différents types de stockage utilisés.
Dans QGIS 3.22, il existe deux types de stockage possibles :
- Par simple copie : Copie la ressource sur le disque (local ou réseau)
- Via WebDAV : La ressource est poussée sur un serveur HTTP lié au protocol WebDAV. Nextcloud, Pydio ou d’autres systèmes d’hébergement de fichiers supportent ce protocole.
Le choix Sélectionnez un fichier existant fait référence à l’ancienne façon de traiter les pièces jointes qui induisait que l’URL était pré-existante. Quand vous sélectionnez une ressource, il n’y a pas d’opération de stockage, l’attribut est simplement mis à jour avec l’URL.
ConfigurationDans la nouvelle version, la configuration du widget Pièce jointe n’a pas beaucoup changé. Vous devez :
- Sélectionner le type de stockage (n’oubliez pas que la Sélection d’un fichier existant est l’ancien comportement où il n’y a pas d’opération de stockage)
- Configurer l’URL utilisée pour stocker chacun des fichiers choisis avec le widget de sélection de fichiers ou déposés directement sur le widget.
- Définir comment s’authentifier vers le stockage externe.
Si vous souhaitez contrôler de façon plus fine l’URL de stockage de vos fichiers, vous pouvez définir une expression grâce à l’option Valeur définie par les données. Par exemple, vous pouvez stocker vos fichiers dans différents espaces de stockage en fonction des attributs.
Interface de configuration pour un stockage WebDAV dans un widget Pièce jointe
Mise en pratiqueJ’ai configuré QGIS pour le connecter à mon serveur personnel Nextcloud en utilisant le protocole WebDAV et une authentification classique par login/mot de passe. Ainsi, je peux :
- Récupérer des documents existants dans Nextcloud
- Visualiser ces documents (image, vidéo, documents texte) directement dans QGIS
- Effectuer un Drag and Drop de nouveaux documents : le nouveau fichier est stocké dans Nextcloud et la donnée est mise à jour avec l’URL.
A venir
Si vous souhaitez en savoir plus sur la configuration et l’utilisation de cette fonctionnalité, vous pouvez consulter la documentation de QGIS.
Nous cherchons à améliorer cette fonctionnalité pour les prochaines version de QGIS. Nous aimerions ajouter de nouveaux types de stockage (Le support de Amazon S3 est en cours de développement), améliorer le rendu des photos dans les fonds de carte ou pouvoir charger un projet directement à partir d’un stockage externe.
Si vous souhaitez contribuer ou simplement en savoir plus sur QGIS, n’hésitez pas à nous contacter à infos@oslandia.com et consulter notre proposition de support à QGIS.
* La version LTR bénéficie de correctifs pendant un an (3 mois seulement pour les versions intermédiaires). La 3.22 sera supplantée par la nouvelle LTR, la 3.28.4 le 17 février 2023.
-
9:54
Oslandia recrute : Architecte applicatif et système – OSL2110C
sur OslandiaOSL2110C – Architecte applicatif et système OslandiaOslandia est une société de services en informatique spécialisée dans les logiciels de système d’information géographique opensource. Nous travaillons avec une excellence technique, pour améliorer les solutions SIG Opensource, afin de fournir des solutions pertinentes à nos clients et valoriser les données géographiques. Nous avons une structure efficiente avec un business model OpenSource prouvé, et un impact sur les technologies et la société.
Nous recherchonsOslandia recherche une ou un ingénieur(e) architecte applicatif et système. Il s’agit d’un poste technique, mais qui demandera également des aptitudes relationnelles fortes.
Vous aurez en charge la réalisation de projets pour des clients, avec un focus spécifique sur les aspects d’architecture d’applications, ainsi que les aspects système. Vous interviendrez particulièrement sur des solutions à base de Python et de PostgreSQL/PostGIS.
Vous serez amené à intervenir à plusieurs niveaux :
- en expertise et conseil, directement pour nos clients, que ce soit dans un cadre projet ou de notre offre d’assistance
- en expertise et conseil interne, pour appuyer les développeurs dans la réalisation de leurs solutions
- en maintenance sur nos infrastructures de travail quotidien
- en formation pour nos clients, sur les technologies citées
- en avant-vente, pour la conception des architectures proposées à nos clients
Vous maîtrisez les architectures permettant de réaliser des applications web complexes, basées sur la base de données PostgreSQL/PostGIS, un backend applicatif en Python, et un front-end en Javascript. Vous mettez en œuvre des solutions basées sur des APIs ( e.g. REST ), documentées et respectant les standards. Vous êtes à l’aise avec les configurations des serveurs web, et les diverses méthodes d’authentification. Vous savez ce qu’est un pipeline de traitement de donnée et comment le concevoir et l’industrialiser.
Vos compétences en architecture de systèmes d’information vous permettent de concevoir des solutions à façon, modulables et pérennes, prenant également en compte les facteurs économiques.
Vous êtes en mesure de mettre en place les procédures de test, d’intégration continue, et de déploiement automatisé en utilisant des outils tels qu’Ansible, GitLab CI ou Docker.
Vous serez en prise directe avec les clients, dans des contextes divers et des projets au forfait, ou en méthodologie agile. Vous avez donc une expérience du travail en mode projet et de la relation client.
Vous aurez l’occasion de prendre part aux communautés OpenSource des logiciels SIG. Vous devrez donc participer aux discussions techniques, interagir avec les autres développeurs et utilisateurs. Vous êtes à l’aise dans l’expression orale, aimez partager et transmettre, et vous participerez aux rassemblements et conférences de la communauté OpenSource, à l’international.
Vous aurez également une activité de formation sur les technologies et outils sur lesquels vous travaillez. Celle-ci pourra s’étendre sur des missions de conseil technique. Nous apprécierons pour cela des aptitudes pédagogiques. Le poste comprend donc des déplacements réguliers, majoritairement en France métropolitaine.
Nous apprécierons des compétences initiales en géomatique et systèmes d’information géographique, notamment de l’expérience dans la mise en place d’architectures web SIG, les standards OGC, la pile applicative OpenStreetMap. Nous pourrons vous former pour compléter vos connaissances si vous ne maîtrisez pas complètement ces sujets.
Extra bonus si vous avez en sus des compétences dans la gestion de données 3D, les formats, traitements et outils associés.
Compétences techniques recherchées :
- Très bonne maîtrise des architectures système et applicatives, notamment orientées web (client/serveur, services REST…)
- Très bonne connaissance de PostgreSQL, des bases de données et de SQL
- Bonne maîtrise de Python
- Savoir que l’on peut conjuguer architecture avec logiciel
- Bonne connaissance des outils et méthodes d’intégration continue
- Bonne connaissance des outils de déploiement automatisé ( Ansible )
- Maîtrise d’outils et process de développement (git, GitLab…)
- Très bonne connaissance des systèmes Linux ( administration système )
- Connaissance des technologies de containerisation ( Docker )
- Connaissance des infrastructure de cloud public ( AWS, GCP, Azure, OVHCloud… )
Nous recherchons des profils présentant des qualités humaines :
- Sens de l’écoute, maturité, intégrité et curiosité
- Capacité à travailler sur des projets de manière autonome
- Savoir s’investir au quotidien tout en gardant un équilibre de vie
- Maturité et réflexion sur le parcours professionnel
Un bon niveau d’anglais est requis pour ce poste.
Nous attendons également de la future collaboratrice ou collaborateur :
- Une facilité géographique pour les déplacements professionnels : situation en France métropolitaine avec proximité d’une gare TGV
- Une capacité à effectuer des déplacements réguliers chez les clients pour des prestations de conseil ou formation
- La participation active au projet d’entreprise
Oslandia se veut une structure atypique, avec des valeurs affirmées et qui propose une cohérence forte entre son objectif de développement des outils OpenSource de système d’information géographique, et son mode de fonctionnement.
Nous proposons notamment :
- Une structure à taille humaine avec la possibilité de contribuer directement au développement de l’entreprise par des mini-projets transverses, séminaires d’entreprise ou encore comité de pilotage
- Un mode de management souple et participatif, notamment avec l’existence d’un comité RH
- Le modèle du télétravail (depuis 2009) avec une forte autonomie des collaboratrices et collaborateurs dans l’organisation des missions et de la journée de travail
- Une équipe stimulante et soudée (cohésion, entraide et bienveillance) : [https:]]
- Des projets techniquement pointus pour des grands comptes publics et privés ( [https:]] )
- Des applications thématiques variées
- Des développements projets en Open Source ( [https:]] )
- La participation au développement et à la communauté d’applications Open Source à visibilité internationale ( e.g. QGIS, GDAL… )
- La participation à des salons et conférences nationales et internationales (e.g. FOSS4G, PGConf, QGIS Community meetings)
- La prise en compte des centres d’intérêt des collaboratrices et collaborateurs (thématique métier, langage informatique…) dans l’affectation des projets
Nous offrons un pack de rémunération composé des aspects suivants :
- Salaire en fonction de l’expérience avec notre grille salariale
- Transparence salariale interne
- Accord d’intéressement collectif
- Mutuelle d’entreprise fortement couvrante intégrant les ayant-droits prise en charge à 75% par l’entreprise
- Convention individuelle de forfait jours selon accord d’entreprise
- 5 semaines de congés payés et 12 jours de repos par an avec souplesse sur leur pose
- Temps partiel possible à terme
- Prime de vacances Syntec
- Des budgets internes alloués pour la contribution Open Source
- Prise en charge des frais liés aux déplacements professionnels sans logique de plafond ou de forfait
- Matériel informatique performant dont un PC portable dernière génération ( e.g. Lenovo X1 Carbon )
- Prime forfaitaire de télétravail de 130€ nets ou prise en charge d’un espace de cotravail
- Très bon fauteuil de bureau pour prendre soin de votre dos !
- Facilité d’achat de livres pour l’auto-formation
Envoyez votre dossier à jobs+OSL2110C@oslandia.com, en y incluant :
- Un CV détaillé et à jour
- Un texte présentant votre motivation à nous rejoindre
- Vos réalisations accessibles, compte GitHub/GitLab, etc
Nous reviendrons vers vous sous peu si votre candidature retient notre attention.
Notre processus de recrutement est présenté sur notre page web et vous sera détaillé lors du premier entretien. Il comporte plusieurs entretiens individuels avec différents collaborateurs de notre équipe, sur des aspects techniques ainsi que de savoir-être. À l’issue de processus, nous mettons en place un plan d’intégration personnalisé qui vous permet une arrivée la meilleure possible parmi nous.
Nous avons hâte de vous rencontrer, alors n’hésitez pas !
-
12:11
Oslandia recrute : Ingénieur(e) DevOps SIG – OSL2110B
sur OslandiaOSL2110B – Ingénieur(e) DevOps SIG OslandiaOslandia est une société de services en informatique spécialisée dans les logiciels de système d’information géographique opensource. Nous travaillons avec une excellence technique, pour améliorer les solutions SIG Opensource, afin de fournir des solutions pertinentes à nos clients et valoriser les données géographiques. Nous avons une structure efficiente avec un business model OpenSource prouvé, et un impact sur les technologies et la société.
Nous recherchonsOslandia recherche une ou un Ingénieur(e) DevOps SIG en télétravail. Il s’agit d’un poste technique, mais qui demandera également des aptitudes relationnelles fortes.
Vous êtes DevOps, Fullstack, Front-to-back et back-to-front… Mais plutôt que de vous réduire à un néologisme, vous trouvez que la description qui suit vous correspond.
Vous aurez en charge la réalisation de projets pour des clients, avec un focus spécifique sur le développement d’applications web. Vous interviendrez particulièrement sur des solutions à base de Python, PostgreSQL/PostGIS, Angular et/ou React ainsi que sur l’infrastructure soutenant ces applications.
Vous serez amené à intervenir à plusieurs niveaux :
- sur des projets de développement, en interaction directe avec nos clients
- en maintenance sur les applications développées
- en expertise et conseil, directement pour nos clients, que ce soit dans un cadre projet ou de notre offre d’assistance
- en formation pour nos clients sur les technologies citées
- en avant-vente pour la conception et les chiffrages des propositions faites à nos clients
Vous maîtrisez le développement informatique et les outils associés. Vous êtes à l’aise avec le langage Python et vous maîtrisez les bases de données et le langage SQL. Vous savez concevoir et implémenter des APIs. Vous codez des interfaces web en JS, la plupart du temps avec des frameworks tels que Angular ou React. Vous connaissez les principes de développement opensource, le développement agile, et vous attachez de l’importance à la qualité logicielle ( tests, documentation…). Vous êtes à l’aise dans les environnements Linux pour le développement et l’usage quotidien.
Les applications que vous développerez peuvent faire intervenir de la visualisation 3D, vous n’avez donc pas peur du WebGL et des gros volumes de données et de l’algorithmie.
Vous êtes en mesure de mettre en place les procédures de test, d’intégration continue, et de déploiement automatisé en utilisant des outils tels qu’Ansible, GitLab CI ou Docker.
Vous serez en prise directe avec les clients, dans des contextes divers et des projets au forfait, ou en méthodologie agile. Vous avez donc une expérience du travail en mode projet et de la relation client. Vous avez une appétence pour les applications à composante cartographique et aimez la diversité des applications.
Vous aurez l’occasion de prendre part aux communautés OpenSource des logiciels SIG. Vous devrez donc participer aux discussions techniques, interagir avec les autres développeurs et utilisateurs. Vous êtes à l’aise dans l’expression orale, aimez partager et transmettre, et vous participerez aux rassemblements et conférences de la communauté OpenSource, à l’international.
Vous aurez également une activité de formation sur les technologies et outils sur lesquels vous travaillez. Celle-ci pourra s’étendre sur des missions de conseil technique. Nous apprécierons pour cela des aptitudes pédagogiques. Le poste comprend donc des déplacements réguliers, majoritairement en France métropolitaine.
Nous apprécierons des compétences initiales en géomatique et systèmes d’information géographique, notamment de l’expérience avec PostGIS et des technologies front-end telles que OpenLayers ou LeafLet. Nous pourrons vous former pour compléter vos connaissances si vous ne maîtrisez pas complètement ces sujets.
Compétences techniques recherchées :
- Bonne maîtrise de Python
- Bonne maîtrise de Javascript et du développement front-end ( Angular / React… )
- Bonne connaissance de PostgreSQL/PostGIS, des bases de données et de SQL
- Connaissance des outils permettant la qualité ( tests, intégration continue)
- Maîtrise d’outils et process de développement (git, GitLab…)
- Maîtrise d’outils et process de déploiement ( Ansible )
- Connaissance des systèmes Linux ( utilisation quotidienne )
Nous recherchons des profils présentant des qualités humaines :
- Sens de l’écoute, maturité, intégrité et curiosité
- Capacité à travailler sur des projets de manière autonome
- Savoir s’investir au quotidien tout en gardant un équilibre de vie
- Maturité et réflexion sur le parcours professionnel
Un bon niveau d’anglais est requis pour ce poste.
Nous attendons également de la future collaboratrice ou collaborateur :
- Une facilité géographique pour les déplacements professionnels : situation en France métropolitaine avec proximité d’une gare TGV
- Une capacité à effectuer des déplacements réguliers chez les clients pour des prestations de conseil ou formation
- La participation active au projet d’entreprise
Oslandia se veut une structure atypique, avec des valeurs affirmées et qui propose une cohérence forte entre son objectif de développement des outils OpenSource de système d’information géographique, et son mode de fonctionnement.
Nous proposons notamment :
- Une structure à taille humaine avec la possibilité de contribuer directement au développement de l’entreprise par des mini-projets transverses, séminaires d’entreprise ou encore comité de pilotage
- Un mode de management souple et participatif, notamment avec l’existence d’un comité RH
- Le modèle du télétravail (depuis 2009) avec une forte autonomie des collaboratrices et collaborateurs dans l’organisation des missions et de la journée de travail
- Une équipe stimulante et soudée (cohésion, entraide et bienveillance) : [https:]]
- Des projets techniquement pointus pour des grands comptes publics et privés ( [https:]] )
- Des applications thématiques variées
- Des développements projets en Open Source ( [https:]] )
- La participation au développement et à la communauté d’applications Open Source à visibilité internationale ( e.g. QGIS, GDAL… )
- La participation à des salons et conférences nationales et internationales (e.g. FOSS4G, PGConf, QGIS Community meetings)
- La prise en compte des centres d’intérêt des collaboratrices et collaborateurs (thématique métier, langage informatique…) dans l’affectation des projets
Nous offrons un pack de rémunération composé des aspects suivants :
- Salaire en fonction de l’expérience avec notre grille salariale
- Transparence salariale interne
- Accord d’intéressement collectif
- Mutuelle d’entreprise fortement couvrante intégrant les ayant-droits prise en charge à 75% par l’entreprise
- Convention individuelle de forfait jours selon accord d’entreprise
- 5 semaines de congés payés et 12 jours de repos par an avec souplesse sur leur pose
- Temps partiel possible à terme
- Prime de vacances Syntec
- Des budgets internes alloués pour la contribution Open Source
- Prise en charge des frais liés aux déplacements professionnels sans logique de plafond ou de forfait
- Matériel informatique performant dont un PC portable dernière génération ( e.g. Lenovo X1 Carbon )
- Prime forfaitaire de télétravail de 130€ nets ou prise en charge d’un espace de cotravail
- Très bon fauteuil de bureau pour prendre soin de votre dos !
- Facilité d’achat de livres pour l’auto-formation
Envoyez votre dossier à jobs+OSL2110B@oslandia.com, en y incluant :
- Un CV détaillé et à jour
- Un texte présentant votre motivation à nous rejoindre
- Vos réalisations accessibles, compte GitHub/GitLab, etc
Nous reviendrons vers vous sous peu si votre candidature retient notre attention.
Notre processus de recrutement est présenté sur notre page web et vous sera détaillé lors du premier entretien. Il comporte plusieurs entretiens individuels avec différents collaborateurs de notre équipe, sur des aspects techniques ainsi que de savoir-être. À l’issue de processus, nous mettons en place un plan d’intégration personnalisé qui vous permet une arrivée la meilleure possible parmi nous.
Nous avons hâte de vous rencontrer, alors n’hésitez pas !
-
14:30
Oslandia recrute : Ingénieur(e) développement d’applications SIG ( Python / SQL / QGIS ) – OSL2110A
sur OslandiaOSL2110A – Ingénieur(e) développement d’applications SIG ( Python / SQL / QGIS ) OslandiaOslandia est une société de services en informatique spécialisée dans les logiciels de système d’information géographique opensource. Nous travaillons avec une excellence technique, pour améliorer les solutions SIG Opensource, afin de fournir des solutions pertinentes à nos clients et valoriser les données géographiques. Nous avons une structure efficiente avec un business model OpenSource prouvé, et un impact sur les technologies et la société.
Nous recherchonsOslandia recherche une ou un Ingénieur(e) en développement d’applications SIG en télétravail. Il s’agit d’un poste technique, mais qui demandera également des aptitudes relationnelles fortes.
Vous aurez en charge la réalisation de projets pour des clients, avec un focus spécifique sur le développement d’applications métier. Vous interviendrez particulièrement sur des solutions à base de Python et de PostgreSQL/PostGIS, en utilisant majoritairement la plateforme de développement de QGIS.
Vous serez amené à intervenir à plusieurs niveaux :
- sur des projets de développement, en interaction directe avec nos clients
- en maintenance sur les applications développées
- en expertise et conseil dans le cadre de notre offre d’assistance
- en formation sur les technologies citées
- en avant-vente pour la conception et les chiffrages des propositions faites à nos clients
Vous maîtrisez le développement informatique et les outils associés. Vous êtes à l’aise avec le langage Python et vous maîtrisez les bases de données et le langage SQL. Vous connaissez les principes du développement d’application bureautiques comportant des interfaces graphiques, notamment basées sur Qt. Vous avez de bonnes notions d’architecture applicative. Vous connaissez les principes de développement opensource, le développement agile, et vous attachez de l’importance à la qualité logicielle ( tests, documentation…). Vous êtes à l’aise dans les environnements Linux pour le développement et l’usage quotidien, ainsi que sous Windows pour les tests et le déploiement.
Des compétences en C++ ou d’autres langages seront appréciées. De même, nos applications pouvant intégrer des composantes scientifiques ou 3D, des compétences en algorithmie et mathématiques appliquées seront un plus, ainsi que des compétences en OpenGL.
Vous serez en prise directe avec les clients, dans des contextes divers et des projets au forfait, ou en méthodologie agile. Vous avez donc une expérience du travail en mode projet et de la relation client. Vous avez une appétence pour les applications métier, dans des domaines divers : gestion de réseau, optimisation d’exploitation industrielle, hydrologie et hydrogéologie…
Vous aurez l’occasion de prendre part aux communautés OpenSource des logiciels SIG. Vous devrez donc participer aux discussions techniques, interagir avec les autres développeurs et utilisateurs. Vous êtes à l’aise dans l’expression orale, aimez partager et transmettre, et vous participerez aux rassemblements et conférences de la communauté OpenSource, à l’international.
Vous aurez également une activité de formation sur les technologies et outils sur lesquels vous travaillez. Celle-ci pourra s’étendre sur des missions de conseil technique. Nous apprécierons pour cela des aptitudes pédagogiques. Le poste comprend donc des déplacements réguliers, majoritairement en France métropolitaine.
Nous apprécierons des compétences initiales en géomatique et systèmes d’information géographique, notamment de l’expérience avec le logiciel QGIS. Nous pourrons vous former pour compléter vos connaissances si vous ne maîtrisez pas complètement ces sujets.
Compétences techniques recherchées :
- Bonne maîtrise de Python
- Compétences en développement d’interfaces graphiques ( Qt )
- Bonne connaissance de PostgreSQL/PostGIS, des bases de données et de SQL
- Connaissance des outils permettant la qualité ( tests, intégration continue)
- Maîtrise d’outils et process de développement (git, GitLab…)
- Connaissance des systèmes Linux ( utilisation quotidienne )
- Connaissance des systèmes Windows ( cible pour nos clients )
Nous recherchons des profils présentant des qualités humaines :
- Sens de l’écoute, maturité, intégrité et curiosité
- Capacité à travailler sur des projets de manière autonome
- Savoir s’investir au quotidien tout en gardant un équilibre de vie
- Maturité et réflexion sur le parcours professionnel
Un bon niveau d’anglais est requis pour ce poste.
Nous attendons également de la future collaboratrice ou collaborateur :
- Une facilité géographique pour les déplacements professionnels : situation en France métropolitaine avec proximité d’une gare TGV
- Une capacité à effectuer des déplacements réguliers chez les clients pour des prestations de conseil ou formation
- La participation active au projet d’entreprise
Oslandia se veut une structure atypique, avec des valeurs affirmées et qui propose une cohérence forte entre son objectif de développement des outils OpenSource de système d’information géographique, et son mode de fonctionnement.
Nous proposons notamment :
- Une structure à taille humaine avec la possibilité de contribuer directement au développement de l’entreprise par des mini-projets transverses, séminaires d’entreprise ou encore comité de pilotage
- Un mode de management souple et participatif, notamment avec l’existence d’un comité RH
- Le modèle du télétravail (depuis 2009) avec une forte autonomie des collaboratrices et collaborateurs dans l’organisation des missions et de la journée de travail
- Une équipe stimulante et soudée (cohésion, entraide et bienveillance) : [https:]]
- Des projets techniquement pointus pour des grands comptes publics et privés ( [https:]] )
- Des applications thématiques variées
- Des développements projets en Open Source ( [https:]] )
- La participation au développement et à la communauté d’applications Open Source à visibilité internationale ( e.g. QGIS, GDAL… )
- La participation à des salons et conférences nationales et internationales (e.g. FOSS4G, PGConf, QGIS Community meetings)
- La prise en compte des centres d’intérêt des collaboratrices et collaborateurs (thématique métier, langage informatique…) dans l’affectation des projets
Nous offrons un pack de rémunération composé des aspects suivants :
- Salaire en fonction de l’expérience avec notre grille salariale
- Transparence salariale interne
- Accord d’intéressement collectif
- Mutuelle d’entreprise fortement couvrante intégrant les ayant-droits prise en charge à 75% par l’entreprise
- Convention individuelle de forfait jours selon accord d’entreprise
- 5 semaines de congés payés et 12 jours de repos par an avec souplesse sur leur pose
- Temps partiel possible à terme
- Prime de vacances Syntec
- Des budgets internes alloués pour la contribution Open Source
- Prise en charge des frais liés aux déplacements professionnels sans logique de plafond ou de forfait
- Matériel informatique performant dont un PC portable dernière génération ( e.g. Lenovo X1 Carbon )
- Prime forfaitaire de télétravail de 130€ nets ou prise en charge d’un espace de cotravail
- Très bon fauteuil de bureau pour prendre soin de votre dos !
- Facilité d’achat de livres pour l’auto-formation
Envoyez votre dossier à jobs+OSL2110A@oslandia.com, en y incluant :
- Un CV détaillé et à jour
- Un texte présentant votre motivation à nous rejoindre
- Vos réalisations accessibles, compte GitHub/GitLab, etc
Nous reviendrons vers vous sous peu si votre candidature retient notre attention.
Notre processus de recrutement est présenté sur notre page web et vous sera détaillé lors du premier entretien. Il comporte plusieurs entretiens individuels avec différents collaborateurs de notre équipe, sur des aspects techniques ainsi que de savoir-être. À l’issue de processus, nous mettons en place un plan d’intégration personnalisé qui vous permet une arrivée la meilleure possible parmi nous.
Nous avons hâte de vous rencontrer, alors n’hésitez pas !
-
18:14
De la 3D dans QGIS ? des nouvelles du 3DTiles
sur OslandiaQGIS est un client SIG conçu pour visualiser et éditer des données cartographiques, en 2D pour faire court. Le besoin de consulter des données 3D est bien présent ces dernières années, notamment car l’information est plus facilement disponible et beaucoup d’acteurs privés et publics multiplient les acquisitions. De telles fonctionnalités permettront d’enrichir les cartes avec des données complémentaires, de représenter et comprendre des jeux de données complexes, et servir d’aide à la décision lors de la simulation d’évènements géophysiques. Chez Oslandia nous travaillons sur ces thématiques pour le compte de nos clients, et de manière appuyée ces derniers temps. Les données Les données concernées peuvent être des modèles urbains (maquettes numériques, maquettes BIM), des données souterraines ou minières (comme évoquées dans cet article), des nuages de points (acquis par photogrammétrie par exemple)… la liste est longue. La représentation de telles informations pose des questions d’utilisation ; il devrait ainsi être possible de :- charger les données intelligemment en fonction des niveaux de zoom et de l’emplacement virtuel de la « caméra », pour optimiser les performances et éviter de surcharger l’affichage
- sélectionner les éléments individuellement pour connaître leurs attributs
- modifier la représentation des objets en fonction de paramètres et attributs
- réaliser des coupes et des projections d’objets 3D de manière à les représenter sous différents angles.
- des nuages de points (formats PCD ou EPT)
- des modèles 3D (formats 3DS, OBJ)
- des scènes 3D (formations Collada, KML ou glTF)
- des modèles urbains (CityGML)
- des formats intégrant le LOD pour de la visualisation (formats 3DTiles, IFC)
Plusieurs acteurs se sont intéressés au sujet depuis 2017, notamment avec les premières fonctionnalités proposées dans QGIS 2.18. Comme QGIS n’est pas initialement conçu comme un visualiseur ou éditeur 3D, les premières fonctions d’affichage se sont faites dans une fenêtre / un widget indépendant de la carte principale et dédié à cet effet. Dans sa fenêtre principale, QGIS reprojette les données 3D pour les afficher en 2D ou 2,5D.
Enfin, QGIS est basé sur le framework Qt, plus précisément sur sa version 5. QGIS a encore des limitations concernant la 3D, et notamment :- les projections sont partiellement supportées
- le framework Qt a évolué sur la 3D dans sa version 6
- exploiter les fonctions LOD de QGIS
- savoir exploiter le glTF pour rendre des données maillées et des textures
- gérer la reprojection depuis WGS 84
- implémenter les fonctions de style et de sélection appliquées au 3DTiles.
Merci !
Nous tenons à remercier ici la métropole européenne de Lille qui a financé ces travaux, ouvrant ainsi la voie à une visualisation directe du format 3DTiles dans QGIS !
Que reste-t-il à faire ?Nous avons jeté les bases d’une implémentation du 3DTiles et nous en sommes très heureux
Néanmoins, pour rendre son utilisation possible dans QGIS, il reste du travail sur ce provider 3DTiles pour l’industrialiser et optimiser ses performances.
Par exemple, il faut améliorer le support du glTF et ajouter la possibilité de sélectionner et de styliser les objets depuis la vue 3D. Aussi pour aller plus loin dans les fonctionnalités utilisateur et coller à la spécification 3DTiles il faut ajouter le support des objets i3dm et pnts.
Un tel travail permettra de proposer des fonctionnalités complètes dans un outil de qualité industrielle destiné à être exploité par l’ensemble des utilisateurs. Pour ce faire nous défendons le modèle open source de la mutualisation des financements. Plusieurs acteurs se sont montrés intéressés pour contribuer à ces évolutions et nous serons aussi heureux de continuer à y travailler !
N’hésitez pas à nous contacter pour en savoir plus !
-
10:36
QompliGIS – Un plugin pour les vérifier tous
sur OslandiaDe nombreux services font appel à des prestataires externes pour réaliser leurs plans.
La plupart du temps ils fournissent un cahier des charges pour la numérisation des plans que le topographe doit respecter. Le destinataire des données doit alors s’assurer de leur conformité avant de les intégrer dans le SIG.
Lors de nos missions d’audit ou de conseils, nos clients nous demandent régulièrement s’il existe un outil permettant de vérifier des données – qui proviennent généralement du monde la DAO – en vue de leur intégration. Si certains services payants ou propriétaires existent, ils ne répondent pas complètement aux besoins de nos clients qui se retrouveraient en plus liés à un éditeur (aka vendor lockin). C’est pour cela que beaucoup possèdent différents outils réalisés à la main, en python, en SQL, avec des connecteurs DAO ou un ETL spatial.
QGIS possède plusieurs outils permettant de réaliser ces étapes de vérification, mais ils ne sont pas accessibles simplement et leur automatisation est complexe. Paradoxalement aucun plugin n’existe pour réaliser cette tâche alors même qu’elle intéresse tous les utilisateurs qui travaillent à l’intégration de données.
La Mairie de Megève (Haute-Savoie, France) nous a demandé d’initier un tel outil, après un échange avec l’agglomération de Colmar (Haut-Rhin, France) sur leurs bonnes pratiques et outils développés en interne. Le plugin a également profité du dispositif « temps opensource » d’Oslandia.
Avant même qu’il ne soit sorti, nous avons pu le tester et le compléter avec d’autres prestations pour d’autres clients.
Aperçu de QompliGIS (configuration des contraintes)
Le plugin permet de vérifier la conformité d’un jeu de données vis-à-vis :
- d’un jeu de données de référence
- d’une configuration de référence qui spécifie des contraintes (champ obligatoire, limites de longueurs dans une couche…). Un assistant dédié s’appuie sur le jeu de données de référence pour créer les fichiers de configuration
Il peut donc s’appliquer à un champ plus large que la vérification des plans de récolement, nous pensons en France à la conformité des Plans Locaux d’Urbanisme ou les schémas data.gouv.fr.
La documentation (fr et en) est disponible à cette adresse : [https:]] et le plugin est disponible dans le gestionnaire d’extensions de QGIS.
Nous prévoyons de réaliser prochainement des développements dans le cœur de QGIS pour améliorer la vérification géométrique et topologique et les rendre disponibles dans cet outil.
Si vous aussi, vous souhaitez contribuer à l’amélioration de cet outil ou vous former sur ce sujet dans QGIS, n’hésitez pas à nous contacter.
-
18:55
QSoccer : QGIS, football, what else ?
sur OslandiaEnclosure: [download]
Chez Oslandia, nous comptons dans l’équipe plusieurs fans de sport (à la TV surtout…) et de football en particulier. A l’occasion de l’Euro
20202021, il nous est venu l’idée d’intégrer les données de matchs dans notre SIG Open Source préféré : QGIS !Grâce au temps Open Source, nous nous sommes lancés dans le développement d’un plugin QGIS de dataviz sur les stats des matchs.
Après la présentation de QasketBall au QGIS Open Day de juin, place à QSoccer !
Chaussez vos géo-cramponsLe plugin est toujours à l’échauffement et n’est donc pas publié sur le dépôt officiel des plugins QGIS. Il vous faut donc ajouter l’URL des vestiaires Oslandia ci-dessous dans votre QGIS afin de pouvoir installer le plugin :
https://oslandia.gitlab.io/qgis/QSoccer/plugins.xml
Il vous faudra aussi installer votre dépendance à la carte d’abonnement de supporter : mplsoccer.
Afficher les stats d’un/e joueur/se- Choisir la compétition
- Choisir le match
- Choisir son équipe
- Choisir un/e joueur/se
- Choisir le mode de représentation : `Passes` ou `Heatmap`
De façon à obtenir une preuve de concept avec un résultat visuel rapide, nous avons choisi d’aller droit au but : représenter un terrain de foot dans un widget Qt sur lequel dessiner des premières statistiques.
- Carte de chaleur de chaque joueur/se, pour avoir une idée de son activité au cours du match :
- Carte directionnelle des passes exécutées par chaque joueur/se :
Deuxième mi-tempsLors du retour des vestiaires, nous envisageons de pousser notre avantage sur les statistiques disponibles : les tirs, les buts, les actions défensives…
Pour ne pas se laisser déborder sur les ailes géographiques, l’objectif est de tirer parti du 4-3-3 (autrement appelé : le canevas de QGIS) pour y représenter directement le terrain et d’y ajouter un lien avec la localisation des matchs, le club des joueurs/se, etc.
On pourrait alors utiliser les outils de traitement de QGIS pour analyser ces données, par exemple en créant des polygones de Voronoï pour chaque joueur, et déterminer son influence sur le jeu en fonction de sa position.
EquipementiersUn projet qui ne serait pas possible sans des passionnés qui publient des données en Open Data et des outils permettant de les gérer : Kloppy, mplsoccer, StatsBomb…
Si vous êtes intéressé par ce projet, le code source et la documentation sont disponibles.
-
15:54
Assistant·e office manager
sur OslandiaOslandiaOslandia est une société de service en informatique spécialisée dans les logiciels de système d’information géographique opensource. SAS générant un chiffre d’affaires d’environ 1,6 M€, Oslandia organise son activité autour de 4 types de prestations : conseil, développement, support et formation. Forte de 11 années d’existence, la société compte aujourd’hui 16 collaborateurs, dont 11 de profil ingénieurs-développeurs, répartis en télétravail sur toute la France. L’organisation interne et le modèle managérial de l’entreprise reposent à la fois sur une forte autonomie des collaborateurs et un modèle collaboratif à distance approfondi induisant une implication individuelle forte dans le projet d’entreprise. Valeurs de l’open source, excellence technique, transparence, entraide et cohésion d’équipe font partie des ingrédients forts de la culture d’entreprise.
Oslandia dispose de plusieurs fonctions supports dont une chief office manager et une collaboratrice en contrat de professionnalisation en alternance. Ces fonctions support sont complétées par plusieurs rôles contribuant au pilotage et à l’organisation de l’activité : responsable avant-vente, responsable de production et responsable planification.
Nous recherchonsOslandia recherche un.e assistant.e office manager à temps plein basé.e sur la région Lyonnaise ou IDF.
Missions confiéesVous serez amené.e à travailler en étroite collaboration avec la Chief officer manager basée sur la région Parisienne, sur les missions décrites ci-dessous. Le poste est en 100 % télétravail avec possibilité de coworking ponctuellement.
Gestion des services généraux- Qualification et affectation des appels et mails entrants ;
- Gestion du courrier (scan, classement, …) ;
- Gestion administratives : location de salle de formation, achats et gestion des stocks ;
- Organisation logistique de séminaires et événements.
Gestion comptable
- Relations clients et fournisseurs ;
- Facturation, relance, encaissement ;
- Saisie des factures d’achats (en relation avec le cabinet comptable) ;
- Suivi des immobilisations ;
- Pointage bancaire ;
- Gestion administrative de l’activité formation d’Oslandia (définition du besoin, courriers, …).
- Préparation des éléments variables de la paie, en relation avec le cabinet en charge de la gestion de la paie de la société ;
- Suivi des absences (rtt, maladie, congés …) ;
- Suivi des visites médicales ;
- Suivi des habilitations électriques ;
- Traitement des notes de frais des collaborateurs ;
- Suivi des adhésions Mutuelle et Prévoyance d’entreprise ;
- Mise à jour des dossiers individuels (RIB, changement d’adresse, …) ;
- Gestion administratives des nouveaux arrivants et des départs de collaborateurs.
Au-delà de votre formation (Niveau BAC ou BAC+2 Comptabilité/Gestion/Administratif), nous serons davantage attentifs aux compétences acquises par l’expérience dans des fonctions proches ou similaires.
- Travail à distance
- Administration du personnel
- Comptabilité
- Maîtrise des logiciels bureautiques
- Organisation
- Rigueur
- Autonomie
- Sens du service
- Capacité à gérer plusieurs projets en même temps
- Réactivité et gestion des priorités
- CDI en 100 % télétravail avec possibilité de coworking
- Temps plein possibilité de temps partiel 80 %
- Rémunération entre 22 et 30 K€ annuels en fonction du profil et de l’expérience
Oslandia est une société au modèle organisationnel atypique, avec des valeurs affirmées et une cohérence forte entre son objectif de développement des outils OpenSource et son mode de fonctionnement interne.
Nous offrons un pack de rémunération composé notamment des aspects suivants :
- Salaire en fonction de l’expérience
- Transparence salariale interne
- Accord d’intéressement collectif
- Mutuelle d’entreprise fortement couvrante intégrant les ayant-droits prise en charge à 75% par l’entreprise
Envoyez votre candidature (CV et Lettre de motivation) avant le 15/06/2021 à jobs+OSL2105A@oslandia.com et indiquer la référence OSL2105A
Poste à pourvoir rapidement
-
10:00
L’open Source chez Oslandia
sur OslandiaVous vous demandez peut-être l’origine du nom d’Oslandia ? Ou peut-être le connaissez-vous déjà ? Dans cet article, nous allons nous focaliser sur l’un des constituants de ce nom : « OS » comme « Open Source » !
Oslandia se positionne en tant qu’expert dans le champ des logiciels SIG Open Source (au premier rang desquels se trouve QGIS). Cela constitue un élément-clé de notre modèle d’affaire.
Mais connaissez-vous l’envers du décor ? Cet article va nous donner l’occasion d’entrer dans le détail de nos contributions au monde de l’Open Source !
PrincipeDans la mesure du possible, nous orientons nos clients vers des outils Open Source, que nous développons grâce à leur financement. Mais que se passe-t-il lorsque des contributions ne trouvent pas de financeurs, alors même que leur intérêt nous semble évident ?
Vient ici ce que nous appelons sobrement chez Oslandia le temps Open Source. Un extrait de notre wiki interne sur le sujet :
Le temps Open Source est un temps d’auto-investissement de la part d’Oslandia, qui peut porter sur des nouveaux projets, de la R&D, ou bien sur des projets existants.
L’intérêt de ce dispositif est en fait multiple :
- pour les projets Open Source, auxquels du temps est consacré ;
- pour Oslandia, qui peut prétendre à des retours en termes commerciaux ;
- pour les collaborateurs, qui sont libres de choisir les projets sur lesquels travailler.
Le temps Open Source se matérialise par une large gamme de tâches, comme il nous plaît de le rappeler chez Oslandia : « les projets Open Source, c’est pas que du code » ! Plutôt que des développeurs, on préfère ainsi parler de contributeurs. Développement, code review, maintenance, documentation, gestion de communauté, communication, à chacun de choisir les sujets sur lesquels il souhaite avancer !
L’open source dans nos agendas
Bilan du dispositif en 202010% de notre temps est ainsi alloué au temps Open Source. En 2020, cela a représenté 173 jours de travail au sein de la structure. La répartition est assez hétérogène dans l’équipe, entre ceux qui exploitent ce temps à fond, et ceux qui ne l’utilisent que très peu, mais le dispositif semble plutôt populaire !
Pour tracer les différents projets qui ont reçu notre attention, nous avons utilisé les évènements inscrits dans nos agendas respectifs. Résultat des courses, comme illustré par le diagramme ci-après :
- environ 25% du temps est identifié comme du temps consacré à QGIS ;
- un gros tiers du temps est dispatché sur le reste des projets, portés chacun par un nombre plus restreint de gens dans l’équipe ;
- le reste, du temps « non identifié » (qui est en fait simplement…mal enregistré dans l’agenda !
)
Répartition des projets open source dans nos agendas
Nos réalisationsPour finir ce tour d’horizon du dispositif de temps Open Source chez Oslandia, voici un petit détail des projets structurants sur 2020 :
QGISQGIS est le SIG bureautique Open Source de référence. Son développement est le fruit d’une large communauté internationale, dans laquelle Oslandia s’inscrit depuis plusieurs années.
Au programme de la soixantaine de jours concernés par ce projet : la poursuite de développements centrés sur le selective masking, une bonne dose de bug fix, des revues de PR, du temps communautaire, avec notamment une participation à l’organisation des journées QGIS utilisateurs.
Deeposlandia/QDeeplandiaDeeposlandia est une bibliothèque Python dédiée à la segmentation sémantique d’images, elle permet de détecter des empreintes de bâtiments à partir d’images aériennes, par exemple. Il s’est principalement agi de faire de la maintenance sur ce projet, en 2020.
Le gros des 16 jours consacrés à cette problématique en 2020 a été dédié à l’extension de ce projet dans un plugin QGIS : QDeepLandia.
Giro3DGiro3d est un framework web de visualisation de données massives en 3D.
Une quinzaine de jours a été passés sur ce sujet l’année dernière. Il s’est agi principalement de préparer la toute première release : documentation, tests unitaires, correction de bugs.
Py3dtilesPendant indispensable de Giro3D, py3dtiles est une librairie python de génération de 3dtiles, format de donnée ouvert pour le streaming de données 3D hétérogènes, principalement à des fins de visualisation web.
Le temps open-source l’année dernière sur ce projet a été principalement consacré à la documentation et au bugfix.
QWC2QWC2 est un client web associé à QGIS Server, permettant ainsi la visualisation de projets QGIS depuis un navigateur.
Ce sujet a été l’objet de deux stages réalisés en cours d’année, qui ont été agrémentés de quelques jours Open Source. De nouvelles fonctionnalités ont été ajoutées, soit dans l’application, soit dans des micro-services qui composent l’environnement global de QWC2, comme l’outil de dessin à main levée pour les annotations, l’export CSV des objets identifiés sur la carte ou la génération automatique de vignettes.
QGeoloGISQGeoloGIS est un plugin QGIS dédié à la visualisation de données géophysiques (logs de forages, séries temporelles) géoréférencées.
Les 7 jours planifiés sur ce projet ont permis d’introduire un jeu de données de démonstration, et d’améliorer la qualité du logiciel, via notamment l’introduction de tests unitaires et d’une CI.
OSGeo4WOSGeo4W est une distribution permettant d’installer une vaste palette de logiciels pour les SIG, sur les systèmes Windows.
2020 nous a permis de passer 5 jours de travail sur la conception d’une VM prête à l’emploi, et sur le déploiement des paquets buildés sur le dépôt osgeo4w-oslandia.com/extra.
ConclusionNous espérons à l’avenir continuer à faire avancer tous ces projets Open Source, et bien d’autres encore !
Si le sujet vous intéresse, si vous avez des questions sur ce dispositif en particulier, ou sur le mode de financement des projets Open Source en général, n’hésitez pas à nous contacter (info@oslandia.com) pour poursuivre l’échange !
-
16:09
Suivi des Trains Commerciaux (STC) avec SNCF Réseau
sur OslandiaEn ces temps de sédentarité forcée, voici un article qui vous fera peut-être voyager (au moins métaphoriquement) ! Il sera ici question de la collaboration entre les équipes de SNCF Réseau et Oslandia sur la thématique de la détection automatique de défauts sur les voies de chemin de fer. L’article a été rédigé en collaboration avec nos clients, merci à eux pour s’être prêtés à l’exercice !
Introduction : les origines du projet STC STC, qu’est-ce que c’est ?La voie ferrée se déforme au cours du temps : les deux rails, soumis à la fois aux passages des trains et aux aléas climatiques, peuvent subir des mouvements verticaux et / ou latéraux, de façon concomitante ou non. Ces déformations sont désignées sous le vocable de « géométrie de la voie ».
Typologie de défauts sur les voies
Pour que ces déformations de la voie ferrée n’induisent aucune atteinte à la sécurité des circulations des trains, une surveillance régulière de la géométrie de la voie est mise en œuvre au sein de SNCF Réseau. Il s’agit de mesurer ces déformations (nivellement, dressage, dévers gauche ou écartement des rails), soit par des mesures manuelles réalisées par des agents spécialisés, soit par des engins de mesure dédiés à cette surveillance. Ces « tournées de surveillance » sont réalisées selon un cycle figé et doivent être programmées longtemps à l’avance. En zone dense, compte tenu de la quantité de trafic et de son amplitude horaire, la programmation du passage d’un engin dédié à la surveillance présente plus de difficultés que sur le reste du réseau.
Dès lors, pour suivre avec une plus grande proximité et un meilleur échantillonnage de mesure l’état de la géométrie des voies ferrées et l’évolution de leurs défauts, une solution consiste à équiper certaines rames commerciales de capteurs spécifiques pour assurer un suivi continu de certains paramètres de géométrie. SNCF teste cette approche dans le cadre du projet STC, pour Surveillance par Trains Commerciaux.
Premières phases du projetLe projet STC a démarré en 2011 via la construction d’une preuve de concept (jusqu’à fin 2013) qui a permis de vérifier l’intérêt industriel et la réalisabilité technique de la surveillance des voies par des trains commerciaux. Entre 2014 et 2017, une phase de conception a permis de lever les verrous technologiques quant au dispositif de mesure déployé sur les rames mais aussi de développer les principes d’analyse des données brutes acquises sur ces rames.
Ces principes d’analyse devaient répondre à un réseau de contraintes :
-
Obtenir des indicateurs de géométrie conformes à ce que le mainteneur de la voie a l’habitude de manipuler (i.e. transformer des accélérations en nivellement, gauche, dévers).
-
Optimiser la localisation des données, dans un référentiel dit de ferro-localisation (système de repérage propre au monde ferroviaire).
-
Être comparable aux données fournies par les engins de mesure dits engins de référence.
-
Valoriser ces données STC pour ne pas « noyer » le mainteneur : extraire l’information utile, autrement dit, les tendances d’évolution des différents indicateurs de géométrie.
En 2017, une première version du code d’analyse était ainsi conçue.
L’entrée d’Oslandia dans le projetToutefois, une marche importante restait à franchir vers la mise en production du code d’analyse. Des problèmes de performance, ainsi que de passage à l’échelle ont dû être résolus ; sans compter le fait qu’un projet informatique de cette ampleur génère une dette technique conséquente. C’est à ce moment-là qu’Oslandia a été sollicitée pour intervenir sur le projet. L’expertise de nos développeurs Python a été mobilisée pour réécrire le code et préparer son industrialisation.
Cette collaboration entre SNCF Réseau et Oslandia offre un bel exemple de projet agile, où des experts métiers et des développeurs travaillent ensemble sur une thématique industrielle, via un Gitlab partagé.
Elle constitue une exception notable dans notre portefeuille de projets, la composante SIG étant reléguée à l’arrière-plan (la ferro-localisation étant donnée a priori), au profit de l’analyse de données.
Entre traitement du signal et analyse de donnéesSTC repose en premier lieu sur la collecte de signaux issus de capteurs physiques. Les mesures données par les accéléromètres sont combinées à des données GNSS (Géolocalisation et Navigation par un Système de Satellites) et à la vitesse des rames, compilées par un système odométrique, afin d’être projetées dans un référentiel de localisation propre au monde ferroviaire : ligne, voie, PK (point kilométrique).
Ensuite, les accélérations mesurées à bord des rames sont transformées en indicateurs qualifiant la géométrie de la voie (nivellement, gauche, dévers, …). Cette partie du traitement repose sur des étapes d’intégration et de filtrage spécifiques ayant fait l’objet d’un brevet.
Accélération, en fonction du référentiel kilométrique
Par rapport aux méthodes traditionnelles, le traitement STC se distingue par un procédé de validation statistique : les rames commerciales ne proposent pas des mesures de référence, par définition, mais la compilation d’un grand nombre de passages, sur une même zone, permet de dessiner le profil des paramètres de géométrie. On extrait enfin, dans un troisième temps, ce qui relève de défauts de géométrie : les dépassements de seuil, pour chaque jour et chaque zone.
Signature d’un défaut, déclinée sur un ensemble de tournées
La quatrième et dernière étape du traitement fournit un suivi dans le temps de ces défauts de géométrie. Ce suivi dans le temps permet au mainteneur d’organiser au plus juste ses interventions en priorisant les défauts qui évoluent rapidement.
Distribution des dépassements de seuil rattachés à un même défaut, au cours du temps
L’ensemble de ces traitements repose sur une utilisation massive de bibliothèques Python dédiées au calcul scientifique : numpy, scipy, pandas.
Le projet STC, aujourd’huiLe principe de suivi de l’état de la géométrie développé dans STC a suscité un fort intérêt de la part des mainteneurs de la géométrie. S’est alors posée la question de fournir ce suivi à partir de données de mesure provenant de sources autres que les rames commerciales SNCF : la rame de surveillance dédiée aux lignes grandes vitesse, qui présente un cycle de mesure très serré par rapport au reste du réseau ferré (tous les 15 jours), ou bien la rame commerciale du RER B équipée par la RATP, qui circule pour partie sur un réseau SNCF. Chacun de ces vecteurs de mesure ayant ses propres spécificités, il s’agit ainsi d’adapter le code d’analyse à de nouveaux indicateurs de géométrie ou à d’autres contraintes déportées.
En parallèle de ces efforts de généralisation, le projet est en pré-production sur une infrastructure DataBricks. Son insertion dans l’écosystème côté SNCF Réseau s’affirme de plus en plus, laissant présager un rôle important parmi les outils de maintenance prédictive des voies.
ConclusionAu final, ce projet permet à Oslandia de collaborer avec SNCF Réseau sur une problématique industrielle complexe, main dans la main avec des experts du domaine. La mise en œuvre de notions de mathématiques appliquées et la mobilisation de bibliothèques Python pour l’analyse de données constituent un challenge particulièrement épanouissant pour les ingénieurs que nous sommes !
Si le sujet vous intéresse, ou si vous faites face vous-mêmes à des problématiques industrielles mêlant mathématiques appliquées et informatique scientifique, n’hésitez pas à nous contacter à infos@oslandia.com pour échanger plus en détail sur cette thématique passionnante !
-
-
10:00
Comment visualiser des données géologiques dans QGIS
sur OslandiaEnclosure: [download]
Dans un article récent, nous avons évoqué les travaux d’Oslandia dans le domaine de la géologie, en particulier au sein de l’écosystème QGIS. Ce nouvel article va se focaliser sur l’un des outils abordés à cette occasion: QGeoloGIS.
La version 1.7.0 de ce plugin a été publié en décembre 2020. Ce nouvel article donne l’occasion de décrire les nouveautés du plugin, et de rappeler ce qu’on peut faire avec lui !
QGeoloGIS, qu’est-ce que c’est ?QGeoloGIS est un plugin QGIS permettant de visualiser des mesures physiques, des données de stratigraphie ou encore d’imagerie sur un ou plusieurs forages. Il propose également l’affichage de séries temporelles.
Types de données supportées par QGeoloGIS (gauche: données de forages; droite: séries temporelles)
Il est ainsi suffisamment générique pour être utilisé dans d’autres contextes (archéologie, génie civil, …), bien que son cas d’usage central est la géologie. Les acteurs ayant financé cet outil sont d’ailleurs deux acteurs français spécialistes de ce domaine : le CEA et Orano.
Quoi de neuf ?Depuis ces derniers mois, un travail important a été réalisé pour étendre le périmètre fonctionnel du plugin. Les évolutions principales peuvent être listées comme suit :
- Une nouvelle documentation a été publiée, avec un tutoriel couvrant ses différentes fonctionnalités. La documentation a été rédigée à partir d’un jeu de données jouet qui propose des exemples de types de données supportées par le plugin.
- QGeoloGIS peut maintenant afficher des données cumulatives, sous forme d’histogrammes, en plus des mesures discrètes.
- Les panneaux de visualisation (respectivement, pour les logs et les séries temporelles) ont été mis à jour et rendus indépendants, en lien avec un refactoring de leurs interactions avec la configuration des graphiques. Leurs boutons permettent maintenant d’interagir avec les deux types de graphique, de créer/supprimer des graphiques et d’effacer la configuration.
- De nombreuses fonctionnalités ont été ajoutées en matière de configuration des graphiques, comme une échelle logarithmique, des valeurs min/max, la gestion des unités, la taille des cellules, les titres… Il est même désormais possible d’afficher plusieurs courbes dans la même cellule graphique.
- En matière d’ergonomie, la navigation dans les graphiques a été repensée, avec de nouvelles options de contrôle.
Et si vous testiez tout cela par vous-même ? Nous adorerions connaître vos retours à propos de ce nouveau QGeoloGIS !
Comment démarrer ?QGeoloGIS fonctionne avec plusieurs formats de données géoréférencées : GeoPackage et base de donnée (voire même shapefile pour des données tabulaires simples).
Supposons que vous ayez des données issues de différents forages, et des séries de mesures associées (définies selon l’axe des profondeurs, ou du temps). En premier lieu, il vous faudra importer les stations (géoréférencées) et les différentes mesures en tant que couches QGIS distinctes. QGeoloGIS utilise l’outil de sélection de QGIS, pour choisir le ou les forages sur lesquels portera l’analyse.
[https:]]Pour toute nouvelle couche de forages configurée, vous pourrez ajouter de nouveaux graphiques lié à chaque mesure, via les boutons des panneaux de visualisation.
La configuration associée aux forages contient toutes les informations nécessaire à l’affichage : les options graphiques, de même que la symbologie. Cette configuration est sérialisable via le projet QGIS ; il est également possible de la sauvegarder au format .json.
Feuille de routeLa feuille de route de QGeoloGIS pour les prochains mois a été publiée sur le Gitlab public d’Oslandia. Elle contient de nombreuses fonctionnalités intéressantes à rajouter à QGeoloGIS (et pour lesquelles nous cherchons des acteurs intéressés par la mutualisation des financements) :
- mise à jour du paramétrage des couches de la configuration ;
- définition d’un jeu de données exemple plus complet, avec une symbologie par défaut travaillée ;
- amélioration des performances (notamment pour des séries de données « massives ») ;
- extension de l’empilage de séries de données aux cellules de stratigraphie, voire d’imagerie ;
- introduction des sections de plan (à la sélection des forages) et du rendu de coupes (pour la visualisation) ;
- édition des données depuis les cellules graphiques ;
- export des graphiques via le gestionnaire de mise en page de QGIS.
La fonctionnalité de vos rêves n’est pas dans cette liste ? Faites-nous signe !
ConclusionDans les mois qui viennent, nous allons poursuivre nos efforts visant à mieux définir et à mettre en œuvre cette feuille de route. Ce logiciel aura une place de choix dans notre club utilisateur SIG pour la géologie.
Intéressés par la thématique ? Nous serons ravis d’échanger avec vous, n’hésitez pas à nous contacter à infos@oslandia.com !
-
14:34
Oslandia recrute : ingénieur(e) développement C++ / Python – OSL2011B
sur OslandiaOSL2011B – Ingénieur(e) développement C++ / Python OslandiaOslandia est une société de services en informatique spécialisée dans les logiciels de système d’information géographique opensource. Nous travaillons avec une excellence technique, pour améliorer les solutions SIG Opensource, afin de fournir des solutions pertinentes à nos clients et valoriser les données géographiques. Nous avons une structure efficiente avec un business model OpenSource prouvé, et un impact sur les technologies et la société.
Nous recherchonsOslandia recherche un ou une ingénieur(e) de développement C++ en télétravail. Il s’agit d’un poste technique, mais qui demandera également des aptitudes relationnelles fortes.
Vous aurez en charge la réalisation de projets de développement pour des clients, avec des bases techniques de C++ et de Python.
Vous serez amené à développer activement le logiciel libre de SIG bureautique QGIS. Vous avez donc des facilités en développement C++, et avez un goût pour la programmation d’applications bureautiques avec interface graphique basées sur Qt. Des compétences en algorithmie sont également bienvenues, ainsi que dans le développement d’applications 3D ( OpenGL, Qt3D, Shaders…). Vous êtes à l’aise dans les environnements Linux pour le développement et l’usage quotidien, ainsi que sous Windows pour les tests et le déploiement.
Vous maîtrisez les outils de développement, et avez une expérience forte dans la gestion de la qualité logicielle : tests unitaires, intégration continue, débuggers, etc. Vous avez de bonnes notions d’architecture applicative. Vous connaissez les principes de développement opensource et le développement agile..
Vous développerez aussi des extensions QGIS ou des applications complètes en Python, en complément des développements cœur en C++. Vous pourrez intervenir par exemple sur des applications métier telles que Albion. Les thématiques métier sur lesquelles vous travaillerez peuvent être variées. Le couplage d’applications SIG et de simulation numérique est par exemple un sujet sur lequel vous aurez à travailler : géologie, hydrologie, simulation atmosphérique font partie de nos thématiques client.
Vous serez en prise directe avec les clients, dans des contextes divers et des projets au forfait, ou en méthodologie agile. Vous avez donc une expérience du travail en mode projet et de la relation client.
Vous prendrez part aux communautés OpenSource des logiciels SIG, et principalement de QGIS, avec l’objectif de devenir contributeur actif reconnu du projet. Vous devrez donc participer aux discussions techniques, interagir avec les autres développeurs et utilisateurs, effectuer des code review sur le projet. Vous êtes à l’aise dans l’expression orale, aimez partager et transmettre, et vous participerez aux rassemblements et conférences de la communauté OpenSource, à l’international.
Vous aurez également une activité de formation sur les technologies et outils sur lesquels vous travaillez. Celle-ci pourra s’étendre sur des missions de conseil technique. Nous apprécierons pour cela des aptitudes pédagogiques. Le poste comprend donc des déplacements réguliers, majoritairement en France métropolitaine ( hors période COVID ).
Nous apprécierons des compétences initiales en géomatique et systèmes d’information géographique, mais nous pourrons vous former si vous ne maîtrisez pas ces sujets.
Compétences techniques recherchées :
- Bonne maîtrise de C++ et Python
- Compétences en développement d’interfaces graphiques ( Qt ) et 3D si possible
- Connaissances en bases de données et SQL
- Connaissances en algorithmie (+1 si Knuth est votre Dieu)
- Savoir que l’on peut conjuguer architecture avec logiciel
- Maîtrise d’outils et process de développement (git, valgrind et consort)
- Aisance sous Linux
Nous recherchons des profils présentant des qualités humaines :
- Sens de l’écoute, maturité, intégrité et curiosité
- Capacité à travailler sur des projets de manière autonome
- Savoir s’investir au quotidien tout en gardant un équilibre de vie
- Maturité et réflexion sur le parcours professionnel
Un bon niveau d’anglais est requis pour ce poste.
Nous attendons également de la future collaboratrice ou collaborateur :
- Une facilité géographique pour les déplacements professionnels : situation en France métropolitaine avec proximité d’une gare TGV
- Une capacité à effectuer des déplacements réguliers chez les clients pour des prestations de conseil ou formation
- La participation active au projet d’entreprise
Oslandia se veut une structure atypique, avec des valeurs affirmées et qui propose une cohérence forte entre son objectif de développement des outils OpenSource de système d’information géographique, et son mode de fonctionnement.
Nous proposons notamment :
- Une structure à taille humaine avec la possibilité de contribuer directement au développement de l’entreprise par des mini-projets transverses, séminaires d’entreprise ou encore comité de pilotage
- Un mode de management souple et participatif, notamment avec l’existence d’un comité RH
- Le modèle du télétravail avec une forte autonomie des collaboratrices et collaborateurs dans l’organisation des missions et de la journée de travail
- Une équipe stimulante et soudée (cohésion, entraide et bienveillance) : [https:]]
- Des projets techniquement pointus pour des grands comptes publics et privés ( [https:]] )
- Des applications thématiques variées
- Des développements projets en Open Source ( [https:]] )
- La participation au développement et à la communauté d’applications Open Source à visibilité internationale ( e.g. QGIS, GDAL… )
- La participation à des salons et conférences nationales et internationales (e.g. FOSS4G, PGConf, QGIS Community meetings)
- La prise en compte des centres d’intérêt des collaboratrices et collaborateurs (thématique métier, langage informatique…) dans l’affectation des projets
Nous offrons un pack de rémunération composé des aspects suivants :
- Salaire en fonction de l’expérience
- Transparence salariale interne
- Accord d’intéressement collectif
- Mutuelle d’entreprise fortement couvrante intégrant les ayant-droits prise en charge à 75% par l’entreprise
- Convention individuelle de forfait jours selon accord d’entreprise
- 5 semaines de congés payés et 12 jours de repos par an avec souplesse sur leur pose
- Temps partiel possible à terme
- Prime de vacances Syntec
- Jusqu’à 10% du temps de travail dédié à la contribution Open Source
- Prise en charge des frais liés aux déplacements professionnels sans logique de plafond ou de forfait
- Matériel informatique performant dont un PC portable dernière génération ( e.g. Lenovo X1 Carbon )
- Prime forfaitaire de télétravail de 130€ nets ou prise en charge d’un espace de cotravail
- Très bon fauteuil de bureau pour prendre soin de votre dos !
- Facilité d’achat de livres pour l’auto-formation
Envoyez votre dossier à jobs+OSL2011B@oslandia.com, en y incluant :
- Un CV détaillé et à jour
- Un texte présentant votre motivation à nous rejoindre
- Vos réalisations accessibles, compte GitHub/GitLab, etc
Nous reviendrons vers vous sous peu si votre candidature retient notre attention.
Notre processus de recrutement vous sera explicité lors des premiers entretiens. Il comporte plusieurs entretiens individuels avec différents collaborateurs de notre équipe, sur des aspects techniques ainsi que de savoir-être. À l’issue de processus, nous mettons en place un plan d’intégration personnalisé qui vous permet une arrivée la meilleure possible parmi nous.
-
14:26
Oslandia recrute : Ingénieur(e) développement d’applications SIG ( Python / SQL / QGIS ) – OSL2011A
sur OslandiaOSL2011A – Ingénieur(e) développement d’applications SIG ( Python / SQL / QGIS ) OslandiaOslandia est une société de services en informatique spécialisée dans les logiciels de système d’information géographique opensource. Nous travaillons avec une excellence technique, pour améliorer les solutions SIG Opensource, afin de fournir des solutions pertinentes à nos clients et valoriser les données géographiques. Nous avons une structure efficiente avec un business model OpenSource prouvé, et un impact sur les technologies et la société.
Nous recherchonsOslandia recherche une ou un Développeur(se) d’applications SIG en télétravail. Il s’agit d’un poste technique, mais qui demandera également des aptitudes relationnelles fortes.
Vous aurez en charge la réalisation de projets pour des clients, avec un focus spécifique sur le développement d’applications métier. Vous interviendrez particulièrement sur des solutions à base de Python et de PostgreSQL/PostGIS, en utilisant majoritairement la plateforme de développement de QGIS.
Vous serez amené à intervenir à plusieurs niveaux :
- sur des projets de développement, en interaction directe avec nos clients
- en maintenance sur les applications développées
- en expertise et conseil dans le cadre de notre offre d’assistance
- en avant-vente pour la conception et les chiffrages des propositions faites à nos clients
Vous maîtrisez le développement informatique et les outils associés. Vous êtes à l’aise avec le langage Python et vous maîtrisez les bases de données et le langage SQL. Vous connaissez les principes du développement d’application bureautiques comportant des interfaces graphiques, notamment basées sur Qt. Vous avez de bonnes notions d’architecture applicative. Vous connaissez les principes de développement opensource, le développement agile, et vous attachez de l’importance à la qualité logicielle ( tests, documentation…). Vous êtes à l’aise dans les environnements Linux pour le développement et l’usage quotidien, ainsi que sous Windows pour les tests et le déploiement.
Des compétences en C++ ou d’autres langages seront appréciées. De même, nos applications pouvant intégrer des composantes scientifiques ou 3D, des compétences en algorithmie et mathématiques appliquées seront un plus, ainsi que des compétences en OpenGL.
Vous serez en prise directe avec les clients, dans des contextes divers et des projets au forfait, ou en méthodologie agile. Vous avez donc une expérience du travail en mode projet et de la relation client. Vous avez une appétence pour les applications métier, dans des domaines divers : gestion de réseau, optimisation d’exploitation industrielle, hydrologie et hydrogéologie…
Vous aurez l’occasion de prendre part aux communautés OpenSource des logiciels SIG. Vous devrez donc participer aux discussions techniques, interagir avec les autres développeurs et utilisateurs. Vous êtes à l’aise dans l’expression orale, aimez partager et transmettre, et vous participerez aux rassemblements et conférences de la communauté OpenSource, à l’international.
Vous aurez également une activité de formation sur les technologies et outils sur lesquels vous travaillez. Celle-ci pourra s’étendre sur des missions de conseil technique. Nous apprécierons pour cela des aptitudes pédagogiques. Le poste comprend donc des déplacements réguliers, majoritairement en France métropolitaine.
Nous apprécierons des compétences initiales en géomatique et systèmes d’information géographique, notamment de l’expérience avec le logiciel QGIS. Nous pourrons vous former pour compléter vos connaissances si vous ne maîtrisez pas complètement ces sujets.
Compétences techniques recherchées :
- Bonne maîtrise de Python
- Compétences en développement d’interfaces graphiques ( Qt )
- Bonne connaissance de PostgreSQL/PostGIS, des bases de données et de SQL
- Connaissance des outils permettant la qualité ( tests, intégration continue)
- Maîtrise d’outils et process de développement (git, GitLab…)
- Connaissance des systèmes Linux ( utilisation quotidienne )
- Connaissance des systèmes Windows ( cible pour nos clients )
Nous recherchons des profils présentant des qualités humaines :
- Sens de l’écoute, maturité, intégrité et curiosité
- Capacité à travailler sur des projets de manière autonome
- Savoir s’investir au quotidien tout en gardant un équilibre de vie
- Maturité et réflexion sur le parcours professionnel
Un bon niveau d’anglais est requis pour ce poste.
Nous attendons également de la future collaboratrice ou collaborateur :
- Une facilité géographique pour les déplacements professionnels : situation en France métropolitaine avec proximité d’une gare TGV
- Une capacité à effectuer des déplacements réguliers chez les clients pour des prestations de conseil ou formation
- La participation active au projet d’entreprise
Oslandia se veut une structure atypique, avec des valeurs affirmées et qui propose une cohérence forte entre son objectif de développement des outils OpenSource de système d’information géographique, et son mode de fonctionnement.
Nous proposons notamment :
- Une structure à taille humaine avec la possibilité de contribuer directement au développement de l’entreprise par des mini-projets transverses, séminaires d’entreprise ou encore comité de pilotage
- Un mode de management souple et participatif, notamment avec l’existence d’un comité RH
- Le modèle du télétravail avec une forte autonomie des collaboratrices et collaborateurs dans l’organisation des missions et de la journée de travail
- Une équipe stimulante et soudée (cohésion, entraide et bienveillance) : [https:]]
- Des projets techniquement pointus pour des grands comptes publics et privés ( [https:]] )
- Des applications thématiques variées
- Des développements projets en Open Source ( [https:]] )
- La participation au développement et à la communauté d’applications Open Source à visibilité internationale ( e.g. QGIS, GDAL… )
- La participation à des salons et conférences nationales et internationales (e.g. FOSS4G, PGConf, QGIS Community meetings)
- La prise en compte des centres d’intérêt des collaboratrices et collaborateurs (thématique métier, langage informatique…) dans l’affectation des projets
Nous offrons un pack de rémunération composé des aspects suivants :
- Salaire en fonction de l’expérience
- Transparence salariale interne
- Accord d’intéressement collectif
- Mutuelle d’entreprise fortement couvrante intégrant les ayant-droits prise en charge à 75% par l’entreprise
- Convention individuelle de forfait jours selon accord d’entreprise
- 5 semaines de congés payés et 12 jours de repos par an avec souplesse sur leur pose
- Temps partiel possible à terme
- Prime de vacances Syntec
- Jusqu’à 10% du temps de travail dédié à la contribution Open Source
- Prise en charge des frais liés aux déplacements professionnels sans logique de plafond ou de forfait
- Matériel informatique performant dont un PC portable dernière génération ( e.g. Lenovo X1 Carbon )
- Prime forfaitaire de télétravail de 130€ nets ou prise en charge d’un espace de cotravail
- Très bon fauteuil de bureau pour prendre soin de votre dos !
- Facilité d’achat de livres pour l’auto-formation
Envoyez votre dossier à jobs+OSL2011A@oslandia.com, en y incluant :
- Un CV détaillé et à jour
- Un texte présentant votre motivation à nous rejoindre
- Vos réalisations accessibles, compte GitHub/GitLab, etc
Nous reviendrons vers vous sous peu si votre candidature retient notre attention.
Notre processus de recrutement vous sera explicité lors des premiers entretiens. Il comporte plusieurs entretiens individuels avec différents collaborateurs de notre équipe, sur des aspects techniques ainsi que de savoir-être. À l’issue de processus, nous mettons en place un plan d’intégration personnalisé qui vous permet une arrivée la meilleure possible parmi nous.
-
19:13
Mettre à jour vos vieux clusters PostGIS
sur OslandiaCela fait déjà quelques années que votre base de donnée PostGIS est votre fidèle compagne, gardienne de vos données géographiques, répondant avec diligence à vos requêtes les plus alambiquées. Et pourtant, malgré ces bons et loyaux services, ainsi va la logique du monde : il faut évoluer, bouger, se mettre à jour et donc mettre à jour également ce vieux cluster !
C’est alors que les problèmes commencent : entre les changements cassants des versions majeures de PostgreSQL, les fonctions dépréciées de PostGIS qui finissent par être supprimées et la taille de ce vieux cluster devenue conséquente au fil des années, l’opération peut ne pas être simple ! Cet article détaillera la procédure à grosse maille et évoquera certains points de vigilance à garder à l’esprit pour migrer avec sérénité.
On ne parlera que des migrations de versions majeures. En effet, pour les versions mineures de PostgreSQL, il n’y a rien à faire et pour PostGIS il suffit d’utiliser :
ALTER EXTENSION postgis UPDATE;
Les sauvegardes sont néanmoins conseillées, mais elles sont de toute façon faites régulièrement, n’est-ce pas ?
Sécuriser sa migrationUne migration réussie, c’est une migration sécurisée. La sécurisation d’une migration passe par 3 points principaux :
- s’assurer de la pérennité des données
- prévoir et minimiser autant que possible l’indisponibilité de la base
- maîtriser les facteurs humains, notamment en communiquant clairement sur cette indisponibilité
Le dernier point peut sembler être une évidence pour certain, mais il est tout de même important qu’il soit mentionné. Sa bonne exécution conditionne souvent le sentiment de succès ou d’échec des acteurs en présence et donc la capacité globale de votre organisation à absorber ce type de changement.
Il convient de ne pas négliger la force des expériences passées – bonnes ou mauvaises – sur notre capacité à avancer en tant que groupe humain. Nous n’évoquerons pas davantage ce vaste sujet dans cet article (il faudrait un livre entier). À vous d’impliquer de la bonne façon les acteurs pertinents de vos organisations !
Parlons maintenant des points plus techniques.
Aperçu d’un processus de migration Quelques généralitésPour migrer sans risque de pertes de données, pensez bien à tester, tester et encore tester votre procédure ! Il est nécessaire d’effectuer vos tests sur une copie du cluster. Pour cela, pg_basebackup peut aider si vous optez pour une migration inplace.
Documentez bien votre procédure et mesurez le temps qu’elle prend afin de prévoir les temps d’indisponibilité. En effet, à partir du moment où la migration aura commencé (lors de la prise de sauvegarde), il faudra interdire les écritures sur le cluster. En revanche il sera souvent possible de faire des requêtes de lecture.
Enfin, pensez à établir une liste de tests à effectuer une fois la migration faite, pour s’assurer de sa bonne réalisation (par exemple en écrivant des tests pour toutes les vues modifiées lors des échecs précédents).
Cas simple : cluster sans PostGISMigrer un cluster sans PostGIS est souvent assez simple : on vérifie – toujours – le changelog, on corrige ce qui nous impacte, un coup de pg_upgrade et c’est finit.
On reteste quand même ses vues, parce que les versions récentes de PostgreSQL sont plus strictes sur le typage des requêtes (*). De plus, certaines données du méta-schéma peuvent changer, pensez à vérifier si vous vous appuyez dessus. Il y a d’autres petits changements cassants, mais tout cela est finalement assez facile à résoudre.
Avec PostGIS (et d’autres extensions, notamment celle utilisant des fonctions externes), il faut faire un peu plus attention.
Cas simple : même version de PostGISLe grand principe : utiliser pg_upgrade si vous mettez à jour uniquement la version de PostgreSQL (et gardez la même version de PostGIS donc).
Si vous restez sur les mêmes versions de PostGIS, alors le processus de migration sera le suivant:
- installer les paquets de la nouvelle version de PostgreSQL et ceux de PostGIS qui correspondent à cette version de PostgreSQL (ou compiler les sources par exemple)
- utiliser pg_upgrade (ou pg_upgradecluster sous debian/ubuntu) pour migrer le cluster. Il peut être sage de bloquer le port temporairement, car pg_upgrade utilisera ce port pour le nouveau cluster (le vieux cluster sera sur le port libre suivant), il faudra que vous fassiez quelques vérifications de donnée avant d’ouvrir le nouveau cluster aux utilisateurs.
Là, on sera obligé de passer par un pg_dump / pg_restore, à l’ancienne.
Par soucis de complétude, sachez que certaines personnes tentent des opérations de haute voltige à coup de liens symboliques dans le répertoire de lib de PostgreSQL. Je le déconseille (**) : vous n’aurez aucun retour si certaines de vos vues sont invalides car utilisant des fonctions supprimées par exemple. Au contraire, pg_restore refusera de rétablir les vues en question ce qui vous permettra de les corriger immédiatement.
Il ne sera pas possible ici de détailler précisément le processus car il va dépendre de beaucoup de facteurs. Néanmoins, dans les grandes lignes :
- quand on migre un cluster, on migre les bases de données avec pg_dump, mais aussi les objets globaux (roles, permissions globales, etc…) avec pg_dumpall –globals-only. pg_dumpall est également capable de sauvegarder les bases de données (comme pg_dump), mais il ne sait pas le faire dans le format custom (option -Fc de pg_dump), ce qui est pour moi une grosse perte de flexibilité dans notre cas.
exemple de commandes pour un dump# Les objets globaux pg_dumpall --globals <options de connexion> > globals.sql # et pour chaque base pg_dump -Fc <options de connexion> > db.dump
- il faut d’abord restaurer les objets globaux, puis chaque DB après l’avoir créé et activé PostGIS.
Exemple de commandes pour la restauration# restauration des objets globaux psql <options de connexion> -f ./globals.sql # puis pour chaque base psql <options de connexion> -c "create database foo" psql <options de connexion> -d foo -c "create extension postgis" pg_restore --exit-on-error <options de connexion> db.dump
- Utilisez l’option –exit-on-error de pg_restore. C’est essentiel pour ne pas manquer des erreurs à la restauration. Alternativement, vous pouvez rediriger tous les logs dans un fichier et l’examiner ultérieurement. Mais après la première erreur, vous n’aurez pas la certitude que les suivantes ne sont pas simplement une conséquence de celle-ci. Avec exit-on-error, pg_restore s’arrête immédiatement et vous oblige à corriger au fur et à mesure vos vues, ce qu’il faudra faire de toutes façons.
- Certaines erreurs ne sont pas importantes. Par exemple, la création du schéma public échouera probablement. Vous pouvez supprimer ce schéma avant la restauration, mais il est aussi possible d’exclure des instructions de façon sélective lors de la restauration, avec la fonction de liste de pg_restore :
Exclure le schéma public de la restauration# récupérer la liste et y enlever les deux instructions de création et de commentaire du schéma public pg_restore --list fichier.dump | grep -v "SCHEMA.*public" > valid_schemas.list # puis on peut utiliser ce fichier de list avec --use-list pg_restore --use-list valid_schemas.list [...] fichier.dump
- puis il faut itérer sur ce processus en corrigeant / mettant à jour la base source jusqu’à ce que la restauration passe !
Parmi les incompatibilités que vous pouvez rencontrer :
- Celles liés aux changements PostgreSQL (voir la partie sur la migration sans postgis).
- remplacer les fonctions PostGIS qui ont été renommées ou supprimées.
J’ai déjà rencontré des bases si grosses que le temps d’indisponibilité nécessaire à la migration semblait ingérable.
On parle de bases de taille supérieure à 100GB et dont la restauration dépassait la semaine ! Là, normalement, le sysDBA chevronné que vous êtes doit se dire : « mais attends, même pour 200GB ça ne doit pas prendre la semaine non ? ».
Tout à fait ! Dans tous les cas de restauration très longue que j’ai rencontré, c’était en fait le rafraîchissement des vues matérialisées, que certains utilisateurs semblent beaucoup beaucoup aimer, qui était interminable.
Si vous pensez être concerné, pensez à faire le ménage dans vos anciennes vues (« cette vue qui mets 8 jours à se rafraîchir est-elle vraiment critique pour mon activité ? »). Voire même prendre un peu de temps pour l’optimiser (« Oh, une vue qui dépend de cette autre vue qui elle-même dépend d’une autre… et aucune n’a d’index géographique ! »).
Mais quelque fois, ce n’est pas si simple et surtout, celui qui migre n’est pas nécessairement celui qui a créé ces vues, ce qui peut rendre le travail très fastidieux voire impossible à court terme. Dans ce cas, pensez à utiliser le système de liste d’archive décrit plus haut (options –list et –use-list de pg_restore avec le format d’archive custom de pg_dump). En excluant toutes les lignes contenant « MATERIALIZED VIEW DATA », vous pourrez restaurer votre archive sans rafraîchir ces vues, et le faire plus tard.
Exclure les rafraîchissement de vues matérialisées# récupérer la liste et enlever le rafraîchissement des vues matérialisées pg_restore --list fichier.dump | grep -v "MATERIALIZED VIEW DATA" > without_refresh.list # puis on peut utiliser ce fichier de list avec --use-list pg_restore --use-list without_refresh.list [...] fichier.dump
Pour ce rafraîchissement, vous pouvez vous inspirer de ces requêtes d’exploration du graphe de dépendances des vues. Il est même possible de n’en restaurer qu’une partie, si vous sélectionnez les parties de l’arbre de dépendances qui correspondent ! C’est un peu technique mais très efficace
ConclusionMigrer un vieux cluster PostgreSQL avec PostGIS n’est pas forcément une mince affaire. Elle demandera de prendre le temps de tester et de mettre à jour l’ancienne base de donnée, ce qui est long et fastidieux. Si vous pouvez, il est toujours mieux de le faire régulièrement, car cela diminue la surface de migration et en général permet de rendre le processus moins difficile.
Si vous avez déjà plusieurs versions de retard, pas de panique ! Les outils à votre disposition de l’univers PostgreSQL vous permettront d’arriver à vos fins, au prix d’un peu d’effort.
Quelques conseils pour rendre les prochaines migrations plus faciles :
- Migrez régulièrement
- Faites du ménage régulièrement
- Faites des sauvegardes régulièrement
- Rajoutez des test unitaires pour les données et fonctions critiques (pourquoi pas avec pgtap si vous êtes du genre postgres-centrique ?)
- Ne céder à la tentation de la vue matérialisée qu’en ultime recours ! Avant cela optimisez vos vues en vérifiant leur plan d’exécution, posez des index, revoyez les requêtes et éventuellement votre modèle, etc. Faites simple !
- Quand on peut, avoir un environnement de pré-prod ou recette pour tester le bon fonctionnement des applicatifs utilisant votre base est un vrai plus.
(*) Je n’ai pas trouvé dans les changelogs la référence à ce changement cassant, mais je l’ai souvent constaté sur des upgrade de versions < 10.
(**) Ceci étant dit, si vous êtes joueurs et sûrs de vous, n’hésitez pas à tester et à me faire un retour ! J’ai tenté, ça peut marcher, mais c’est finalement moins pratique que le pg_dump/pg_restore selon moi.
-
11:39
Résoudre des équations graphiquement avec PostGIS
sur OslandiaOslandia accompagne la Direction de Etudes Amont et de l’Innovation (DEAI) d’Egis Rail dans la refonte et l’intégration de ses outils métier.
L’objectif est de disposer, en phase faisabilité de conception des lignes de transport en commun, d’une application web permettant :
- de tracer des lignes de transport en commun sur un fond de plan,
- d’étudier l’impact des lignes en matière de population desservie,
- d’estimer leurs coûts de réalisation et d’exploitation.
Ces besoins sont à ce jour remplis par des SIG bureautiques, des outils spécialisés (par exemple calcul d’isochrone piétons) et des outils métier développés en interne.
La solution en cours de réalisation s’appuie sur une base de données PostGIS en utilisant pleinement sa richesse fonctionnelle pour intégrer les traitements au modèle de données.
Cette approche permet de développer le modèle, de le tester et de consolider l’ergonomie en utilisant QGIS comme interface prototype avant de développer l’application web (#base-epaisse).
Interface prototype dans QGIS. Les isochrones à 10 min à pied d’une station sont calculées avec pg_routing.
Le contexte étant posé, on s’intéresse dans cet article au calcul du temps de parcours qui intervient dans l’estimation des coûts d’exploitation d’une ligne.
Le conducteur d’une rame choisit entre trois possibilités : accélérer, ralentir ou maintenir sa vitesse. Ce choix est soumis à plusieurs contraintes :
- les arrêts aux stations
- la vitesse maximale autorisée sur un tronçon qui est fonction de l’environnement (au milieu d’un boulevard ou dans une zone piétonne)
- la vitesse maximale en courbe
- la vitesse maximale aux carrefours et passages piétons
- les arrêts aux feux de circulation (lorsqu’ils sont rouges)
Pour déterminer le temps de parcours, il faut connaître la vitesse en tout point de la ligne. On suppose que l’accélération et la décélération sont constantes. Le problème qui se pose est donc de déterminer, sur la ligne, les zones d’accélération A, de vitesse constante O et de décélération D.
Calcul du temps de parcours dans le cas simpleEntre deux stations avec une contrainte de vitesse maximale, le conducteur accélère puis maintient sa vitesse lorsque la vitesse maximale est atteinte et enfin décélère pour s’arrêter.
Dans le cas simple où la longueur du tronçon est suffisante pour atteindre la vitesse maximale autorisée V, le temps tA pour attendre la vitesse maximale autorisée est V/A, la longueur sA parcourue pendant tA est :
sA = AtA2/2
soit :
sA = V2/2A
de même la distance de décélération sD = V2/2D et la longueur parcourue à vitesse constante sO = stotal – sA – sD.
Dans le cas où le tronçon n’est pas assez long pour atteindre la vitesse maximale autorisée, la vitesse maximale atteinte v est telle que v = AtA = DtD où tA et tD sont respectivement les temps d’accélération et de décélération. Pour déterminer tA et tD la seconde équation est la longueur totale du tronçon stotal = AtA2/2 + DtD2/2… tA = sqrt(2Dstotal/(AD+A2))…
C’est presque trivial quand seuls ces deux cas sont à considérer :
- on suppose un tronçon suffisamment long pour calculer sA et sD,
- on vérifie que sO est positif ou nul,
- si ce n’est pas le cas, on utilise les formules pour les tronçons courts.
Mais il y a aussi le cas où la vitesse maximale n’est pas constante entre deux stations, le cas où il faut ralentir à l’approche d’un passage piéton… Bref, beaucoup de cas particuliers et des structures conditionnelles associées.
Ça se code, mais ça manque un peu d’élégance.
Calcul du temps de parcours à partir de la courbe distance-vitesseExemple d’une ligne avec contraintes de vitesse maximale sur des segments et contraintes définies ponctuellement.
Le diagramme distance-vitesse donne la vitesse de la rame en tout point de la ligne.
Dans ce diagramme on peut positionner les stations : on connaît leurs abscisses (les distances des station à l’origine de ligne) et leurs ordonnées (une vitesse nulle).
Diagramme distance-vitesse avec les stations A, C et D comme point de passage imposés pour la courbe.
On peut aussi tracer une zone dans laquelle la courbe de vitesse ne passe pas à cause des limitations de vitesse sur les tronçons.
Zone du diagramme distance-vitesse inaccessible à cause des contraintes de vitesse sur les tronçons.
La vitesse fonction du temps, lors d’une accélération constante v(t) = At + v(0) et s(t) = At2/2 + v(0)t + s(0).
On sait tracer cette courbe avec PostGIS :
select st_makeline( st_makepoint( 0.5 * A *t^2, A*t ) ) from generate_series(0, 100, 0.5) t ;
Courbe d’accélération avec la distance parcourue en abscisse et la vitesse en ordonnée… tracée dans un référentiel carto complètement arbitraire, pour illustrer le propos
Avec ça il suffit de tracer les accélérations et décélérations à partir des stations :
Accélérations et décélérations à partir des stations.
Les accélérations et décélérations liées aux changements de vitesse limite autorisés :
Changements d’allures.
On peut facilement rajouter des points (e.g. passage piéton) des segments (e.g. courbe), où la vitesse est limitée avec l’accélération et la décélération associées :
Contraintes supplémentaire sur les vitesses en courbe et au passage piéton.
Pour extraire la courbe de vitesse à partir de cet ensemble de limites, on divise les courbes les unes par les autres, avec
st_split
afin d’obtenir de frontières topologiquement propres, on utilisest_polygonize
pour extraire les polygones définis par ces frontières. On ne conserve que les polygones qui sont collés à l’axe des abscisses, autrement dit ceux pour quist_length( st_intersection( polygon, axe_x ) ) > 0
. La courbe distance-vitesse est l’ensemble des contours de ces polygones auxquels on soustrait l’axe des abscisses:st_limemerge( st_difference( st_exterior_ring( polygon, axe_x ) ) )
La courbe de vitesse optimale est la partie supérieure des contours des polygones touchant l’axe des abscisses.
Une fois qu’on a obtenu le courbe de distance-vitesse, on effectue une intégration numérique pour déterminer les temps de parcours.
J’espère que, comme moi, vous avez trouvé intéressant ce détournement de PostGIS qui, au-delà du stockage et du traitement d’information géographique, est un excellent outil pour faire de la géométrie.
Si vous êtes intéressés par ces sujets, n’hésitez pas à nous contacter (infos@oslandia.com)
-
13:20
(En) Store and visualize your raster in the Cloud with COG and QGIS
sur OslandiaDésolé, cet article est seulement disponible en Anglais Américain.
-
11:55
Simplifions la publication de projets QGIS sur le web (3) : comment contribuer à un projet Open Source ?
sur OslandiaNos stages de deuxième année arrivent bientôt à leur terme et nous souhaitons vous raconter l’expérience que nous avons vécue chez Oslandia pour terminer le Master Géographies Numériques, notamment la découverte du monde de l’Open Source en contribuant à l’application web cartographique QWC2 ! Dans cet article, nous allons présenter le travail réalisé dans la communauté Open Source, comment nous avons commencé à collaborer via des fils de discussion avec des personnes qui ne travaillent pas avec nous mais qui oeuvrent pour l’amélioration d’un produit. Nous verrons comment s’articule la communauté autour d’un projet et les différents rôles qui existent. Nous avons aussi réalisé un mini tutoriel sur les démarches à suivre pour contribuer à un projet en utilisant Git. Enfin, nous ferons un rappel sur les fonctionnalités que nous avons développées dans QWC2 et finirons sur nos retours d’expérience qui, nous espérons, vous donneront envie de contribuer vous aussi à des projets Open Source !
A la suite de l’article de Benoît, nous avons désormais une application QWC2 fonctionnelle. Nous pouvons donc nous consacrer à son amélioration en développant de nouvelles fonctionnalités. Dans le premier article nous vous présentions les besoins identifiés par les utilisateurs de QWC2 et rapportés lors de réunions de cadrage et de priorisation. Pour rappel, les fonctionnalités évoquées sont les suivantes :
- développer un plugin QGIS permettant de publier facilement de nouveaux projets dans une application QWC2,
- ajouter une table attributaire pour afficher les données de chaque couche et pouvoir faire des sélections (à priori en SQL) et exporter cette sélection,
- améliorer le format d’export CSV et ajouter de nouveaux formats,
- ajouter le dessin à main levée pour les annotations sur la carte,
- ajouter une ou plusieurs couches d’un projet à la carte contenant déjà un autre projet
- éditer les données d’une couche (création, modification, suppression).
QWC2 est une application open source et le développement de nouvelles fonctionnalités nécessite donc de communiquer avec la communauté du projet afin de :
- se faire connaître,
- informer de ce que l’on souhaite réaliser pour s’assurer que personne n’est en train de développer les mêmes fonctionnalités que nous,
- avoir des retours et conseils sur ce que l’on souhaite faire.
Tout d’abord il est important de savoir qu’on retrouve divers rôles dans les projets Open Source :
- les utilisateurs : ils utilisent le logiciel et peuvent remonter des problèmes rencontrés en créant des tickets (issues) dans le dépôt officiel du projet, hébergé la plupart du temps sur GitHub ou GitLab. Ils peuvent aussi s’abonner au projet (option watch) pour être au courant des modifications et des discussions à propos d’une fonctionnalité ou d’un bug, …
- les contributeurs : ils participent à l’évolution du projet en proposant des améliorations ou des corrections. Les modifications sont soumises via des Pull Requests (GitHub) ou Merge Requests (GitLab). Ces contributions peuvent être de différentes natures : développement d’une nouvelle fonctionnalité, correctif, documentation, correction orthographique, traduction, rapport de bug, … Il n’est donc pas nécessaire d’être développeur expérimenté pour contribuer à un projet Open Source !
- les « committeurs » : ils ont la responsabilité de gérer les modifications proposées par les contributeurs et de les intégrer dans le projet si celles-ci sont fonctionnelles. Les modifications peuvent être discutées dans des fils de discussion spécifiques ouverts par les contributeurs en soumettant leur travail (Pull Request/Merge Request). Les committeurs sont les mainteneurs du projet. Ils ont donc une bonne expérience concernant le développement du projet complet ou de l’une de ses parties.
Il existe généralement un comité de pilotage qui fixe les grandes orientations du projet : futurs développements, financement, documentation, …
Informer la communauté …Pour intégrer la communauté de QWC2, la première étape a été d’envoyer un message via la liste de mails des utilisateurs. L’inscription permet de recevoir tous les nouveaux mails envoyés et d’y répondre et chacun peut lire les conversations. Au contraire de la mailing-list de QGIS, celle de QWC2 n’est pas très active, ce qui permet de suivre facilement les fils de discussions. Nous nous sommes donc présentés à la communauté et avons fait part de notre volonté de contribuer au projet en décrivant les fonctionnalités identifiées au préalable.
Puis, après quelques échanges, nous avons ouvert une issue par fonctionnalité à développer sur le GitHub de QWC2 afin de centraliser les discussions, informer les utilisateurs et indiquer les avancées réalisées.
… puis développerPour contribuer au projet, nous devons tout d’abord créer notre propre dépôt de QWC2 dans nos dépôts personnels GitHub (Flavie et Benoît). Il s’agit d’un fork. Nous devons ensuite récupérer le répertoire de travail sur notre machine. La commande
git clone
nous permet de copier le projet grâce à l’adresse disponible sur le bouton Clone du projet.Par exemple, pour clôner nos dépôts personnels de QWC2 :
git clone git@github.com:FlavBd/qwc2.git git clone git@github.com:benoitblanc/qwc2.git
Nous avons alors une version de QWC2 à un instant précis, séparée de la version du dépôt officiel. Ainsi, nous n’avons pas accès aux éventuelles mises à jour qui peuvent être réalisées pendant le développement de notre fonctionnalité. Nous pouvons quand même mettre à jour notre dépôt personnel pour récupérer les dernières modifications du dépôt officiel en se synchronisant avec celui-ci.
Il faut tout d’abord paramétrer le dépôt officiel comme source upstream de notre dépôt :
git remote add upstream git@github.com:qgis/qwc2.git
Puis récupérer les mises à jour et réaliser une fusion (merge) dans notre dépôt :
git fetch upstream git checkout master git merge upstream/master
Cette manipulation permet de garder à jour notre dépôt personnel et d’éviter des conflits de code lorsque nous proposerons la nouvelle fonctionnalité via une Pull Request.
Une fois ces configurations réalisées, nous sommes prêts à développer ! Il faut créer une nouvelle branche git dans ce répertoire avec un nom significatif par rapport à son contenu.
git checkout -b [your_new_branch]
Nous pouvons alors débuter le développement en modifiant ou ajoutant des fichiers. Le langage utilisé dans QWC2 est JavaScript. Le projet utilise également les frameworks React et Redux pour gérer l’interface utilisateur.
Nous réalisons les tests en local puis sur notre site de démonstration et faisons un certain nombre de commits (enregistrement des modifications sur notre répertoire de travail git) pour sauvegarder notre travail avant de le push (synchronisation du répertoire de travail local avec celui hébergé sur GitHub ou GitLab) sur notre dépôt personnel. Une fois les changements fonctionnels et testés, nous pouvons proposer notre travail à la communauté QWC2 en faisant une Pull Request sur le dépôt GitHub concerné. Dans les Pull Requests, nous décrivons rapidement, par des mots, des images ou une courte vidéo ce que fait le code que nous proposons en mentionnant l’issue préalablement créée. Vient ensuite le moment d’attendre, de faire preuve parfois de patience avant la validation définitive de nos modifications par les committeurs. En effet, les mainteneurs des projets Open Source travaillent souvent sur plusieurs projets à la fois, ils n’ont pas forcément le temps de vérifier notre Pull Request dans les jours qui suivent sa création, d’autant plus que certains contribuent sur du temps personnel. Les committeurs peuvent également proposer des modifications pour améliorer le code proposé, par exemple pour gagner en performance. Une fois la Pull Request validée, le travail est ajouté au dépôt officiel et toutes les personnes qui vont récupérer le code y auront accès. Nous pouvons mettre à jour notre copie de travail pour l’avoir également sur notre machine.
Nos contributions
Les contributions que nous avons réalisées et qui ont été ajoutées au dépôt principal sont les suivantes :
- modification du format d’export des données sélectionnées en CSV et ajout des formats JSON et GeoJSON. L’utilisateur choisit le format grâce à une liste déroulante.
- ajout de la possibilité de dessin à main levé pour les types de géométrie lignes et polygones.
- ajout d’une ou plusieurs couches d’un projet au projet courant.
- correction d’un bug lors de l’import d’un fichier KML.
Nous sommes actuellement en train de travailler sur la création d’un plugin QGIS afin de faciliter l’ajout d’un nouveau projet QGIS. Pour l’authentification de l’utilisateur et la mise à jour du fichier
themes.json
nous utilisons les micro services QWC2 que Benoît vous a précédemment présentés.Voici le résultat que nous souhaitons obtenir : l’utilisateur se connecte sur son serveur grâce à son nom d’utilisateur et son mot de passe puis, il peut modifier les paramètres du projet qu’il est en train d’ajouter et de ceux déjà présents sur le serveur. Il peut alors configurer la gamme d’échelle, les fonds de plan utilisables avec ce projet, celui par défaut et les outils de recherches disponibles (recherche d’adresse avec nominatim, par coordonnées, …). Une note de présentation est disponible dans ce dépôt GitHub, n’hésitez pas à nous partager vos conseils.
J’ai réalisé mon stage chez Oslandia pour acquérir des compétences en développement informatique et découvrir l’organisation de la communauté Open Source et les étapes pour contribuer à un projet. Cela m’a permis de découvrir de nouveaux outils avec lesquels je suis aujourd’hui plus à l’aise. L’utilisation quotidienne des outils de versionnage type Git a été très formatrice : malgré la peur, parfois, de faire des mauvaises manipulations, je suis satisfaite de mieux maîtriser cet outil qui porte un grand intérêt. Le déploiement de l’application QWC2 n’a pas été aisé mais m’a permis de mieux comprendre de quelle manière une application web cartographique s’organise, ce qui était l’un de de mes objectifs principaux pour ce stage. Le contexte épidémique particulier m’a permis d’expérimenter le télétravail et de profiter des connaissances d’Oslandia, pour qui ce mode de fonctionnement est habituel. Malgré la distance, j’ai eu la chance d’être très bien accueillie par l’équipe qui m’a aidé lors de difficultés rencontrées tout au long du stage.
J’ai eu l’opportunité de réaliser mon stage chez Oslandia avec l’objectif de monter en compétences en développement web et me spécialiser dans les SIG pour la suite de ma carrière. Dans un contexte particulier et en télétravail, quelque chose de nouveau pour moi mais pas pour Oslandia, cette expérience a été l’occasion de découvrir l’Open Source et les démarches autour du développement de logiciels libres, du financement à la contribution. J’ai maintenant envie de continuer à contribuer à des projets Open Source, peut-être grâce à mes prochaines expériences professionnelles, ou même pour des projets plus personnels. Pour faire un bilan technique de ces 6 mois de stage, j’ai pu travailler avec des outils et langages découverts en formation : QGIS, OpenLayers, Python, JavaScript. J’ai aussi découvert des technologies nouvelles pour moi : React, Flask, Ansible. Bien sûr, j’ai aussi utilisé Git (utilisation relativement basique), que j’avais déjà connu auparavant, mais qui est indispensable pour le développement de logiciels. J’ai également passé beaucoup de temps à déployer l’application QWC2 et ses micro-services, d’abord en one-shot puis avec Ansible. C’est un travail que j’ai beaucoup apprécié car il m’a permis de mieux comprendre comment fonctionne une application web avec toute son architecture. J’ai pu voir tout l’intérêt d’une automatisation pour s’assurer de la reproductibilité du déploiement de l’application sans passer des heures à comprendre pourquoi « ça pas marche » ;-). Pour toutes ces tâches réalisées, j’ai eu la chance d’être assisté par l’équipe d’Oslandia qui m’a beaucoup aidé, que ce soit pour des questions d’infra, de développement, d’utilisation ou de contribution et que je remercie chaleureusement !
Cet article conclut notre série sur la simplification de publication de projet QGIS sur le web à l’aide de QWC2. N’hésitez pas à nous faire part de vos remarques et conseils, nous avons encore quelques semaines avant de finir notre stage !
Flavie et Benoît
-
8:30
Publication de l’extension COVADIS RAPEA pour QWAT et QGEP
sur OslandiaQWAT est une application open source de gestion des réseaux d’eau potable émanant des collectivités de Pully, le SIGE à Vevey, Morges et Lausanne.
QGEP est son homologue dédiée à la gestion des eaux usées et pluviales, initiée par le groupe utilisateur QGIS Suisse.L’échange de données entre institutions est une pierre angulaire des politiques de l’eau. Ces échanges se basent sur des formats d’échanges standardisés. Ainsi les Cantons de Fribourg (format aquaFRI) ou de Vaud (format SIRE) conditionnent certaines subventions publiques à la transmission des données selon des formats pré-définis et permettent à ces échelons administratifs d’avoir une vision globale des réseaux humides.
Dans le cadre d’une expérimentation des outils QWAT (eau potable) et QGEP (eaux usées), Charente-Eaux a souhaité mettre en œuvre des extensions dédiées au standard d’échange de données sur les réseaux d’eau Français, le Géostandard Réseaux d’adduction d’eau potable et d’assainissement (RAEPA) défini par la Commission de validation des données pour l’information spatialisée (COVADIS).
Oslandia a été mandaté par Charente-Eaux pour les tâches suivantes :
- mettre en œuvre des instances de QWAT et QGEP hébergées en ligne
- réaliser les extensions RAEPA pour chacun de ces outils
- évaluer un système de filtrage géographique des données permettant à chaque collectivité d’accéder à ses données uniquement, avec une gestion fine des droits
- aider Charente-Eaux et le département à charger les données des collectivités membres de ce syndicat mixte
Le travail a été publié pour QWAT sous forme d’une extension standardisée dans le dépôt l’organisation QWAT: [https:]]
Projet QWAT avec vues d’export RAPEA
Pour QGEP, il n’existe pas encore de fonctionnalité pour gérer d’extension, le dépôt [https:]] contient donc les définitions de données et de vues à rajouter manuellement au modèle de données.
La compatibilité des modèles de données a été évaluée et le choix a été fait de ne faire que des vues dédiées à l’export de données. Il est techniquement possible de faire des vues éditables pour permettre le chargement de données via ces vues depuis des fichiers suivant le gabarit de données RAEPA. Le niveau de simplification et d’agrégation des listes de valeurs rend ce travail trop peu générique dans l’état actuel du géostandard (v1.1), il est donc plus pertinent à ce stade de réaliser des scripts de chargement sans passer par ce pivot dans le cas de Charente-Eaux.
N’hésitez pas à tester et contribuer à ces projets pour les améliorer !
Oslandia s’investit dans la mise en œuvre de solutions open source sur base QGIS / PostGIS / QGIS server depuis de nombreuses années. Vous pouvez nous solliciter pour du conseil, de la modélisation de données, une expertise sur le choix d’application de gestion de réseau d’eau, ou encore la mise en œuvre de solutions sur étagère ou à façon.
-
11:50
Simplifions la publication de projets QGIS sur le web (2)
sur OslandiaA l’occasion du premier article de la série sur notre stage, Flavie a présenté les différentes missions que nous réalisons chez Oslandia avec une introduction à QWC2, une application web cartographique Open Source permettant de publier des cartes réalisées avec QGIS Desktop. Il a notamment été fait mention de l’intention de développer de nouvelles fonctionnalités dans cette application.
Avant de pouvoir contribuer à ce logiciel, il a fallu dans un premier temps s’approprier l’architecture technique de l’application afin de pouvoir l’utiliser et découvrir ses fonctionnalités. Dans cet article, je vais vous présenter plus précisément la pile applicative nécessaire pour utiliser QWC2. J’aborderai également le principe d’automatisation des tâches d’installation avec Ansible. Nous verrons aussi que l’environnement QWC2 bénéficie de plusieurs micro-services qui peuvent permettre d’appliquer une gestion des droits plus fine sur les projets que vous souhaitez publier. Enfin, nous nous poserons la question de la simplicité de publication de projets QGIS par un public non développeur et nous proposerons des solutions envisageables.
Déployer…Le déploiement d’une application QWC2 nécessite au minimum un serveur sur lequel on retrouve :
- des données
- QGIS Server
- un serveur web
- QWC2
Pour les données, on peut utiliser un Système de Gestion de Bases de Données Relationnelles (SGBDR) tel que PostgreSQL avec son extension spatiale PostGIS. On a également la possibilité d’avoir des fichiers directement sur le serveur, comme des Shapefiles. Les projets QGIS publiés sont configurés selon ces données, un fichier de service peut être utile pour paramétrer l’accès à la base de données.
QGIS Server est une application FastCGI qui fournit à un serveur Web les différentes couches et objets d’un projet QGIS sous forme de flux (WMS, WFS, OGC API). La symbologie du projet QGIS est conservée par le serveur, le rendu cartographique sera donc identique entre l’application QGIS Desktop et l’application Web. WYSIWYG (What You See Is What You Get) !
Plusieurs instances de QGIS Server peuvent être installées grâce à Systemd pour paralléliser les traitements en utilisant au mieux les processeurs de la machine sur laquelle on installe l’application. En utilisant le load-balancing (répartition des charges), le serveur Web peut diriger les requêtes vers les différentes instances de QGIS Server pour gagner en performance et en rapidité de réponse. En retour, QGIS Server retourne par exemple un flux WMS (une image) ou le résultat d’une requête GetFeatureInfo (les attributs d’un objet).
Le serveur Web utilisé dans notre cas est Nginx. Il sert des fichiers situés sur le serveur en fonction de « routes » définies dans sa configuration. Nginx communique également avec QGIS Server en lui passant les paramètres des requêtes effectuées côté client (ex: clic sur un objet de la carte pour récupérer les informations de celui-ci).
Aussi, Nginx envoie au navigateur Web du client les fichiers de l’application QWC2. Celle-ci est auparavant « buildée » (construite) sur le serveur grâce aux gestionnaires de paquets JavaScript yarn et npm. L’application QWC2 utilise les frameworks React et Redux pour la gestion de l’interface utilisateur et OpenLayers pour la cartographie.
On retrouve ci-dessous le schéma de l’architecture décrite :
Pour paramétrer QWC2, nous nous sommes basés sur l’application de démonstration disponible sur le dépôt Github. Il existe différents fichiers de configuration pour personnaliser l’application :
- un fichier pour définir les plugins à utiliser
- un fichier pour définir les systèmes de coordonnées utilisés et différents services
- un fichier pour définir les projets QGIS de l’application
Une fois tous ces fichiers correctement paramétrés, l’application peut ainsi être construite et prête à être servie par Nginx.
Ces différentes tâches de déploiement ont été réalisées une à une avec une phase de test pour chacune.
Automatiser…L’application QWC2 étant fonctionnelle, on peut maintenant essayer de l’installer sur un autre serveur en répétant toutes les opérations ci-dessus sans se tromper, désinstaller, réinstaller, changer la configuration pour que « ça marche »… Eh non ! Il existe des outils d’automatisation des tâches qui permettent de réaliser une même installation plusieurs fois sur plusieurs machines différentes. On trouve des avantages certains à cette automatisation :
- répétabilité : on fait exactement la même chose sur toutes les machines
- adaptabilité : on peut prévoir des variables pour différencier les machines (distribution Debian ou Ubuntu ?)
- maintenabilité : la prise en main du déploiement est plus simple avec toutes les tâches décrites et on peut facilement y apporter des modifications
L’automatisation de notre déploiement a été réalisé avec Ansible. C’est une solution qui permet de configurer le déploiement de plusieurs logiciels sur une machine grâce à des fichiers de configuration au format YAML. Un fichier principal, appelé playbook, définit les rôles utilisés lors du déploiement. Pour chacun des rôles, on crée un fichier décrivant les tâches à réaliser (ex: installer un paquet, créer un utilisateur, copier un fichier sur le serveur, …). Enfin des fichiers de variables permettent de différencier les déploiements sur les serveurs.
Le déploiement se fait alors avec une simple ligne de commande !
Administrer…
En plus de l’application classique, il existe également des micro-services dans l’environnement QWC2. Ces micro-services sont des applications qui sont exécutées en continu sur le serveur. On peut les retrouver sur Github dans le dépôt qwc-services. Ceux-ci permettent d’ajouter différentes fonctionnalités à QWC2, notamment des droits d’accès aux ressources de l’application.
Dans notre cas, nous nous sommes intéressés à l’authentification d’un utilisateur. Pour cela, divers services et actions sont nécessaires :
- une base de données de configuration (pour stocker les utilisateurs, les groupes, les droits d’accès aux ressources, …)
- un service d’administration (pour créer les utilisateurs et définir les droits)
- un service d’authentification
- un service qui gère la configuration et l’accès à l’application en fonction de l’utilisateur connecté
- l’activation du plugin d’authentification dans l’application
La mise en place de ces services requièrent de configurer des fichiers pour définir la base de données utilisée, les adresses des différents services, etc…
Ces services peuvent être installés via un docker ou bien être configurés séparément avec uWSGI.
Publier…
Nous avons vu que QWC2 est une application hautement configurable. On peut donc déployer des applications très différentes les unes des autres au prix de beaucoup de temps passé sur la modification des fichiers de configuration. Aussi, il est nécessaire jusqu’à présent d’éditer à la main le fichier contenant les projets QGIS pour en ajouter un, puis de reconstruire l’application afin de prendre en compte ce nouveau projet. Ce processus n’est pas aisé et il faut avoir quelques notions de développement d’applications web. Ainsi, une personne souhaitant publier rapidement un projet sur le web ne pourra pas le faire facilement sans passer par l’édition de la configuration. Il faut donc repenser la manière dont les projets QGIS peuvent être ajoutés à l’application. L’une des solutions envisagées est le développement d’un plugin QGIS qui permettra à l’utilisateur grâce à une interface graphique de publier un projet sur lequel il travaille. Ce plugin est en cours de réalisation et reproduit les différentes étapes décrites dans la partie déploiement de cet article pour reconstruire l’application QWC2 avec le nouveau projet QGIS.
Contribuer !Nous avons à présent une application QWC2 fonctionnelle avec des projets QGIS publiés. Dans un prochain article, nous verrons quelles fonctionnalités peuvent être ajoutées à l’application. Aussi, nous expliquerons les démarches à suivre pour contribuer à un projet Open Source, de la présentation à la communauté jusqu’à la publication d’une nouvelle fonctionnalité !