PROJET AUTOBLOG


Warrior du Dimanche

Site original : Warrior du Dimanche

⇐ retour index

Getlib: ramener des bibliotheques & frameworks en local en une ligne [Edité]

vendredi 1 mai 2020 15:30

Certains se souviennent peut-être de goofi, pour récupérer des google fonts en local; sur la base de ce script, j'ai bricolé une version qui permettra de faire la même chose avec les bibliothèques et frameworks (notamment js) que tout un chacun utilise et dont l'appel participe aux stats de google et consorts à chaque requête sur leur serveur.

Donc, en gros, il suffit de remplacer l'appel du script dans le en ajoutant getlib.php?url= devant.

Ainsi

 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

deviendra

<script src="http://monserveur/getlib.php?url=https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

Le fichier est récupéré une seule fois et seule la vertsion locale sera renvoyée par la suite.

Au cas où vous voulez que le script récupère une éventuelle mise à jour, il suffit d'ajouter update dans l'url:

<script src="http://monserveur/getlib.php?update&url=https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

Getlib vérifiera alors si le fichier distant a changé et le retéléchargera si c'est nécessaire.

Comme avec Goofi, seule l'IP du serveur qui héberge le script est connue du serveur distant, jamais celle du visiteur.

C'est tout! Je n'ai pas testé à fond encore et les erreurs ne sont pas gérées pour le moment, mais ça fonctionne quand même pas mal !

<?php 
# get libs from distant servers to local (& avoid unnecessary requests to servers who can log user's connections)
# ex:  
# https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js
# becomes
# getlib.php?url=https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js
# if you want to update local file if the distant one changes, just add "update" 
# getlib.php?update&url=https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js
# author: warriordudimanche.net
# 
$lib_folder='libs/';
$check_updates=isset($_GET['update']);

if (!empty($_GET['url'])){
    if (!is_dir($lib_folder)){mkdir($lib_folder);}

    $url=strip_tags($_GET['url']);
    define('LOCAL_FILENAME',$lib_folder.basename($url));
    $flag='non';
    if (
        !is_file(LOCAL_FILENAME)
        ||
        ($check_updates && !isSameFile($url))

    ){
        $lib=file_get_contents($url);
        file_put_contents(LOCAL_FILENAME,$lib);
        $head = array_change_key_case(get_headers($url, TRUE));
        file_put_contents(LOCAL_FILENAME.'.info', $head['last-modified']);
        $flag='oui';
    }
    header('Content-Type: '.mime_content_type(LOCAL_FILENAME));
    exit(file_get_contents(LOCAL_FILENAME));
}

function getDistantFile($url){
    $lib=file_get_contents($url);
    file_put_contents(LOCAL_FILENAME,$lib);
    $head = array_change_key_case(get_headers($url, TRUE));
    file_put_contents(LOCAL_FILENAME.'.info', $head['last-modified']);
}

function isSameFile($url){
    $head = array_change_key_case(get_headers($url, TRUE));
    $local=file_get_contents(LOCAL_FILENAME.'.info');
    $distant=$head['last-modified'];
    return $distant==$local;
}

getlib.zip le dépôt

Comme toujours,
c'est aux autres de débugger
les scripts que tu commets, heu... commit...
super.
🗦

Et je vais t avouer un truc  j ai même pas honte   C est même ma marque de fabrique  une genre de  Bronco s touch .jpg

<link rel="stylesheet" href="http://warriordudimanche.net/./plugins/Galart/style.css"/> <link rel="stylesheet" href="http://warriordudimanche.net/./plugins/Galart/assets/lightbox.css"/> <script src="http://warriordudimanche.net/./plugins/Galart/assets/lightbox.js"> <script>[].forEach.call(document.querySelectorAll("[lightbox]"), function(el) { el.lightbox = new Lightbox(el);});

► Commentaires

Longer Orange 30 - TEST et EXPLICATIONS sur les IMPRIMANTES RESINE - YouTube

vendredi 1 mai 2020 08:31

Une autre Imprimante résine qui semble vraiment sortir du lot toujours dans une gamme de prix abordable: la longer Orange30.

L'écran servant à cacher la dalle UV est d'une bonne résolution, la finition semble excellente...

Je mets de côté.

51SpTaMVVJL. AC SL1000 .jpg



<link rel="stylesheet" href="http://warriordudimanche.net/./plugins/Galart/style.css"/> <link rel="stylesheet" href="http://warriordudimanche.net/./plugins/Galart/assets/lightbox.css"/> <script src="http://warriordudimanche.net/./plugins/Galart/assets/lightbox.js"> <script>[].forEach.call(document.querySelectorAll("[lightbox]"), function(el) { el.lightbox = new Lightbox(el);});

► Commentaires

Toulouse : les banderoles “Macronavirus” se multiplient, les convocations au commissariat aussi - France 3 Occitanie

jeudi 30 avril 2020 10:15

Vous savez ce que ça mérite ? Un bel #effetstreisand...

Et il y en a qui râlent encore contre l'anonymat sur le ternet... Pourtant, l'état prouve chaque jour davantage que sans anonymat, il n'est plus possible de critiquer les dirigeants.



<link rel="stylesheet" href="http://warriordudimanche.net/./plugins/Galart/style.css"/> <link rel="stylesheet" href="http://warriordudimanche.net/./plugins/Galart/assets/lightbox.css"/> <script src="http://warriordudimanche.net/./plugins/Galart/assets/lightbox.js"> <script>[].forEach.call(document.querySelectorAll("[lightbox]"), function(el) { el.lightbox = new Lightbox(el);});

► Commentaires

Développeurs web, protégez la vie privée de vos utilisateurs

mercredi 29 avril 2020 08:38

Un excellent résumé des bonnes pratiques pour éviter la fuite de données des utilisateurs... Mais... OMAGAD !

Il parle de Goofi !!!

Via https://2038.net/links/
<link rel="stylesheet" href="http://warriordudimanche.net/./plugins/Galart/style.css"/> <link rel="stylesheet" href="http://warriordudimanche.net/./plugins/Galart/assets/lightbox.css"/> <script src="http://warriordudimanche.net/./plugins/Galart/assets/lightbox.js"> <script>[].forEach.call(document.querySelectorAll("[lightbox]"), function(el) { el.lightbox = new Lightbox(el);});

► Commentaires

Coronavirus : Quand rentrer et comment ? Les Franciliens partis se confiner au « vert » dans le flou

mardi 28 avril 2020 14:11

On va plaindre les Parisiens qui ont fui la capitale pour se réfugier dans leur maison de vacances    Mais oui .jpg

Surtout que la vraie info  c est pas celle-là   .jpg

Quand rentrer et comment. La question agite de nombreux Franciliens ayant quitté la région parisienne dès l’annonce des mesures de confinement. Selon une analyse statistique réalisée par Orange à partir de données téléphoniques, ils seraient près d’un million dans cette situation.

20minutes nous confirme  détendu du gland  qu on surveille les mouvements de population avec la  collaboration  d un opérateur de téléphonie mobile   .jpg

<link rel="stylesheet" href="http://warriordudimanche.net/./plugins/Galart/style.css"/> <link rel="stylesheet" href="http://warriordudimanche.net/./plugins/Galart/assets/lightbox.css"/> <script src="http://warriordudimanche.net/./plugins/Galart/assets/lightbox.js"> <script>[].forEach.call(document.querySelectorAll("[lightbox]"), function(el) { el.lightbox = new Lightbox(el);});

► Commentaires