Bonsoir Maxime,
Oui effectivement, a mon petit niveau c’est déjà devenu addictif et j’ai envie de savoir comment tout fonctionne 
Effectivement tes cours sont mis en lien (je n’ai pas vérifié tous les projets mais c’est le cas pour le P3 qui correspond aux bases du Swift + POO).
J’ai presque fini ton cours « Apprendre a programmer en Swift », apparement tu aimes les séries, pour ma part j’ai beaucoup aimé Servant sur Apple TV+, The morning show (toujours sur ATV+), Ozark sur netflix aussi…si jamais tu as le temps entre 2 lignes de code 
Je referme la parenthèse séries pour te poser une question sur la partie chaînage des optionnels. Dans l’exemple que tu prends dans le cours, il fonctionne très bien dans un projet Xcode, mais testé dans un playground hors d’un projet, Xcode renvoie le message :
Value of type ‹ String › has no member ‹ capitalized ›
alors que la var nomGagnant est logiquement bien un string puisque je lui ai fait passer la fonction saisirTexte() par nomGagnant = saisirTexte()
ce sera peut etre mieux avec le code :
func chainageOptionnel() {
print(« Tirage de la loterie »)
var nomGagnant: String? = nil
if Int.random(in: 1…1000).isMultiple(of: 7) {
print("Bravo vous avez gagne, entrez votre nom: ")
nomGagnant = saisirTexte2()
}
nomGagnant = nomGagnant?.capitalized // ne fonctionne pas dans un playground mais ok dans un projet
Merci par avance pour ta réponse et bon week-end!