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

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));
    $ext=pathinfo(LOCAL_FILENAME)['extension'];
    //$flag='non';
    if (
        !is_file(LOCAL_FILENAME)
        ||
        ($check_updates && !isSameFile($url))

    ){
        $lib=file_get_contents($url,false,null,0,1000000);
        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';
    }
    if ($ext=='css'){
        $mime='text/css';
    }elseif ($ext=='js'){
        $mime='text/javascript';
    }else{
        $mime=mime_content_type(LOCAL_FILENAME);
    }

    header('Content-Type: '.$mime);
    exit(file_get_contents(LOCAL_FILENAME));
}


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

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

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



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

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.



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

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

Disney+ sur Twitter : "By sharing your message with us using #MayThe4th, you agree to our use of the message and your account name in all media and our terms of use here: https://t.co/G0AyToufQ5" / Twitter

Mais, ils ont le droit de faire ça ?! Sinon:

Solution numéro un  utiliser  maythefourth.jpg

Solution numéro deux  Poster de la merde anti disney sur  maythe4th.jpg

Solution numéro trois  flooder carrément  maythe4th en l ajoutant à tous les posts automatiquement et via des bots.jpg

Solution numéro quatre  refuser carrément d utiliser le hashtag en question.jpg

Via https://sebsauvage.net/links/

[ NDLR : rivières de shaarlis ] vzdump(1) [ utiliser parallel gzip avec vzdump @ proxmox ] - GuiGui's Show - Liandri's Links. - GuiGui's Show - Oros links - GuiGui's Show - Oros links - GuiGui's Show - Liandri's Links.

Ben oui mon canard (^u^)/ : ton espace, tes règles.

On a beau refuser la censure, on peut aussi décider de ne pas donner plus de visibilité que ça à des gens dont les opinions sont pour le moins contestables...(J'aurais le sentiment de donner l'impression que diffuser, c'est soutenir.) Excellente décision mon pote ! (et bisou au passage )

Supprimer le grésillement dans le casque audio - le hollandais volant

Timo: Mon PC produit un grésillement (« bruit blanc ») quand je branche le casque audio. J’ai résolu le problème avec la commande suivante :

amixer sset 'Loopback Mixing' 'Disabled'

S’il renvoie une erreur ou ne trouve pas de 'Loopback', il faut le faire manuellement. Lancez :

alsamixer

Puis, naviguez à droite avec les touches fléchées jusqu’à trouver la colonne Loopback. Utilisez les touches haut/bas pour le mettre sur Disabled, puis la touche Échap pour sortir.

Via https://bookmarks.ecyseo.net/?JHsXwA

Comparatif Imprimantes Resine episode 2 - YouTube

J'ai de plus en plus envie de m'offrir une imprimante résine: les prix ont beaucoup baissé et la précision est très supérieure.

Ce comparatif est bien argumenté malgré un côté brouillon qui a son charme. (première partie https://www.youtube.com/watch?v=ksRBc8Nnftk)

Ce qui me retient encore, c'est le prix des consommables et des à-côtés:

  • la résine, bien sûr: environ 25 € le demi litre
  • l'alcool isopropylique pour le nettoyage des pièces: environ 25 € le litre
  • entonnoir+filtre pour la récupération de la résine excédentaire : environ 15 €
  • gants / masques (GAG)
  • sèche-ongles à UV pour durcir les pièces après impression : entre 15 et 50 €

Après plein de visionnages divers, la elegoo mars sort bien du lot... mais bon 265€ sur amazon... le moins cher. (je conseille en particulier le test d'Heliox https://www.youtube.com/watch?v=5HGtvL6j6bk )

616hQPmeA1L. AC SL1000 .jpg

J'en ai vu d'autres à presque 100 balles de moins sur aliexpress mais pas de vrai test... donc, c'est non. Il y a trop de mauvaises surprises potentielles pour se lancer à l'aveugle (les logiciels et formats propriétaires, les défauts de conception, les limitations cachées etc)

Attention: le prix modeste ne doit pas être le seul critère. Pour l'impression 3D traditionnelle, ce serait à refaire, j'en prendrais une avec autolevelling par exemple !

Clin d oeil confraternel à tous les propriétaires de prusa Anet A8.jpg



<a href="https://www.warriordudimanche.net/https://img.youtube.com/vi/Qq6lgZGxA/maxresdefault.jpg">Source image

Fil RSS des articles