-
Notifications
You must be signed in to change notification settings - Fork 78
Description
Bonjour,
Merci pour le cours "Découvrez la programmation orientée objet avec Python" et votre humour ;).
Ci-dessous voici quelques typos que j'ai notées ou quelques remarques :
Chapitre 1 :
-
https://openclassrooms.com/fr/courses/4302126-decouvrez-la-programmation-orientee-objet-avec-python/4302133-tirez-pleinement-parti-de-ce-cours#/id/r-4302276
Il y a marqué "Neuroticisme ou névocisme".
Je n'ai pas trouvé le terme "névocisme" ailleurs que dans ce cours.
La page Wikipédia dit "Neuroticisme ou névrosisme". -
https://openclassrooms.com/fr/courses/4302126-decouvrez-la-programmation-orientee-objet-avec-python/4302133-tirez-pleinement-parti-de-ce-cours#/id/r-4302289
Il manque une virgule à la fin du troisième item.
"Il affiche un premier graphique affichant le degré d'agréabilité en fonction de la densité de population"
Comme les items sont des phrases complètes, des points-virgules à la fin des items (sauf le dernier) au lieu de virgules seraient un petit plus.
Un livre sympa pour toutes ces règles est "Lexique des règles typographiques en usage à l'Imprimerie nationale"
https://www.google.com/search?q=lexique+des+r%C3%A8gles+typographiques
Les autres listes de textes avec items ont des problèmes similaires.
Chapitre 2 :
-
Dans la vidéo de début de chapitre, il y a une typo "intéraction" devrait s'écrire "interaction".
En réalité, la prononciation a évolué vers le "é" mais c'est entre "é" et "è" :
https://fr.wikipedia.org/wiki/Aide:Alphabet_phon%C3%A9tique_fran%C3%A7ais
voir les trois éè : e, ɛ, ɛː
à comparer avec la prononciation écrite sur cette page :
https://www.cnrtl.fr/definition/interaction -
https://openclassrooms.com/fr/courses/4302126-decouvrez-la-programmation-orientee-objet-avec-python/4303896-decouvrez-la-programmation-orientee-objet#/id/r-4303915
"Vient enfin l'étape de code !" j'aurai tendance à corriger en "Vient enfin l'étape du code !" ou "Vient enfin l'étape de coder !"
Chapitre 3 :
-
Dans la vidéo de début de chapitre, la présentation est un peu confuse au niveau de la classe Graph,
présentée avec deux attributs x et y de type float mais la narration "les valeurs de l'abscisse et les valeurs de l'ordonnée".
Chaque point du graphe a bien une abscisse et une ordonnée.
Le graphe étant 2D, il a un axe des abscisses (par défaut tracé au niveau de l'ordonnée 0)
et un axe des ordonnées (par défaut tracé au niveau de l'abscisse 0).
L'objet graphe devrait contenir un attribut ListePoints contenant les points du graphe à tracer. -
Les règles de la bataille navale présentées sont assez originales :
-- bateaux qui se déplacent (pour moi, on les positionne en début de partie puis ça ne bouge plus),
-- bateaux en diagonal (normalement c'est interdit et les plots qui permettent de fixer le bateau sur le plateau ne le permettent pas
(l'espace entre deux cases diagonales c'est racine de 2 fois la distance entre deux cases adjacentes,
donc les plots ne peuvent pas s'insérer en diagonale, sauf à les tordre ou n'en planter qu'un).
Ca peut sembler des détails mais certains élèves risquent de bloquer dessus. -
https://openclassrooms.com/fr/courses/4302126-decouvrez-la-programmation-orientee-objet-avec-python/4303941-structurez-votre-programme#/id/r-4303956
"Une position est composée de deux coordonnées : une abscisse, représentée par des nombres, et une ordonnée, représentée par des lettres."
l'abscisse est réprésenté par un nombre (soit des chiffres), pour l'ordonnée, le plateau ayant en temps normal moins de 26 cases, une lettre suffit. -
https://openclassrooms.com/fr/courses/4302126-decouvrez-la-programmation-orientee-objet-avec-python/4303941-structurez-votre-programme#/id/r-4316079
"Enfin, un graphique a un ensemble de données ayant chacun une abscisse (axe x) et une ordonnée (axe y)."
Il y a une typo, cela devrait être "ayant chacune" puisqu'il s'agit de données (ou bien mettre "ensemble de points" ?). -
https://openclassrooms.com/fr/courses/4302126-decouvrez-la-programmation-orientee-objet-avec-python/4303941-structurez-votre-programme#/id/r-4315997
"Chaque objet a une méthode qui lui sert à générer de nouveaux objets sur même modèle."
typo, il faudrait ajouter "le" dans "sur le même modèle".
Chapitre 4 : quizz RAS
Chapitre 5 :
-
https://openclassrooms.com/fr/courses/4302126-decouvrez-la-programmation-orientee-objet-avec-python/4303986-creez-votre-premier-agent#/id/r-4311239
"Pour cela, rien de plus simple : vous créez une variable puis vous l'assignez à votre classe."
Là il y a un problème de sens, on ne crée pas une variable pour l'assigner à la classe.
On assigne une instance de la classe au contenu d'une variable,
l'instance de la classe étant créée par l'appel à son constructeur, càd le nom de la classe suivi des parenthèses. -
dans l'éditeur de code, où on nous demande de créer une instance d'une classe :
le code suivant n'est pas validé par le robot :
first_instance = Waffle()
mais le code suivant est validé :
sugar_waffle = Waffle()
En gros, le robot de validation n'est pas bien futé.
Chapitre 6 :
- https://openclassrooms.com/fr/courses/4302126-decouvrez-la-programmation-orientee-objet-avec-python/4311051-customisez-votre-agent#/id/r-4311382
"lors de l'exécution la fonction." Il manque "de" dans "exécution de la fonction."
Chapitre 7 :
-
https://openclassrooms.com/fr/courses/4302126-decouvrez-la-programmation-orientee-objet-avec-python/4311351-ajoutez-des-attributs-a-partir-dun-dictionnaire#/id/r-4342221
Le titre "Varier de nombre d'arguments" est bizarre.
Varier c'est se changer soi-même ou être modifié par quelque chose d'extérieur.
"Varier de nombre d'arguments" me semble aussi bizarre que "Être modifié de nombre d'arguments",
on dirait plutôt "Voir son nombre d'arguments modifié" pour garder une tournure personnelle.
Sinon on fait varier l'extérieur en utilisant le verbe faire.
Là ce n'est pas la fonction qui varie toute seule comme une grande.
Je mettrais "Faire varier le nombre d'arguments" à la place. -
https://openclassrooms.com/fr/courses/4302126-decouvrez-la-programmation-orientee-objet-avec-python/4311351-ajoutez-des-attributs-a-partir-dun-dictionnaire#/id/r-4342217
"Imaginons que vous souhaitez passer" devrait être "Imaginons que vous souhaitiez passer" (souhaitiez).
"en paramètre un nombre variable d'éléments", je corrigerais "en paramètre" par "en paramètres" pour bien souligner qu'on parle des éléments et non de leur nombre.
Plus bas, il y a d'autres occurrences de "en paramètre" que je mettrais au pluriel. -
https://openclassrooms.com/fr/courses/4302126-decouvrez-la-programmation-orientee-objet-avec-python/4311351-ajoutez-des-attributs-a-partir-dun-dictionnaire#/id/r-4311495
"for agent_attributes in json.load(open("agents-100k.json")):"
Là le fichier n'est pas refermé après utilisation.
Est-ce qu'il ne vaudrait pas mieux utiliser la bonne pratique du cours précédent ?
with open("agents-100k.json") as file:
for agent_attributes in json.load(file):
Chapitre 8 : RAS
Chapitre 9 : quizz
- Question 2
"""
Une classe est :
une salle dans laquelle se réunissent les élèves apprenant à coder.
la représentation d'un objet en programmation.
"""
Ni l'un ni l'autre, une classe est la représentation nommée des traits communs (attributs, méthodes) à un ensemble d'objets.
Chapitre 10 :
- Dans la vidéo de début de chapitre, il manque l'utilisation de HEIGHT_DEGREES dans la création des zones.
Chapitre 11 :
-
https://openclassrooms.com/fr/courses/4302126-decouvrez-la-programmation-orientee-objet-avec-python/4313146-ajoutez-un-habitant#/id/video_Player_1
Dans la vidéo de début de chapitre, la création des zones est faite dans la boucle pour chaque agent !!!
Inutile de dire que c'est l'ordinateur qui est lent dans la vidéo >< -
https://openclassrooms.com/fr/courses/4302126-decouvrez-la-programmation-orientee-objet-avec-python/4313146-ajoutez-un-habitant#/id/r-4313159
"La seconde solution est de trouver l'index de la zone à partir de l'index de la position."
devrait plutôt être
"La seconde solution est de trouver l'index de la zone à partir des coordonnées de la position." -
https://openclassrooms.com/fr/courses/4302126-decouvrez-la-programmation-orientee-objet-avec-python/4313146-ajoutez-un-habitant#/id/r-4313162
"""
def contains(self, position):
return position.longitude >= min(self.corner1.longitude, self.corner2.longitude) and
position.longitude < max(self.corner1.longitude, self.corner2.longitude) and
position.latitude >= min(self.corner1.latitude, self.corner2.latitude) and
position.latitude < max(self.corner1.latitude, self.corner2.latitude)
"""
Un commentaire sur ce code serait intéressant, pour préciser qu'on a bien créé chaque zone
avec le coin inférieur gauche et supérieur droit mais que cette méthode n'a besoin que d'une paire de coins opposés pour marcher :
plus robuste mais moins efficace.
Il y a un bug fourbe :
-- pour la longitude ok car -180 et 180 ça revient au même donc inégalité large sur le min
et inégalité stricte ça fonctionne à condition que la base des agents soit normée avec -180 plutôt que 180 comme valeur extrême sur chaque agent,
sinon un prétraitement des longitudes des agents et tout est ok
-- par contre pour la latitude, toute personne au pôle Nord à 90° de latitude est hors zone
(bon je sais la proba est faible mais ça illustre la différence entre un programme qui marche en pratique et un programme correct.
Souvent, pour des raisons de sécurité, on veut un programme correct, là c'est du Python mais si on avait un pointeur dans chaque agent vers sa zone,
on pourrait avoir un pb de pointeur non initialisé etc. C'est peut-être une bonne opportunité pour sensibiliser le public de la formation.)
Chapitre 12 : RAS
Chapitre 13 : quizz RAS
Chapitre 14 :
- https://openclassrooms.com/fr/courses/4302126-decouvrez-la-programmation-orientee-objet-avec-python/4313271-calculez-lagreabilite-moyenne-dune-zone#/id/video_Player_1
Dans la vidéo de début de chapitre, et après, le calcul d'aire est complètement faux,
il est à peu près vrai au niveau de l'équateur mais les grilles ne délimitent pas des carrés, ni même des rectangles.
Je comprends que la vraie formule est hors sujet pour ce cours mais ce serait bien de dire une phrase du style :
"On va supposer pour simplifier que les habitants se trouvent loin des pôles et on utilisera donc ce calcul approché".
(La distance entre deux points de latitude 90° est zéro (pôle Nord) quelle que soit la longitude des deux points,
le calcul est valable pour la distance entre deux points de latitude 0° (équateur),
entre deux points de même latitude la distance varie selon la longitude ET la latitude
(distance maximale à l'équateur, distance nulle aux pôles).)
Chapitre 15 :
-
https://openclassrooms.com/fr/courses/4302126-decouvrez-la-programmation-orientee-objet-avec-python/4313321-creez-un-graphique#/id/r-4314616
"Créons la classe Graph" devrait être "Créons la classe BaseGraph",
sauf que plus en dessous la classe BaseGraph redevient la classe Graph dans les extraits de code,
avant que l'héritage soit introduit. -
https://openclassrooms.com/fr/courses/4302126-decouvrez-la-programmation-orientee-objet-avec-python/4313321-creez-un-graphique#/id/r-4314589
"L'inverse est appelé une classe concrète : on ne s'attend pas à ce qu'elle étende d'autres classes."
devrait être
"L'inverse est appelé une classe concrète : on ne s'attend pas à ce qu'elle soit étendue par d'autres classes." -
https://openclassrooms.com/fr/courses/4302126-decouvrez-la-programmation-orientee-objet-avec-python/4313321-creez-un-graphique#/id/r-4318455
"Si vous désirez en savoir plus, je vous conseille de lire le chapitre Inheritance: for good and for worse (du livre Fluent Python)"
Il manque le point à la fin de la phrase. -
https://openclassrooms.com/fr/courses/4302126-decouvrez-la-programmation-orientee-objet-avec-python/4313321-creez-un-graphique#/id/r-4318741
Dans l'interface de code interactif, l'énoncé :
IceWaffle(sugar_spoons, ice_scoops)
contredit la solution proposée :
def init(self, ice_cream):
super().init()
self.ice_cream = ice_cream
En effet, il manque un paramètre au constructeur.
Chapitre 16 :
- https://openclassrooms.com/fr/courses/4302126-decouvrez-la-programmation-orientee-objet-avec-python/4313411-conclusion#/id/r-4342470
"Donc je dors, j'appelle un taxi", je parierai plutôt sur "Donc je sors, j'appelle un taxi" ;)
Chapitre 17 : quizz RAS
Bien cordialement,
Laurent Lyaudet