Le Google Summer Of Code, une occasion unique.

Antonin Jolivat, étudiant en 1ere année du cycle ingénieur en informatique à Orléans, a été sélectionné le 17 mai par Google pour participer au Google Summer of Code.

Sa nomination est une belle preuve de résilience en ces temps de pandémie : il a été choisi parmi 4795 candidats venant de 103 pays différents.

Au total, ce sont 1292 étudiants qui vont travailler aux côtés d’organisations prônant le code open source pendant 10 semaines cet été.

Le projet d’Antonin est soutenu par l’organisation OpenStreetMap.

Ce projet est de développer un outil d’assurance qualité permettant d’améliorer les requêtes de Nominatim, le logiciel officiel de géocodage d’OpenStreetMap (Le géocodage consiste à affecter des coordonnées géographiques (longitude/latitude) à une adresse postale).

Pour ce faire, il sera supervisé par deux Mentors :

  • Sarah Hoffman, membre de la fondation OpenStreetMap et responsable du maintien de plusieurs logiciels d’OpenStreetMap, dont, notamment, Nominatim depuis de nombreuses années ;
  • Marc Tobias Metten est passé par l’entreprise Yahoo ou encore Amazon et est maintenant co-fondateur de https://opencagedata.com. Il est aussi le deuxième plus gros contributeur actuel de Nominatim (logiciel utilisé par son entreprise opencagegata).

Il devra donc suivre les règles imposées par Google et passera un été studieux avec deux livrables à rendre : mi juillet et fin août. Si Antonin réussit ces deux évaluations, il obtiendra un certificat de réussite du Google Summer of Code et une bourse (2400$) de la part de Google.

Nous avons interviewé Antonin sur le Google Summer of Code, ses attentes et sur son ressenti d’après sélection.

Qu’est-ce que le Google Summer of Code pour un étudiant en informatique ?

J’ai découvert le Google Summer of Code sur internet grâce à des étudiants qui souhaitaient y candidater. Participer à ce programme est une excellente occasion de contribuer à des projets open source en étant encadré par des mentors très compétents et à l’écoute, ce qui permet d’en tirer une expérience très enrichissante en plus de fortement développer ses compétences techniques. En plus de ça, Google offre une bourse à tous les étudiants qui passent leurs évaluations durant le programme (une évaluation mi-juillet et une fin août), ce qui permet d’être rémunéré même en travaillant sur de l’open source. Le processus de candidature et de sélection est tout aussi exigeant que la réussite du programme en lui-même, ce qui donne un certain prestige au programme permettant de renforcer notre profil personnel et de différencier notre CV auprès des recruteurs.

Avez-vous une idée du nombre de projets soumis ?

Cette année, 6 991 projets ont été soumis par 4795 étudiants venant de 103 pays différents. Plus de projets sont proposés qu’il n’y a d’étudiants car il est techniquement possible de soumettre jusqu’à trois candidatures différentes. Au final, 1292 étudiants venant de 69 pays ont été sélectionnés. Les statistiques sont retrouvables ici.

Qui est votre « Mentor Organization » ? Et quelles sont vos attentes ?

Mon organisation est OpenStreetMap, c’est le projet collaboratif mettant à disposition la plus grosse base de données géographique libre du monde. Un million de contributeurs ont déjà participé à l’ajout et l’édition des données de cette base ainsi qu’au développement de son écosystème. OpenStreetMap est utilisé dans de nombreux secteurs, publics ou privés et permet de contrer la multitude de données géographiques possédées par des entités privées ou gouvernementales. Durant ce Google Summer of Code, je m’attends à en apprendre plus sur l’écosystème OpenStreetMap et open source d’une manière générale, en plus de tirer une expérience enrichissante de mes échanges avec mes mentors et les autres membres de la communauté. J’aimerais aussi, pourquoi pas, continuer à contribuer activement à OpenStreetMap par la suite.

Comment se passe le processus de candidature ?

Faire une candidature sérieuse pour le Google Summer of Code est la première étape difficile.

Tout d’abord, lorsque les organisations ont été annoncées, il a fallu que j’en choisisse une parmi un large spectre disponible.

L’organisation que l’on choisit doit nous plaire et nous donner envie de nous investir, cela peut par exemple être un produit ou service que l’on utilise au quotidien. Il faut aussi que les technologies utilisées correspondent à nos compétences. J’ai pour ma part choisi OpenStreetMap et plus précisément le logiciel Nominatim.

Ensuite, il est nécessaire de s’intégrer à la communauté open source concernée, j’ai donc dû en apprendre plus sur OpenStreetMap et sur Nominatim, lire de la documentation et commencer à regarder le code. J’ai téléchargé les outils requis et je suis sorti dans la rue afin de cartographier certaines choses manquantes dans mon voisinage afin d’apporter moi aussi ma contribution à la carte.

Afin d’augmenter fortement ses chances d’être sélectionné (cela est même obligatoire pour certaines organisations comme OpenStreetMap par exemple) il est nécessaire d’apporter au moins une première contribution au code source (résolution de bug ou ajout de fonctionnalité par exemple). Pour les plus connaisseurs cela signifie de produire une PR mergé au code source avec succès.

. Pour ma part, cela a nécessité d’installer une version du logiciel Nominatim en local sur mon ordinateur, ce qui n’est pas une chose aisée car tout n’est pas documenté et automatisé. Une fois installé, une bonne quantité d’heures est nécessaire pour comprendre globalement le code source et apporter une première contribution.

Une fois toutes ces étapes accomplies, il faut choisir un projet (ou en inventer un complètement) et en discuter avec la communauté et les mentors afin de voir comment il pourrait être réalisé et si ce dernier est pertinent.

Finalement, il faut rédiger notre « Proposal » qui est une proposition de projet correspondant en fait à notre candidature. Cette candidature est envoyée sous la forme d’un rapport contenant une présentation du projet, son intérêt, la manière dont il sera réalisé ainsi que d’autres informations sur ce dernier. La candidature doit aussi contenir des informations sur nous-même, nos expériences passées, nos compétences, formations etc. Il est aussi important de proposer une « Timeline », c’est à dire une planification de la réalisation du projet durant l’été, en fournissant nos disponibilités et indisponibilités (au préalable discuté avec les mentors). Cette planification est très importante, elle doit être réaliste, complète et contenir les deux livrables principaux.
Finalement, ce sont les organisations elles-mêmes qui sélectionnent les étudiants en fonction des places qui leur sont attribuées par Google. Par exemple 4 étudiants ont été sélectionnés par OpenStreetMap.

Quel projet avez-vous soumis et comment est née cette idée ?

J’ai proposé un seul projet pour la fondation OpenStreetMap. Ce projet concerne Nominatim, le logiciel de géocodage officiel utilisé par OpenStreetMap. Le projet s’intitule « QA Reports Extraction Tool » : le projet ainsi que son abstract peuvent être retrouvés ici.

L’objectif est de développer un outil d’extraction de rapports d’assurance qualité, ces rapports concerneront des données erronées provenant de la base de données officielle d’OpenStreetMap. 

L’intérêt de cet outil est qu’il se greffe à la base de données de Nominatim et non celle d’OpenStreetMap directement, cela est intéressant car Nominatim formate les données d’une manière qui permet de facilement détecter des incohérences. Les rapports, une fois extraits, seront utilisés pour afficher les données erronées sur une carte mise à disposition au grand public afin que les amateurs de cartographie puissent aller les corriger au plus près de chez eux. Cela permettra d’améliorer la qualité des données d’OpenStreetMap et donc indirectement d’améliorer la qualité des résultats produits par Nominatim. Cette idée a initialement été proposée par Sarah Hoffman pour les candidats du Google Summer of Code.  Il a ensuite fallu que je creuse le projet et que j’en discute avec les mentors afin de le rendre concret et réalisable.

Avez-vous commencé à travailler avec votre organisation ?

Je suis officiellement un étudiant du Google Summer of Code 2021 depuis le 17 mai dernier. J’ai déjà commencé à échanger plus fortement avec mes mentors qui m’ont fait part de ce qu’ils aimeraient que l’on fasse et ce qu’il reste à faire d’ici le début de l’été. J’ai donc installé Nominatim avec l’ensemble des données de cartographie du monde entier sur un puissant serveur qui m’a été sponsorisé pour ce projet, je dois ensuite continuer à préparer mon projet mais aussi contribuer directement au logiciel Nominatim.

Nous souhaitons bonne chance et une entière réussite à Antonin Jolivat dans ce concours que nous ne manquerons pas de suivre cet été.