Il te permet egalement comme tu as pu le voir, de générer la séquence ce PHP qui va bien dans le fichier upgrade.
Au tout début d'un bloc, il ne faut rien mettre dans upgrade.php, et laisser l'installation du bloc se faire toute seule par les notifications du menu Administration.
Une fois la première installation faite, tu peux générer les différences et corrections par l'upgrade, mais tant que le bloc n'est pas publié, cela reste à déconseiller. Le fichier upgrade.php est surtout utile pour mettre à jour des sites qui ont installé ton bloc. Tant qu'il reste expérimental, il n'y en a pas.
L'upgrade sera activé chaque fois que tu augmenteras la valeur de version de ton bloc. Il est donc tout à fait inutile de changer la version du bloc s'il n'y a ni changement de la base de données, ni changement des capacités ou définitions d'événements à enrgistrer dans Moodle. Cependant, certains développeurs augmentent tout de même ce numéro de version pour mieux gérer les demandes d'assistance (plutôt que de fouiller le code du demandeur pour savoir le code de quel jour c'était !!).
En général, les blocs ne produisent pas de table dans XMLDB, car l'existance des blocs est marquée par un enreigstrement générique dans "mdl_block_instance".
Ce n'est pas vrai pour les modules qui ont besoin d'une table nouvelle pour chaque module.
Continue à poser des questions aussi pertinentes, ça sera un plaisir que de te guider... et fera de la matière pour les prochains candidats développeurs !!