Création d'un réseau social

Création d'un réseau social

17 septembre 2016

Pendant environ un an j'ai participé en tant que chef de projet et développeur au développement d'un réseau social sur le thème du cinéma avec une équipe de 4, 5 personnes. L'idée était de créer un réseau social pour les cinéphiles sur lequel il était possible de proposer des sorties cinéma, ou de rejoindre la sortie d'un autre utilisateur. Je ne suis pas l'initiateur du projet, moi j'étais là pour faire la gestion de projet, le développement web, les choix techniques et en grande partie l'identité visuelle de la plateforme. Avec moi il y avait l'initiateur du projet avec un profil plutôt commercial, un développeur android, un développeur ios, et d'autres personnes qui gravitaient un peu autour du projet et qui nous donnaient des conseils.

Étant donné que le projet n'a jamais été mis en ligne, je resterai volontairement flou sur certains aspects.

Développement de la plateforme web

Côté back-end de la plateforme web, je suis parti sur un Symfony 2 avec une base MySql. En front j'ai utilisé Ractive.js et jQuery. Jusque-là, rien d'étonnant.

En matière de fonctionnalités : un peu de géolocalisation, une landing page, un système d'authentification, un fil d'actualité à la Facebook, un système de recherche et un formulaire de création de sortie.

Collecte de données

Là où ça devient plus intéressant, c'est que je voulais avoir dans ma base de données l'ensemble des séances de cinéma de tous les cinémas de France. De cette façon je pouvais créer un moteur de recherche de séance de cinéma très performant.

Dis donc Jamy, comment on récupère toute les séances de cinéma de France ? Et bien c'est très simple. (ou pas) J'ai donc développé un framework de scraper en NodeJs.

Pour faire simple, un scraper, aussi appelé crawler est un robot qui va parcourir des pages web automatiquement pour y récupérer certaines informations. J'ai donc développé un petit framework avec NodeJs, MongoDb et Docker qui permet de créer facilement des scrapers. Si ça vous intéresse, lisez mon poste sur CaptainScraper.

J'ai ensuite utilisé cet outil fraichement développé pour automatiser le scraping du site Allocine. Mon robot parcourait la liste des villes sur Allocine, pour chaque ville il repérait tous les cinémas présents, et pour chaque cinéma j'allais récupérer l'ensemble des séances. En faisant cette opération une fois par jour j'étais à peu près sûr d'avoir toutes les séances que je voulais.

Je pouvais ensuite faire un joli formulaire pour rechercher une séance de cinéma dans la ville de votre choix, pour le film, et l'heure de votre choix.