Du 3 au 13 janvier 2017 a eu lieu le troisième projet inter-promotion de la formation SID.

C’est dans ce contexte que que le choix du sujet s’est porté sur la mise en place d’une application mobile ayant pour but d’optimiser la gestion et la réutilisation d’objets dont certains individus souhaiteraient se débarrasser. Cette application a pris le nom de Wasty.

Geometric pattern with fading gradient

Ce projet prend la forme d’un challenge, stimulant les quelques 65 étudiants de la formation SID, L3 M1 et M2 confondus, durant 2 semaines. Les étudiants ont donc été répartis en 9 groupes, et encadrés par une équipe de direction de 5 membres, ainsi que quelques enseignants. Chacun de ces groupes ont pour objectif de travailler sur une partie intégrante de cette application. Les tâches de chacun de ces groupes allant de l’informatique à la statistique, avec pour but de mettre en pratique certaines compétences acquises dans la formation, tant que d’apprendre de nouvelles choses par soi-même.

Dans un premier temps, nous pouvons imaginer 3 types d’utilisation de cette application (ou plus selon votre imagination) :

  • Profil vendeur : Admettons qu’une personne souhaite se débarrasser par exemple de meubles, après un déménagement. Ne voulant pas jeter ces meubles, cette personne se dit qu’elle pourrait en tirer quelques euros. Elle posterait alors une annonce, en y ajoutant un prix. Elle serait conseillée par une fourchette estimée de prix pour l’objet qu’elle souhaite mettre à vendre.
  • Profil donneur : Un individu trouve, par exemple, un tas de ferraille dans la rue. Souhaitant que la rue soit débarrassée, et supposant que quelqu’un puisse être intéressé par cette ferraille, cet individu peut poster une annonce, indiquant qu’un tas de ferraille est à récupérer à un endroit précis. Un ferrailleur serait ravi de le récupérer, pour en profiter plus tard.
  • Profil recycleur : Imaginons par exemple qu’un individu souhaite débarrasser son appartement des bouteilles de verre et emballages s’y trouvant, mais qu’il n’ait pas le courage de chercher lui-même l’endroit approprié. Une personne ayant un très grand respect pour l’environnement, et une envie de se faire de l’argent de poche, pourrait être intéressée par une telle opportunité, et pourrait (contre une petite somme d’argent) se charger de débarrasser l’appartement du premier individu.


De manière plus précise, voici comment nous procédons pour mettre en place cette application :

  • Récupération de données: Le premier besoin auquel sommes confrontés est de récupérer des données, utiles pour la mise en place de l’application. Pour ceci, nous nous intéressons à plusieurs sites, comme celui d’open data Toulouse, à partir duquel nous pouvons récupérer notamment des informations relatives aux points de collecte de Toulouse, ou aux différents quartiers de Toulouse.
  • Génération de données: Ne pouvant pas récolter l’ensemble des données souhaitées, nous décidons de générer certaines données. En se basant sur des données réelles, et en utilisant différents modèles statistiques, nous pouvons générer les données nécessaires au peuplement de la base de données. Base de données que nous avons également mis en place.
  • Stockage des données et service web: En fonction des besoins des différents acteurs du projet (les étudiants), nous mettons en place un modèle de données, puis construisons une base de données, incluant l’ensemble des données nécessaires au bon fonctionnement de l’application. Une fois la base de données mise en place, nous créons un service web, permettant notamment à l’application mobile de communiquer avec la base de données, afin de sélectionner, insérer, ou mettre à jour les données.
  • Application client: Comme vous l’avez remarqué, nous parlons ici de la mise en place d’une application mobile ! Nous mettons donc en place une interface client, fonctionnant sous Android & iOS. Cette application comprend différentes fonctionnalités, allant de la reconnaissance d’images, au calcul d’itinéraire, en passant par la possibilité de « liker » une annonce pour la retrouver, ou encore la recommandation d’un prix lorsque vous postez une annonce.

creer un compte

  • Classification d’images: Lorsqu’un utilisateur poste une annonce, l’application lui demande de joindre une photo. A partir de la photo jointe, l’application fait appel à un algorithme de classification qui va analyser cette image, et suggérer à l’utilisateur de quelle catégorie d’objets il s’agit. L’utilisateur est alors libre de confirmer cette suggestion, ou non. Un feedback est renvoyé à l’algorithme, lui indiquant si sa classification a été validée ou non.

poster une annonce

  • Prédiction et recommandation: L’utilisateur, toujours en train de remplir son annonce, peut se voir suggérer un prix de vente pour l’objet en question. Nous travaillions sur plusieurs méthodes, permettant notamment de suggérer un prix à un utilisateur, ou bien de lui indiquer le temps estimé de disponibilité d’un objet, basées sur des transactions passées impliquant des objets et/ou des utilisateurs similaires.
  • Itinéraire: Lorsqu’il a trouvé une annonce qui l’intéresse, ou plusieurs, et qu’il souhaite aller récupérer l’objet (ou les objets) dont il est question, l’utilisateur se voit suggérer un itinéraire. Cet itinéraire est calculé en prenant en compte différentes contraintes, telles que minimiser le temps de trajet, maximiser le nombre de points de collecte, ou bien maximiser la récolte.

rechercher itineraire

  • Administration: En parallèle de tout cela, nous réalisons une seconde application, pour l’administration. Elle propose aux personnes y ayant accès divers tableaux de bords relatant différentes statistiques relatives aux utilisateurs et à l’utilisation de l’application mobile. Elle communique directement avec la base de données, et permet également la gestion des droits d’administration.

administration

  • Qualité: La qualité est l’affaire de tous, mais elle doit-être néanmoins vérifiée. C’est dans cette optique que nous mettons en place une charte de codage dans un premier temps, ainsi que des vérifications et tests des codes dans un second temps, afin de s’assurer de la production d’un code propre, et potentiellement réutilisable.