Ben oui, nécessairement .... si tu as collé ici le code complet alors $somme n'a pas été initialisée. Avant de rentrer dans la boucle initialise-la à 0. Et de la même manière $TotalDesNotes n'a aucune valeur tu risques de faire une division par zéro (même si elle ne contient pas forcément 0).
En revanche une notice ne fait jamais "planter" un script.
Est-ce que $TotalDesNotes a une valeur (donné précédemment dans le script) ?
L'urgent est fait, l'impossible est en cours,
Pour les miracles, prévoir un délai ...