Minuteur de Compte à Rebours
Créer des minuteurs de compte à rebours avec temps personnalisé et rappels
Définir le temps
Qu'est-ce qu'un minuteur de compte à rebours ?
Un minuteur de compte à rebours part d’une durée choisie et descend jusqu’à zéro. Il sert pour le travail concentré, la cuisine, les intervalles sportifs, les cours, les réunions, les discours et toute activité où il faut respecter un bloc de temps précis. Contrairement au chronomètre, qui mesure le temps écoulé depuis zéro, le compte à rebours rend visible le temps restant et le point de fin. Cela aide à garder le rythme, conclure au bon moment et éviter les dépassements. Cette page propose aussi un chronomètre et plusieurs minuteurs, utiles pour les tours, les segments ou les tâches en parallèle. Comme le calcul tourne dans l’onglet ouvert, gardez la page active pour les rappels importants.
Comment utiliser
Comment utiliser
- Sélectionnez un onglet : Compte à rebours, Chronomètre ou Multi-minuteur.
- Pour le compte à rebours : saisissez les heures/minutes/secondes ou cliquez sur une durée prédéfinie.
- Cliquez sur « Démarrer » pour lancer le compte à rebours, « Pause » pour le mettre en pause.
- Une alerte sonore retentit à la fin du compte à rebours.
Notes sur le chronométrage
- Les minuteurs du navigateur peuvent se mettre en pause ou dériver lorsque l'onglet est en arrière-plan, que l'appareil se met en veille ou que le mode économie d'énergie est activé.
- Pour des réunions, des examens ou des tâches en production, gardez une horloge système ou un minuteur dédié comme référence finale.
Cas d’utilisation
Principe technique
Le moteur de compte à rebours n'utilise pas setInterval(callback, 1000) comme horloge de référence — cette approche accumule une dérive car la spécification de la boucle d'événements HTML5 ne garantit qu'un délai minimum, pas un cadencement fixe. À la place, la page enregistre un startTime via Date.now() (ou performance.now() pour une résolution inférieure à la milliseconde) et à chaque tick calcule remaining = targetDuration - (Date.now() - startTime). Le rafraîchissement de l'affichage est piloté par requestAnimationFrame, cadencé par le navigateur au rythme du vsync de l'écran (généralement 60 Hz / 16,67 ms, parfois 120 Hz sur les ordinateurs et téléphones à haut taux de rafraîchissement). Cette conception auto-corrective maintient les secondes affichées synchronisées avec l'horloge murale même après que la file de tâches JavaScript ait été bloquée par le ramasse-miettes ou une mise en page longue. La restriction des onglets en arrière-plan est la principale source de surprises pour les minuteurs. Selon le HTML Living Standard, les onglets masqués limitent setInterval/setTimeout à un minimum de 1 000 ms (Chrome, Firefox et Safari implémentent cela avec leurs propres heuristiques ; Chrome gèle en outre les onglets inactifs au bout d'environ 5 minutes sur batterie). L'API Page Visibility (document.visibilityState, document.hidden, l'événement visibilitychange) permet au minuteur de détecter un changement d'onglet et de réconcilier son horloge interne avec Date.now() lorsque l'onglet redevient visible. Le son de fin de compte à rebours est lu via l'API Web Audio (AudioContext + OscillatorNode ou un AudioBuffer préchargé), qui nécessite une activation par un geste utilisateur préalable sur iOS Safari et Chrome moderne pour satisfaire la politique d'autoplay. Une alerte visuelle est également affichée en complément, et si l'utilisateur a accordé la permission au préalable, une notification système peut être envoyée via l'API Notification. Le mode multi-minuteurs conserve chaque minuteur dans son propre objet d'état avec un startTime indépendant ; une seule boucle requestAnimationFrame parcourt le tableau à chaque image plutôt que de lancer un intervalle distinct par minuteur, ce qui maintient la charge CPU constante à mesure que le nombre de minuteurs augmente. La persistance entre les rechargements utilise localStorage avec un endTime sérialisé, ce qui permet à la page de recalculer le temps restant au montage. Notez que les corrections d'horloge murale par le système d'exploitation (changement manuel de l'heure, saut NTP ou transition d'heure d'été) décalent Date.now() instantanément et peuvent faire apparaître un saut dans un minuteur récupéré — performance.now() est monotone et est préféré lorsque seul le temps écoulé compte au sein d'un seul chargement de page.
- Utiliser Date.now() ou performance.now() comme source de vérité ; ne jamais faire confiance aux ticks setInterval accumulés.
- requestAnimationFrame plafonne le repeint au vsync de l'écran (60 Hz = ~16,67 ms ; 120 Hz = ~8,33 ms).
- Les onglets masqués limitent setInterval à un minimum de 1 000 ms selon la spec HTML ; Chrome peut geler la page après ~5 min sur batterie.
- L'API Page Visibility (événement visibilitychange) est le point d'accroche pour réconcilier le minuteur lorsque l'onglet revient au premier plan.
- L'API Web Audio nécessite une activation par un geste utilisateur préalable sur iOS Safari et Chrome pour satisfaire la politique d'autoplay.
- L'API Notification nécessite Notification.requestPermission() et un contexte sécurisé (HTTPS ou localhost).
- performance.now() est monotone à travers les sauts NTP et les transitions d'heure d'été ; Date.now() ne l'est pas — choisissez en conséquence.
Exemples
Bloc de travail Pomodoro (25 min de focus + 5 min de pause)
Mode : Compte à rebours
Durée : 00 : 25 : 00
Début à : 14:00:00
Fin à : 14:25:00 (alarme retentit)
Suivant : minuteur de pause de 5 minutes (préréglé)Cuisine - œuf à la coque (6 min 30 s)
Mode : Compte à rebours
Régler : 00 : 06 : 30
À 1:00 -> alerte visuelle met en évidence le temps restant
À 0:00 -> alarme + bannière : Compte à rebours terminé !Chronomètre avec tours (entraînement 1 km)
Départ -> 00:00.00
Tour 1 -> 04:12.80 (split 04:12.80)
Tour 2 -> 08:31.45 (split 04:18.65)
Tour 3 -> 12:48.10 (split 04:16.65)
Arrivée-> 16:55.30 (split 04:07.20 le plus rapide)Multi-minuteurs pour HIIT (30s travail / 15s repos x 4)
Minuteur A : 00:30 (travail) -> alarme
Minuteur B : 00:15 (repos) -> alarme
Minuteur C : 00:30 (travail) -> alarme
Minuteur D : 00:15 (repos) -> alarme
Session totale : 3 minutes, gardez l'onglet visible pour que les alarmes se déclenchent à temps.Surveillance d'examen - bloc d'écriture de 45 minutes
Durée : 00 : 45 : 00
Début : 09:15:00
Fin : 10:00:00
Astuce : laissez l'onglet au premier plan - les onglets en arrière-plan peuvent ralentir setInterval et dériver de plusieurs secondes sur 45 minutes.FAQ
Le compte à rebours continue-t-il si je change d'onglet ?
Les navigateurs modernes ralentissent les onglets en arrière-plan à environ 1 mise à jour par seconde pour économiser la batterie, donc la valeur affichée peut accuser un léger retard à votre retour, mais le calcul sous-jacent est basé sur le temps absolu, donc le total écoulé est correct. Le compte à rebours affiché se met à jour dès que vous revenez sur l'onglet.
L'alarme se déclenchera-t-elle si l'onglet est en arrière-plan ?
La lecture audio dans les onglets en arrière-plan est restreinte par certains navigateurs et par les paramètres d'économie d'énergie du système d'exploitation. L'alarme est jouée via l'API Web Audio et nécessite une interaction utilisateur préalable. Gardez l'onglet actif ou visible si l'alerte est importante.
Que se passe-t-il si l'ordinateur se met en veille ?
Le calcul de temps sous-jacent du compte à rebours est basé sur Date.now() (horloge murale), il reste donc précis pendant la veille du système. L'affichage se rattrape au réveil. L'alarme sonore, en revanche, ne se déclenchera pas pendant la suspension du système.
Quelle est la précision du minuteur ?
L'affichage se met à jour chaque seconde, mais en interne la page utilise des horodatages à la milliseconde près. La précision réelle est limitée par le ralentissement des onglets en arrière-plan (les onglets en arrière-plan perdent en précision) et par la latence de sortie audio pour le son d'alarme (généralement < 100 ms). Pour une précision en physique ou en ingénierie audio, utilisez du matériel spécialisé.
Puis-je enregistrer des durées prédéfinies ?
Des boutons de présélection rapide (5 min, 10 min, 25 min, 45 min, 1 heure) sont fournis pour les durées courantes. Ce sont des raccourcis intégrés, non personnalisables par l'utilisateur. Fermer l'onglet perd l'état actuel du minuteur.
Qu'en est-il du passage à l'heure d'été ?
Le compte à rebours utilise le nombre de secondes écoulées, pas les dates de l'horloge murale, donc les transitions d'heure d'été ne l'affectent pas. Un compte à rebours de 2 heures lancé 30 minutes avant le passage à l'heure d'été se termine bien 90 minutes plus tard.
Quelque chose est-il envoyé en ligne ?
Non. Le minuteur s'exécute entièrement dans votre navigateur. Les présélections personnalisées et l'historique sont stockés localement si vous l'acceptez.