// Update is called once per frame
    void Update()
    {
        if (musicSource != null)
        {
            _currentAbsoluteMusicPosition = musicSource.time;
            _currentRelativeMusicPosition = _currentAbsoluteMusicPosition / musicSource.clip.length;
        }

        // _nextBPMTimeCode prend la valeur du prochain BPM si la musique se reboucle le _nextBPMTimeCode ne sera jamais atteint
        // pour remédier, si _nextBPMTimeCode dépasse la longeur de la mussique il sera réinitialiser
        if (musicSource.time < previousMusicTime)
        {
            Debug.Log("ça boucle");
            _nextBPMTimeCode = 0;
            _cptBPM          = 0;
        }

        previousMusicTime = musicSource.time;

        if (_currentAbsoluteMusicPosition > _nextBPMTimeCode)
        {
            _nextBPMTimeCode += 60F / _bpm;

            _cptBPM++;

            eventBPM.Invoke(_cptBPM);
        }
    }