Astuces liées à Windows
Votre PC se réveille tout seul ?
Le problème vient certainement du controller Ethernet (= carte Internet) qui continue d'envoyer des infos à votre PC.
Vous pouvez choisir les périphériques autorisés à le réveiller ainsi :
- appuyez sur la touche Windows (entre ctrl et Alt)
- écrivez : cmd puis ok
- exécutez l'invite de commande en mode administrateur (cliquez droit si ce n'est pas proposé) et confirmez sur la fenêtre
- listez les périph actuellement autorisés à réveiller votre PC en tappant/copiant ceci : powercfg /devicequery wake_armed
- vous devriez avoir plusieurs lignes comprenant au moins le clavier, la souris et un truc du style PCIe ... Controller
- c'est surtout ce périph qu'il faut interdire en tappant ceci (indiquez l'intitulé exact entre les "") : powercfg /DEVICEDISABLEWAKE "... PCIe ... Controller"
- nous vous conseillons en fait de ne conserver que le clavier : la souris peut avoir des sursauts en passant trop prêt ou en faisant le ménage.
- au cas où vous auriez perdu l'intitulé, vous pouvez lister tous les périph ainsi : powercfg /devicequery wake_from_any
- vous avez fait une erreur ? Voici comment ajouter un périphérique : powercfg /DEVICEENABLEWAKE "Clavier ..."
Vous souhaitez lancer un programme au démarrage ?
Vous pouvez ajouter le raccourci de ce logiciel dans le répertoire de démarrage de Windows ainsi :
- trouvez le fichier monlogiciel.exe
- cliquez droit puis Créer un raccourci
- cliquez droit sur ce raccourci puis sur couper
- appuyez sur les touches Windows (entre ctrl et Alt) et R
- écrivez shell:startup puis ok
- une fenêtre s'ouvre sur un navigateur Windows
- cliquez droit dans la zone de droite et coller.
Marre de toujours devoir mettre un mot de passe au démarrage/réveil de Windows ?
Vous pouvez ajouter le raccourci de ce logiciel dans le répertoire de démarrage de Windows ainsi :
- appuyez sur les touches Windows (entre ctrl et Alt) et R
- écrivez netplwiz puis ok
- une fenêtre : décochez la case "Les utilisateurs doivent entrer un nom d'utilisateurs et un mot de passe..."
Si ca ne suffit pas :
- appuyez sur les touches Windows + I
- cliquez sur l'onglet Options de connexion
- tappez Options de connexion puis ouvrir
- vous pouvez enlever ici le mot de passe code pin Hello
Si ca ne suffit toujours pas, il faut basculer sur un compte local :
Attention si vous utilisez OneDrive : il n'y aura plus de synchronisation
- sur la fenêtre précédente cliquez sur l'onglet Vos informations
- cliquez sur Se connecter plutôt sur un compte local confirmez en avec suivant
- saisissez le mot de passe du compte Microsoft
- conservez le nom d'utilisateur mais supprimez les informations sur le mot de passe puis cliquez sur suivant
- confirmez avec Se déconnecter et terminer
Bien sûr vous pourrez toujours revenir sur un compte Microsoft.
Quelques atuces de programmation
Sécurisez vos fetch
Si vous souhaitez sécuriser vos échanges avec vos programme PHP,
vous pouvez sécuriser vos fetch en faisant la requête sur un fichier php intermédiaire codé ainsi :
<?php
$allowed_origins = ['https://monsite.fr/','http://monsite.fr/']; // Liste des origines autorisées
$origin = isset($_SERVER['HTTP_REFERER']) ? dirname($_SERVER['HTTP_REFERER']) : '';
if (in_array($origin, $allowed_origins)) {
header('Access-Control-Allow-Origin: ' . $origin);
include 'monvraifichier.php';
} else {
http_response_code(403);
echo 'Accès refusé';
}
Ainsi vous êtes sûr que monvraifichier.php ne pourra être appelé que par les sites autorisés.
Notez également que le nom de ce fichier n'est pas visible côté navigateur.
Mais vous pouvez toujours lui rajouter ce code au début.
Masquer le code javascript
Si vous souhaitez que du code javacript sensible ne soit pas visible,
faites une requête sur un fichier php qui le retournera ainsi :
Côté javascript :
fetch('init.php?time='+Date.now().toString().substring(9),{method: 'GET', credentials: 'include'})
.then((response) => response.text())
.then((retour) => {document.getElementById('init').innerHTML = retour})
.catch(error => {console.log(error);})
.catch(error => {console.log(error);})
Côté php :
<?php
echo = "
function appelSensible(){
let param1 = document.getElementById('param1').value
let param2 = document.getElementById('param2').value
let motdepasse = 'monMDPsecret'
fetch('compte.php?param1='+param1+'¶m2='+param1+'&mdp='+motdepasse+'&time='+Date.now().toString().substring(9),{method: 'GET', credentials: 'include'})
.then((response) => response.text())
.then((retour) => {
...
})
.catch(error => {console.log(error);})
}";
Notez que ça fonctionne aussi pour afficher de l'HTML sans montrer le code source.
Générer les fichiers de référencement Internet
Ce code permet de générer automatiquement les fichiers xml qui permettent un référencement optimum de votre site :
<?php
$racine = dirname(dirname(__FILE__));
$liste = array_diff(scandir($racine), array('..', '.'));
$robots = 'User-agent: *
User-agent: AdsBot
Disallow: /javascript.html
Disallow: /css/
Disallow: /icones/
Disallow: /js/
Disallow: /php/
';
$sitemap = '<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
foreach ($liste as $key => $value) {
if(substr($value,-4)=='html' && substr($value,0,3)!='OLD' && $value!='javascript.html'){
$robots .= '
Allow: /'.$value;
$sitemap .= '
<url>
<loc>'.$racine.'/'.$value.'</loc>
<lastmod>'.date ('Y-m-d', filemtime($racine.'/'.$value)).'</lastmod>
</url>';
}
}
$robots .= '
Sitemap: https://monsite.fr/sitemap_index.xml
Sitemap: https://monsite.fr/sitemap_index.xml';
$file = $racine.'/robots.txt';
if(file_exists($file)){unlink($file);}
$temp = fopen($file,'w');
fwrite($temp, $robots);
fclose($temp);
unset($robots);
$sitemap .= '
</urlset>';
$file = $racine.'/sitemap_pages.xml';
if(file_exists($file)){unlink($file);}
$temp = fopen($file,'w');
fwrite($temp, $sitemap);
fclose($temp);
//////////////// IMAGES ////////////////////////
$sitemap = '<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
$rep = '/photos/';
$liste = array_diff(scandir($racine.$rep), array('..', '.'));
foreach ($liste as $key => $value) {
$sitemap .= '
<url>
<loc>'.$racine.$rep.$value.'</loc>
<lastmod>'.date ('Y-m-d', filemtime($racine.$rep)).'</lastmod>
</url>';
}
$sitemap .= '
</urlset>';
$file = $racine.'/sitemap_images.xml';
if(file_exists($file)){unlink($file);}
$temp = fopen($file,'w');
fwrite($temp, $sitemap);
fclose($temp);
echo 'ok';