PROJET AUTOBLOG


Warrior du Dimanche

Site original : Warrior du Dimanche

⇐ retour index

This Video Has 7,593,465 Views - YouTube

vendredi 17 avril 2020 à 16:14

Très bonne vidéo sur la pérennité du code, des services, des API... (coucou Google )

«the code never was the important part»

<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

Work in progress: Googol

jeudi 16 avril 2020 à 15:13

Il y a quelques personnes qui me posent des questions à propos de googol, du coup, je fais une petite page pour résumer à quoi je me suis heurté et où j'en suis de mes tentatives...

À l'origine

Googol était un simple script destiné à s'intercaler entre google et l'usager afin que ce dernier ne donne aucune information au géant du web:

google concept.png

En gros, l'usager envoie sa requête à googol, googol formule l'URL de requête vers Google, récupère les infos pertinentes sur la page de réponse, génère une page propre (sans aucun lien extérieur vers google, sans pub etc) et la restitue à l'usager. Lien

Toutefois...

Google ne facilite pas la tâche: ses pages changent régulièrement (et il faut adapter le parseur) et il finit par bannir mon serveur googol quand trop de requêtes viennent de lui.

J'ai donc un temps opté pour la transmission de la requête vers DDG puis j'ai préféré modifier Googol en profondeur pour qu'il puisse changer son moteur en interne: j'ai donc créé une classe google.php et une startpage.php pour que googol puisse changer de lui-même le temps du débannissement. Lien

startpage.png

Oui mais, bon... voilà.

Startpage s'est mis lui aussi à me bannir et à me renvoyer un captcha... Lien

  Salauds  .jpg

je lâche rien

Je me démonte pas...

... et je me lance dans l'ajout d'un troisième moteur selon le même principe: Qwant...

triforce.png

A ce stade, ça fonctionnait... Mais...

  1. ... ben ça fait quand même trois moteurs différents à maintenir (parseur+URLs etc)
  2. vu le rythme de bannissement, seul qwant était utilisé... Du coup, l'intérêt du cript ne saute pas aux yeux.

Je me remets au boulot         dans la joie .jpg

C'est reparti pour une réflexion

Là je prends le problème dans l'autre sens: au lieu de changer de moteur, je pourrais changer de serveur...

C'est une piste que j'avais explorée à une époque en faisant une sorte de chaîne de Googol qui se renvoyaient la requête.

Le problème, c'est que multiplier les googols, c'est multiplier la maintenance: c'est lourd, peu élégant et pas satisfaisant. Surtout qu'il suffirait de faire transiter la requête par un relais pour que google ne voie plus l'adresse IP du serveur Googol !

Pas con  .jpg

Je pars donc sur un script tout con qui curl l'adresse envoyée en GET et retourne la page. C'est bourrin, c'est pas sécurisé du tout, mais OSEF, c'est pour tester...


if (isset($_GET['url2get'])){
    $url=urldecode($_GET['url2get']);
    $content=file_curl_contents($url);
    $content=str_replace(['<script',''],'',$content);
    echo $url.$content;
}

Je place ledit script sur trois serveurs de test gratuits (un vieux free qui traînait et deux de chez byethost33).

On a donc:

relayid.png

Et là, c'est le drame

Quand je teste, aucun résultat de revient. La page renvoyée est vide ou presque.

relaypb.png

Alors, je teste en copiant l'URL générée par Googol et en la faisant transiter à la main par le relais avec une url du genre:


 http://www.googol.byethost9.com/?url2get=https%3A%2F%2Fwww.google.com%2Fsearch%3Fnum%3D100%26source%3Dlnms%26id%3Dhp%26start%3D0%26q%3Dtest
Et là, j'obtiens bien une page de résultats.

relaisdirect.png

J'en suis là...

Donc, quand googol interroge le relais qui interroge google, il renvoie une page vide mais quand je tape directement dans le navigateur l'adresse que googol utilise pour appeler le relais, ça fonctionne.

J'ai vérifié l'URL et j'ai viré le javascript (dans mon navigateur et dans la page) histoire d'être certain qu'il ne s'agit pas d'une requête ajax impossible à faire en backend.

EDIT :

Après avoir testé d'autres hébergeurs gratuits, j'en ai trouvé un pour qui ça marche... donc, ce sont les hébergeurs qui chient dans la colle quand on y accède via curl...

Il va falloir que je trouve d'autres serveurs pouvant héberger un script de relais...

            <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>
                <script>[].forEach.call(document.querySelectorAll("[lightbox]"), function(el) { el.lightbox = new Lightbox(el);});</script>


► Commentaires

Mais pourquoi le Warriordudimanche, au fait ?

mardi 14 avril 2020 à 10:45

Un truc que je n'ai jamais raconté, c'est comment j'en suis venu à ce titre pour mon blog...

Ben c'est parti.

Le plus dur,

... quand on fait une appli, un site... c'est de trouver ZE nom. Original, stylé, qui aille avec la charte graphique pour un site...

Autant le côté technique, c'est facile à gérer, autant la partie créative nécessite de l'inspiration.

Quand je cherchais comment appeler mon blog, j'ai noirci du papier en veux-tu en voilà

J aime beaucoup les expressions de ma grand-mère.jpg

Je voulais un truc stylé mais qui se prenne pas au sérieux... quelque-chose qui montre le dilettantisme et l'à-peu-près qui allait nimber chacun de mes posts futurs shit

Or, autant quand je cherche à retenir un truc utile j'échoue cinq fois sur six, autant je retiens facilement les répliques des film, les phrases des sketches ou encore les noms dont je me dis in petto (car je parle couramment la locution latine) : « la vache, il est bien trouvé celui-là !»

Dans cette dernière catégorie, on retrouve un vieux film dans lequel Stallone joue un expert en explosifs des services spéciaux américains et judicieusement intitulé «l'Expert» (Pour l'anecdote, il partage l'affiche avec Sharon «culotte poilue» Stone.)

5858ca7b-86f7-4fca-9716-11e7b03fa73a.jpg

(Le truc est tellement vieux et mauvais que j'ai eu du mal à le trouver pour la capture d'écran)

Bon, c'est clairement pas un film mémorable mais, pour récupérer ses contrats, le personnage principal campé par Stallone utilise un BBS über sécurisé et son pseudo claque sa mémé: «weekend warrior» (qu'on pourrait traduire par «le guerrier du dimanche»)

vlcsnap-2020-04-14-14h43m52s800.jpg

Le mec se connecte à un BBS avec un agenda électronique depuis une cabine téléphonique  Plus années 90  ya pas    .jpg

vlcsnap-2020-04-14-14h56m56s190.jpg

Et voilà, j'avais trouvé mon idée:

  1. garder la locution «du dimanche» qui signifie clairement «dilettante, amateur» voire peu doué
  2. en renforcer l'effet caricatural par un contraste en y accolant le mot guerrier mais en anglais en mode jme la pète.

C'était en 2012.

            <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>
                <script>[].forEach.call(document.querySelectorAll("[lightbox]"), function(el) { el.lightbox = new Lightbox(el);});</script>


► Commentaires

Un SVÄRTA, une disqueuse, une primante 3D et on change de chambre.

vendredi 10 avril 2020 à 16:01
./plugins//WDDWebLinks/default_image.jpg

Il y a quelques années on avait acheté un lit mezzanine + bureau pour mon grand qui avait une petite chambre: c'est un SVÄRTA de chez Ikea.

IMG 20200410 090919.jpg

Puis hier-soir, ma moitié est arrivée avec une idée...

Donc  une idée à elle c est un boulot pour moi  hein  faut savoir   .jpg

Il n'a pas beaucoup de place dans sa chambre: on pourrait séparer le lit du bureau ! o/

Je monte donc dans la chambre, un mètre ruban et un pied à coulisse à la main, un calepin sous le bras. Je mesure, je note, je réfléchis et je me dis que non seulement c'est possible, mais en plus ça ne coûtera rien.

Travail préparatoire: 3D

Avant de démarrer, j'ai réalisé un support pour un des pieds de ce qui deviendra le bureau: en découpant la structure, il y aura un pied à rapprocher de sous le bureau pour gagner de la place.

Voilà le modèle que j'ai modélisé puis imprimé (5h30 quand même)

support pied.png

Le lendemain, c'est parti !

  1. démontage du lit bureau
  2. déplacement dans l'atelier
  3. quelques coups de disqueuse pour séparer les éléments proprement
  4. remontage du lit et du bureau séparés.

IMG 20200410 114420.jpg

IMG 20200410 114403.jpg

IMG 20200410 114410.jpg

Mon épouse vient de me dire que ma grande aimerait changer aussi   .jpg

<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

Back to life, back to reality

jeudi 9 avril 2020 à 15:11

Un billet de Cyrille Borne dans lequel on retrouve les problèmes soulevés dans mes posts précédents:

J'ajouterais le merveilleux moyen de flicage que l'ENT représente également pour des chefs un peu veules qui préfèrent te faire chier de loin sans risquer d'avoir à te regarder dans les yeux... (le mien, par exemple)

<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