par anonyme 07-Novembre-2018

Je cherche à rafraichir une page Web qui est ouverte dans mon navigateur, de manière automatique. Merci.

2 Réponses

par Antoine 07-Novembre-2018

Il existe des logiciels pour cela mais il est possible de s'en passer. L'objectif de la manipulation à venir est de créer un fichier HTML personnalisé pour y ajouter la fonction rafraichir. Pour cela on utilise un peu de code HTML et un brin de JavaScript.

Pour rafraichir automatiquement une page Web, procédez comme suit :

  • Effectuez un clic-droit sur le bureau de votre PC.
  • Allez sur Nouveau et sélectionnez Document texte.
  • Nommez le comme bon vous semble.
  • Ouvrez le fichier, et copiez collez le code suivant :

Code HTML

<html>
<iframe marginwidth="0" marginheight="0" width="100%" height="100%" scrolling="yes" frameborder=0 id="iframe" src="https://www.1formatik.com">
</iframe>
<script>
window.setInterval("reload();", 10000);
function reload() {
document.getElementById("iframe").src="https://www.1formatik.com";
}
</script>
</html>
  • Modifiez l'adresse de la page que vous désirez rafraichir, attention elle est présente à deux endroits.
  • Modifiez le délai de rafraichissement, il est en millisecondes, donc 10000 correspond à 10 secondes.
  • Enregistrez le fichier.
  • Changez son extension de txt à html.

Remarque : Si votre PC n'affiche pas les extensions des fichiers, référez-vous à cette question / réponse.

Vous n'avez plus qu'à ouvrir le fichier avec sa nouvelle extension HTML dans votre navigateur, et la page Web que vous avez spécifié s'y chargera, et sera rafraichie toutes les X millisecondes.

Remarque : Il est normal que vous obteniez l'erreur www.1formatik.com n'autorise pas la connexion. Le serveur 1FORMATIK.com est configuré pour refuser le chargement du site dans une iframe (X-Frame-Options: SAMEORIGIN).

par vincent 13-Septembre-2020

Bonjour, merci pour le programme,

Avez vous une astuce pour rafraîchir une page mais en changeant le temps à chaque fois ?
C'est à dire premier rafraîchissement au bout de trois secondes, le 2ème au bout de 10 secondes ... Et cela entre 1 et 30 seconde ?
D'avance merci

par Antoine 13-Septembre-2020

Bonjour Vincent, ci-après une seconde version qui permet de paramétrer le temps de chargement entre chaque itération.

<html>
<iframe marginwidth="0" marginheight="0" width="100%" height="100%" scrolling="yes" frameborder=0 id="iframe" src="https://www.1formatik.com">
</iframe>
<script>
function pause(ms) 
{
  return new Promise(resolve => setTimeout(resolve, ms));
}

async function exemple() 
{
for (i = 0; i < 5; i++)
{
  if (i === 0){var time = 2000;}
  if (i === 1){var time = 5000;}
  if (i === 2){var time = 10000;}
  if (i === 3){var time = 15000;}
  if (i === 4){var time = 20000; i = 0;}
  await pause(time);
  document.getElementById("iframe").src="https://www.1formatik.com";
}
}
exemple();
</script>
</html>

Dans cet exemple on boucle 5 fois et la variable var time correspond au temps : 2 secondes, puis 5, puis 10, puis 15 et enfin 20 secondes, et on recommence la boucle grâce à i = 0;.

Il vous suffit d'adapter les valeurs time, et le cas échéant de modifier < 5 , à titre d'exemple, par < 6 , et ensuite de rajouter une condition supplémentaire :

if (i === 5){var time = 30000; i = 0;}

Attention n"oubliez pas supprimer i = 0; à la condition précédente, c'est ce qui permet au programme de redémarrer la boucle...

par Zyz 14-Janvier-2021

J'ai une autre solution à vous proposer pour rafraichir une page Web de manière automatique. Elle utilise PowerShell, et donc ne fonctionne qu'avec Windows.

  • Copier-coller le code ci-après dans un document texte à l'aide du Bloc-notes.
  • Adaptez les paramètres de temps comme bon vous semble.
  • Renommez ensuite l'extension de fichier de txt en ps1.
  • Ouvrez la page Web à rafraichir automatiquement dans votre navigateur Web.
  • Cliquez avec le bouton droit sur le fichier et choisissez Exécuter avec PowerShell.

Code PowerShell :

# Durée d'exécution du script en minute
$duree_en_minute = 720

# Occurrence de rafraichissement en seconde
$refresh_en_seconde = 120

# Quel navigateur internet utilisez-vous (Google Chrome, Firefox, Opera ...)
$navigateur = "Google Chrome"

$timeout = new-timespan -Minutes $duree_en_minute
$sw = [diagnostics.stopwatch]::StartNew()
while ($sw.elapsed -lt $timeout){
        [void] [System.Reflection.Assembly]::LoadWithPartialName("'Microsoft.VisualBasic")
        [Microsoft.VisualBasic.Interaction]::AppActivate($navigateur) 
        [void] [System.Reflection.Assembly]::LoadWithPartialName("'System.Windows.Forms") 
        [System.Windows.Forms.SendKeys]::SendWait("{F5}")
        $start = Get-Date
        Write-Host "Refresh de la page :"$start
    start-sleep -seconds $refresh_en_seconde
}
par Oxby 08-Février-2021

Fonctionne à merveille, merci beaucoup.

par anonyme 08-Mars-2022

Bonjour comment faire pour être avertie dès qu'il y a un changement une nouveauté sur la page à chaque rafraichissement de cette dernière ?

par Zyz 08-Mars-2022

Vous pouvez comparer le code source de la page à chaque itération.

Cependant, et même si aucun nouveau contenu (texte, image, article, etc) est ajouté à la page, bon nombre de sites incluent dans leur code source des éléments dynamiques qui changent en permanence.

Donc pour bien faire il faut identifier la partie de la page qui vous intéresse pour exclure tout le superflu et ainsi comparer que le strict nécessaire.

Par exemple, sur la page d'accueil de 1FORMATIK.com, la liste des questions se trouve dans une balise <div class="qa-main">.

On peut ainsi récupérer tout le contenu de cette balise.

Voici l'exemple correspondant :

# Durée d'exécution du script en minute
$duree_en_minute = 720

# Occurrence de rafraichissement en seconde
$refresh_en_seconde = 10

# Quel navigateur internet utilisez-vous (Google Chrome, Firefox, Opera ...)
$navigateur = "Google Chrome"

# Adresse de la page web
$adresse = "https://www.1formatik.com"

# On recupere le code source contenu dans la balise div dont la class est qa-main et on le stock dans une variable nommée html1
$scrap = Invoke-WebRequest -Uri $adresse
$html1 = $scrap.content| Where-Object {$_.class -eq "qa-main"}

$timeout = new-timespan -Minutes $duree_en_minute
$sw = [diagnostics.stopwatch]::StartNew()

while ($sw.elapsed -lt $timeout){
# à chaque itération on récupère de nouveau le code source et le stock dans une seconde variable html2
$scrap = Invoke-WebRequest -Uri $adresse
$html2 = $scrap.content| Where-Object {$_.class -eq "qa-main"}

# On compare les deux variables
if ($html1 -eq $html2) {
$message = "Code source identique"
} 
else {
$message = "Code source different"
# On met à jour la variable html1 avec le nouveau code source
$html1 = $html2
}

# On refresh la page dans la navigateur
        [void] [System.Reflection.Assembly]::LoadWithPartialName("'Microsoft.VisualBasic")
        [Microsoft.VisualBasic.Interaction]::AppActivate($navigateur) 
        [void] [System.Reflection.Assembly]::LoadWithPartialName("'System.Windows.Forms") 
        [System.Windows.Forms.SendKeys]::SendWait("{F5}")
        $start = Get-Date
        Write-Host "Refresh de la page :"$start $message
start-sleep -seconds $refresh_en_seconde
}

Référez vous à cette page pour plus d'informations.

Questions liées

1 réponse
posée par anonyme 09-Mars-2020
1 réponse
posée par anonyme 13-Juillet-2019
1 réponse
posée par anonyme 23-Septembre-2021
1 réponse
1 réponse
1 réponse
posée par Berjot Didier 02-Aout-2022
Bienvenue sur 1FORMATIK, où vous pouvez poser des questions en lien avec l'informatique et internet, et recevoir des réponses de l'équipe et d'autres internautes.

2.6k questions

3k réponses

...