PROJET AUTOBLOG


Warrior du Dimanche

Site original : Warrior du Dimanche

⇐ retour index

J’aime le web, pas les GAFAM (et les réacs) - Chez Sammy

lundi 26 mars 2018 à 14:12
./plugins//WDDWebLinks/default_image.jpg

Effectivement, je n'avais pas poussé ma lecture plus que ça, occupé aux solutions anti GAFAM je lisais en diagonale, et ça m'avait fait louper ce qui pouvait poser problème: merci Sammy !

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

► Commentaires

Rébucon #1

dimanche 25 mars 2018 à 11:07
./plugins//WDDWebLinks/default_image.jpgimage

Oui, je sais, c'est très con...

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

► Commentaires

Rébucon #2

jeudi 22 mars 2018 à 08:00
./plugins//WDDWebLinks/default_image.jpg

Le rébucon numéro 2: encore plus con.

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

► Commentaires

Plugin: randomPic

mercredi 21 mars 2018 à 11:15

Un chti plugin Bronco's touch (cf post précédent) qui affiche une image au hasard, prise dans un ou plusieurs dossiers. Il suffit d'appeler le hook

<?php eval($plxShow->callHook('randomPic','dossier/'));?>

Si on veut spécifier plusieurs dossiers, on les sépare par "*". Et si on veut une balise à soi, on précise la pattern en argument (avec un % pour remplacer le chemin vers l'image) et en mettant les deux paramètres dans un array:

<?php eval($plxShow->callHook('randomPic',['dossier/','<a href="http://www.warriordudimanche.net/%">%</a>']));?>

pissétou.

Pour un exemple, regardez par là ->

randomPic.zip

Si on décerne un jour un prix du code le moins utile, tu seras relativement bien classé, je pense.
🗦
Tu penses, c'est déjà ça...
<link rel="stylesheet" href="http://www.warriordudimanche.net/./plugins/Galart/style.css"/> <link rel="stylesheet" href="http://www.warriordudimanche.net/./plugins/Galart/assets/lightbox.css"/> <script src="http://www.warriordudimanche.net/./plugins/Galart/assets/lightbox.js"> <script>[].forEach.call(document.querySelectorAll("[lightbox]"), function(el) { el.lightbox = new Lightbox(el);});

► Commentaires

Getlib: ramener des bibliotheques & frameworks en local en une ligne

mercredi 21 mars 2018 à 10:13

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://www.warriordudimanche.net/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://www.warriordudimanche.net/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']);
    $local_filename=$lib_folder.basename($url);
    $flag='non';
    if (
        !is_file($local_filename)
        ||
        ($check_updates && !isSameFile())

    ){
        $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){
    global $local_filename;
    $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(){
    global $local_filename,$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»
<link rel="stylesheet" href="http://www.warriordudimanche.net/./plugins/Galart/style.css"/> <link rel="stylesheet" href="http://www.warriordudimanche.net/./plugins/Galart/assets/lightbox.css"/> <script src="http://www.warriordudimanche.net/./plugins/Galart/assets/lightbox.js"> <script>[].forEach.call(document.querySelectorAll("[lightbox]"), function(el) { el.lightbox = new Lightbox(el);});

► Commentaires