Former les étudiants à la collecte automatisée d'un site web via Python

Public :

  • BUT 2ième année Science des Données

Pré-requis :

Les cours de bases de données du BUT Science des Données année 1.

Compétences

  • Développer
  • Traiter
  • Analyser
  • Valoriser

Objectifs :

Les objectifs de cette SAÉ sont les suivants :

  • Faire comprendre à l'étudiant la spécificité des données web
  • Introduire le rôle d'une interface de programmation d'application (API) dans la récupération de données web
  • L'amener à approfondir sa réflexion quant au processus à mettre en œuvre pour la structuration et/ou l’alimentation d'un entrepôt de données avec des données issues du web
  • Être capable de réaliser un site web de base avec interaction de formulaires coté serveur en respectant le pattern MVC.
  • Apprendre à gérer une base de donnée de type MySQL et à présenter des résultats de recherche sous forme de graphique et/ou de formulaires.
  • Proposer une interactivité aussi bien au niveau des tableaux et au niveau des graphiques à l'aide des standards actuels du Web.

Objectifs secondaires :

Si le temps le permet, si l'UE sur le langage R est au premier semestre, voir comment intégrer du HTML5, du CSS3 et du JavaScript (jQuery et D3) dans les solutions web de RStudio.

Description

L'étudiant est mis en situation de collecte et d'intégration des données issues du web dans un entrepôt de données. La SAÉ sollicite l'ensemble des compétences du semestre pour répondre à un besoin d’analyse à des fins décisionnelles, nécessitant de concevoir et mettre en œuvre un entrepôt de données destiné à accueillir des données issues de sources disponibles en ligne. Après avoir modélisé et créé la structure de l’entrepôt, les étudiants devront savoir développer un programme visant à récupérer des données disponibles sur le net (par moissonnage de sites via des API par exemple), à les manipuler (nettoyage, pré-traitement, jointures...) pour les stocker dans l’entrepôt de données créé en amont.

Apprentissages critiques

  • AC21.01 : Comprendre l'organisation des données de l'entreprise
  • AC21.03 : Identifier et résoudre les problèmes d’intégration de sources complémentaires et hétérogènes
  • AC21.04 : Comprendre la nécessité de tester, corriger et documenter un programme
  • AC21.05 : Apprécier l’intérêt de briques logicielles existantes et savoir les utiliser
  • AC22.05 : Apprécier les limites de validité et les conditions d’application d’une analyse
  • AC23.01 : Saisir l’intérêt de mobiliser de manière proactive des ressources métiers liées à l'environnement (y compris économique, international…)
  • AC23.02 : Savoir défendre ses choix d’analyses
  • AC24.01VCOD : Comprendre le rôle fondamental de l’analyse des besoins et de l’existant dans un projet décisionnel (architecture, visualisation...)
  • AC24.02VCOD : Percevoir les enjeux de l’automatisation et de l'interopérabilité d’un ensemble de tâches
  • AC24.03VCOD : Prendre conscience des différences entre outils (logiciels, langages) pour choisir le plus adapté

Ressources associées

  • R3.02 : Systèmes d'information décisionnels
  • R3.03 : Technologies web
  • R3.04 : Programmation statistique automatisée
  • R3.VCOD.10 : Programmation objet
  • R3.EMS.11 : Projet Personnel et Professionnel 3
  • R3.VCOD.11 : Projet Personnel et Professionnel 3

Contenus pour répondre à ces objectifs :

Présentation des Technologies Web :

  • Historique Web & Internet
  • URL et HTTP
  • Architectures Client-Serveur, 2tiers / 3tiers / ntiers, client lourd / client léger / applications RIA (Ajax et Web Services), Architectures centralisée / distribuée / à objets / Intranet, LAMP / MEAN
  • Sécurité des application web avec le respect du Top 10 OWASP
  • HTML5
  • CSS3 et bootstrap
  • PHP connecté à MySQL avec un framework à la main MVC
  • JavaScript pour l'interactivité avec jQuery, pour la Data Vizualisation et la cartographie web avec D3.js
  • Utilisation de ses connaissance en R pour publier sur le web statiquement ou dynamiquement des analyses statistiques

Évaluation :

  • Un projet web utilisant les technologies HTML5/CSS3/PHP/MySQL/Javascript ayant pour thème un cabinet médical multi-site.
  • Les frameworks/bibliothèques bootstrap, jQuery, D3.js seront éventuellement utilisés.
  • Dans l'administration du site, ouverte uniquement via login/mot de passe à la secrétaire médicale, un menu permettra d'ajouter, consulter, modifier et supprimer chaque élément de la base de données. De plus, une visualisation choropleth des Iris de Vannes et ses environs sous forme d'overlay de Google Maps des patients pour tous les médecins ou pour un médecin particulier sera disponible.
  • En vitrine, des images, des vidéos, une carte Google Maps des différents bâtiments, un système de réservation du (premier) rendez-vous d'un (nouveau) patient. Possibilité pour un patient d'uploader une photo de la carte vitale. Enfin le menu proposera des analyses statistiques publiques avec R soit pilotées par un document R markdown généré éventuellement par Rcomdr, interprété en un document html par le package knitr et publié sur RPubs de RStudio, soit sous la forme d'une Shiny App.
  • Un QCM de contrôle continu sera aussi proposé.

Ce cours a été mis en ligne en 2022-2023.

Accéder au cours en ligne : NetUBS

Se connecter "en tant qu'invité" : Aide à la connexion