Autodiagnostic - Module 8
STT-1100 Introduction à la science des données
Cet autodiagnostic non noté vérifie les notions du module 8. Il produit une correction détaillée, un résultat global, un bilan par compétence et un plan de révision ciblé.
- Première tentative: sans documentation, sans exécuter le code et sans aide extérieure, afin d’obtenir un portrait honnête.
- Après le bilan: consultez les ressources proposées, refaites les exercices ciblés, puis reprenez le diagnostic.
- Usage: ce diagnostic n’est pas noté et ne sert ni à attribuer une note ni à décider de l’admission au cours.
- Confidentialité: aucune réponse n’est transmise à l’enseignant. La progression et l’historique sont conservés uniquement dans ce navigateur.
Les seuils sont des repères pédagogiques propres à STT-1100. Ils n’ont pas fait l’objet d’une validation psychométrique. Une réponse exacte peut aussi résulter du hasard; les exercices pratiques demeurent donc essentiels.
Question 1
Quelle fonction sert à lire une page HTML avec rvest?
read_html()read_csv()geom_html()left_join()
Réponse: a. read_html() lit une page web ou un fichier HTML et crée un objet que rvest peut interroger.
Question 2
Vrai ou faux: un sélecteur CSS sert à cibler des éléments précis dans une page HTML.
Vrai. Par exemple, .dataset-card cible les éléments qui ont la classe dataset-card.
Question 3
Quelle fonction extrait le texte propre d’un noeud HTML?
html_text2()html_table2()text_join()parse_css()
Réponse: a. html_text2() retourne le texte en gérant mieux les espaces que html_text().
Question 4
Vrai ou faux: une fonction de scraping testable doit dépendre d’objets créés manuellement dans la console.
Faux. Une fonction testable doit recevoir ses entrées par ses arguments et fonctionner dans une nouvelle session R.
Question 5
Pourquoi transformer une extraction en fonction?
- Pour pouvoir la réutiliser et la tester
- Pour éviter d’écrire un nom de variable
- Pour rendre le code moins lisible
- Pour contourner les conditions d’utilisation
Réponse: a. Une fonction regroupe une logique, rend le code réutilisable et permet de tester le contrat de sortie.
Question 6
Vrai ou faux: map_chr() est utile lorsqu’on veut appliquer une extraction à plusieurs blocs HTML et obtenir un vecteur de textes.
Vrai. map_chr() applique une fonction à chaque élément et garantit un résultat de type caractère.
Question 7
Que devrait retourner une fonction robuste lorsqu’un champ facultatif manque?
NA_character_- Une erreur volontaire
- Une fenêtre interactive
- Le contenu complet de la page
Réponse: a. NA_character_ permet de représenter une information manquante sans casser toute l’extraction.
Question 8
Vrai ou faux: robots.txt donne une autorisation complète de collecte et de redistribution.
Faux. robots.txt donne des consignes techniques aux robots. Il ne remplace pas les conditions d’utilisation, la licence, l’éthique ou une autorisation écrite.
Question 9
Quelle pratique réduit la charge sur un serveur lorsqu’on extrait plusieurs pages?
- Ajouter une pause avec
Sys.sleep() - Lancer plusieurs milliers de requêtes en même temps
- Ignorer les erreurs de connexion
- Cacher son identité dans le code
Réponse: a. Une pause limite la pression exercée sur le serveur.
Question 10
Vrai ou faux: un test simple peut vérifier les noms de colonnes retournés par une fonction.
Vrai. Par exemple, identical(names(resultat), c("titre", "producteur", "categorie")) vérifie le contrat de sortie.
Question 11
Quel comportement est le plus sobre pour le défi?
- Scraper une page à la fois
- Télécharger tout le site
- Contourner les protections
- Publier des copies brutes sans vérifier les droits
Réponse: a. Le défi demande une fonction qui traite une page à la fois; c’est plus contrôlable et plus respectueux.
Question 12
Vrai ou faux: une page HTML locale de test aide à rendre un exercice reproductible.
Vrai. Une page locale reste disponible même si un site externe change, bloque une requête ou devient indisponible.