PROJET AUTOBLOG


le hollandais volant

Site original : le hollandais volant

⇐ retour index

Quelques astuces .htaccess

mardi 4 mai 2021 à 22:18

J’avais déjà fait un article sur ça il y a longtemps, mais là aussi il semble qu’elle ne soit plus au goût du jour.

Après moult tests et quelques surprises, je mets ici quelques snippets de code, pour mémo, surtout pour moi.

Notes :

Notes 2 :
Selon votre fichier et les règles qui s’y trouvent déjà, il peut être nécessaire d’y ajouter (une fois) les instructions suivantes :

RewriteEngine on
RewriteBase /

Je ne les fais pas figurer partout ci-dessous.

Forcer la redirection HTTPS

Les navigateurs le font tout seuls parfois, mais il vaut mieux l’ajouter :

## Force HTTPS
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301]

Supprimer le « www », au début du nom du site

Certains préfèrent le conserver, d’autres non. Dans tous les cas, il est préférable d’avoir un choix et de forcer la redirection de l’une des URL vers l’autre. C’est plus propre et c’est aussi mieux pour le référencement d’avoir une seule URL pour chaque ressource :

## Removes www.
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ https://%1%{REQUEST_URI} [R=301]

Supprimer les slashes redondants

J’ai mis du temps à trouver un code qui fonctionne quelle que soit la position des doubles-slashs. Généralement les forums en proposaient plusieurs selon que le slash soit au début, à la fin ou au milieu de l’URL.

## Removes multiple consecutive slashes anywhere in URL
RewriteCond %{THE_REQUEST} \s[^?]*//
RewriteRule ^.*$ /$0 [R=301,NE]

Maintenant, les urls suivantes :

Sont toutes réécrites en :

Supprimer le code derrière le chemin d’un script

## Rewrite ^*.php/*$ to *.php$ (removes anything after a "*.php/")
RewriteCond %{REQUEST_URI} ^(.*)\.php/(.*)$
RewriteRule . %1.php [R=301]

Celui-là est plus compliqué.
Quand on appelle un fichier fichier.php, on en exécute le contenu. Si l’on l’appelle avec un paramètre fichier.php?parametre, c’est toujours le même fichier qui est exécuté, mais maintenant l’exécution tient compte de la valeur du paramètre.

Dans le cas suivant par contre, il y a possibilité de problèmes : fichier.php/.
Le fichier est appelé (et donc exécuté), mais il est traité comme un dossier (car il est suivi d’un slash et non d’un point d’interrogation), et avec lui la notion de profondeur de l’arborescence, etc.
C’est un problème assez sévère et je préfère l’éviter.

J’y vais donc assez lourdement : quand je vois un fichier .php qui est directement suivi d’un slash, on vire tout ce qui suit le slash, incluant ce dernier.

Les urls suivantes :

Sont toutes réécrites en :

Notez que ça ne visera que le script exécuté. Rien n’empêche en effet d’avoir la chaîne « .php » suivi d’un slash dans un paramètre d’un autre fichier php (celui exécuté).
Cette URL ne sera pas modifiée, par exemple : exemple.com/fichier.php?parametre=fichier.php/bla/bla

Supprimer le « index.php » à la fin des URL

## Rewrites "/index.php" to "/"
RewriteCond %{REQUEST_URI} ^(.*)/index\.php$ [NC]
RewriteRule . %1 [R=301,L]

Quand on affiche un dossier sur un site, comme example.com/folder/, le « index.php » ou « index.html » qu’il contient est implicitement affiché. C’est la page par défaut. Le demander de façon explicite est donc généralement inutile.

Afin d’éviter d’avoir des URL redondantes, je préfère ne conserver que les URL sans le « index.php ». Les éventuels paramètres, eux, sont maintenus.

Pour résumer

Avec tout ça, toutes les URL suivantes :

Renvoient toutes sur :

Petite note sur les cascades de fichers .htaccess

On peut mettre un fichier .htaccess dans chaque dossier et leurs sous-dossiers si l’on veut, et les directives seront appliquées à tous les fichiers inclus dans le dossier, y compris leurs sous-dossiers.

Par contre, mettre un RewriteEngine on dans un des sous-dossiers pourra avoir pour effet d’annuler les directives des fichiers situées dans les dossiers parents. C’était le cas chez moi récement, même si je n’ai pas souvenir d’un tel comportement lors de la mise en place de ces fichiers.
Il est possible que ça vienne de la configuration du serveur.

Vivaldi : placer la barre de marque-pages verticalement (méthode 2021)

dimanche 2 mai 2021 à 11:51

Il y a quelques années, j’avais fait un article pour expliquer comment mettre la barre de signets verticalement dans Vivaldi. Cette méthode n’est plus d’actualité et était de toute façon remise à zéro lors des mises à jour du navigateur.

La nouvelle méthode est elle persistante, et même si elle semble similaire, elle utilise des options qui n’étaient pas là dans Vivaldi avant.

Activer les modifs CSS de l’interface

Pour commencer, il faut activer 2-3 trucs dans les options du navigateur, y compris des options expérimentales.

Premièrement, activez les mods CSS. Pour ça, allez sur l’adresse vivaldi://experiments/ puis cochez la case « Allow for using CSS modifications ». Relancez le navigateur.

Rendez-vous ensuite dans les paramètres, et cherchez « CSS ». Vous devez alors voir apparaître une option qui permet de spécifier un dossier :

Paramètre de CSS de Vivaldi
Mettez-y un dossier de votre choix. Je vous conseille de choisir un sous dossier nommé « userChrome » dans le dossier de profil de Vivaldi. Sous GNU/Linux, le dossier de profil se trouve dans ~/.config/vivaldi/.

Ce dossier « userChrome » va contenir des fichiers CSS contenant le code CSS correspondant aux modifs de l’interface du navigateur.

Activer la barre de signets

Ensuite, dans les paramètres, toujours, assurez-vous que la barre de signets soit en haut, que les signets soient affichés sous formes d’icônes seulement :

Afficher les signets sous forme d’icônes.

Utiliser du CSS pour mettre cette barre verticalement sur la droite

Ce que mon code CSS va faire maintenant, c’est :

Le code en question :

/* Bookmarkbar : turning it on the side, placing it on the right */
#app #browser #main .bookmark-bar {
	transform: rotate(90deg) scale(1, 1)!important;
	transform-origin: 0% 0%!important;
	position: relative!important;
	left: 100%;
	height: 34px;
}

/* flip back the individual icons */
#app #browser #main .bookmark-bar button {
	transform: rotate(-90deg)!important;
}

/* gives margins to the main frame */
#app #browser #main .inner {
	margin-right: 35px!important; /* gives place to the new bars position */
	margin-top: -35px!important; /* claims the place from its old position */
}

Ce code est à placer dans un fichier CSS dans le dossier créé précédemment. Donnez-lui le nom que vous voulez ; par exemple « vertical-bookmarks.css ».

Enregistrez ce fichier, puis redémarrez Vivaldi, et la barre devrait être vertical, à droite :

Vivaldi avec la barre de signets à droite.

Quelques notes

Ceci est testé avec Vivaldi 3.7.2218.58 (Stable channel) (64 bits) sous Linux Mint 20.
Le code CSS utilisé est le même que celui de mon astuce d’il y a quelques années.

Vivaldi le dit bien : l’option pour le CSS peut, un jour, être modifié ou retiré. Dans ce cas, ce mod ne fonctionnera plus : la barre de signets sera alors de nouveau en haut, horizontalement. Ça ne sera pas grave (aucune perte de données), mais il faudra alors trouver autre chose.

À l’époque d’Opera, il était possible de mettre la barre de signets verticalement d’une simple option dans les réglages. On peut espérer que cette option revienne un jour dans Vivaldi. En attendant, ce bricolage permet de dépanner.

Toute l’interface de Vivaldi est accessible en CSS. Pour en explorer les éléments, il faut lancer Vivaldi dans un mode spécial, avec la commande vivaldi --debug-packed-apps --silent-debugger-extension-api, et ensuite utiliser les outils de développeurs pour l’explorer et moder ça.

Moins éligible qu’une poubelle

mardi 27 avril 2021 à 18:16

Un vaccin anti-covid.
Tweet d’octave Klaba.
(tweet)

Voilà : on préfère jeter des vaccins que vacciner ceux qui aimeraient l’être.

Les moins de 50 ans sont donc moins éligibles au vaccin qu’une poubelle.

Tout ça parce que :

Oui ça me met hors de moi, cette bureaucratie psychorigide et répressive de merde. C’est à cause de ça que y a rien qui avance dans ce pays, mis à part la connerie.

Heureusement, à défaut d’avoir des ministères compétant et un gouvernement voulant résoudre la crise, il y a encore des bénévoles dans leur coin qui montent des sites comme CovidTracker (tous les chiffres du Covid en France) ou CovidListe (s’enregistrer justement pour être appelé et recevoir clandestinement une dose autrement jetée à la poubelle), ou ViteMaDose (trouver un centre de vaccination proche de chez vous) qui, eux, fonctionnent et vont dans le bon sens.

Sans oublier les sites comme Framasoft qui permettent aux profs de continuer de faire cours face aux #fails constants de l’EN, et quelques autres (et je ne mentionne même pas tous les « makers » l’an dernier qui se sont pris l’injonction d’arrêter de faire des masques et des équipements pour une question de brevets, normes et de travail dissimulé).

Ce sont eux qui mériteraient les millions dépensés par le gouvernement en bullshit inutile !

Car voilà où on en est : la 5ᵉ puissance mondiale est maintenue par trois gus dans leurs garages, sur lesquels tire une horde de vieux connards technocrates En Marche arrogants et ignorants qui ne font que détruire le pays à chacune de leurs manœuvres uniquement destinées à sauver le CAC40 et leur sales gueules.

Car c’est leur projet.

Bah.

Image d’en-tête de Mufid Majnun

Les risques de dérives de #TousAntiCovid

mardi 20 avril 2021 à 12:42

Voir :

Meh.

Je pense qu’on se dirige vers un moment où il faudra installer ça si l’on veut aller au restaurant, au cinéma (si ils rouvrent un jour).

Je n’aime pas ça : c’est ni plus ni moins un mouchard fermé dont les sources publiées ne sont pas celles de l’app qu’ils diffusent, le tout centralisé par l’État et spécifique à la France (alors que les 3/4 des autres pays européens ont un système ouvert, interopérable et décentralisé).

Ah et… si la crise passe, on pari qu’on aura une version « vie courante » de ce mouchard qui sera obligatoire jusqu’à pouvoir faire ses courses ?

Actuellement le projet c’est un quasiment un réseau social où l’on montre « patte blanche covid » pour aller dans les lieux publics, le tout « noté » automatiquement par les contacts que l’on a croisé. Très pratique quand ça sera obligatoire et que y aura toujours que les retraités qui pourront se faire vacciner.

Après la crise, ça sera la même chose niveau appli, mais noté par les gens (« ce type là est un con ! »), obligatoire, fiché à l’entré de tous les lieux publics et toujours centralisé par l’État. Pratique pour qu’ils sachent qui est où et quand, surtout en manif.

Ah et est-ce qu’il sera techniquement faisable de croiser ça avec la centaine de fichiers administratifs (pôle emploi, fisc, permis de conduire, fichiers S, Linky, etc.) ?
Est-ce que c’est faisable ? Je vous laisse répondre. Et donc est-ce que ça sera fait ?

Ajoutez à ça que nombre de politiques (Cristian Estrosi, Gérard Colomb…) ont mainte fois vanté le « système chinois », de notation populaire et gouvernemental et c’est pas difficile de comprendre où l’on va exactement avec ce système.

Bref, on verra si je vois le mal partout ou si j’exagère.
Mais dites-vous bien une chose :

Comme j’ai dit, on verra.
Mais ne suis pas optimiste.

Quand vous demandez quelque chose à un webmaster

lundi 19 avril 2021 à 17:58

Parfois, en ligne, on voit des choses qui nous déplaisent. Et parfois, on aimerait aussi voir ces choses disparaître.

En tant qu’éditeur d’un site web, j’ai déjà eu des demandes (très rares) de personnes qui voulaient que je supprime des choses de mon site. Généralement ça se passe bien : la personne utilise mon formulaire de contact (ou un autre biais), se présente, pose sa demande et la motive, et j’avise si je considère que la demande est légitime.

Par exemple, il m’est arrivé, une fois, de retirer une capture d’écran d’une page web tierce à propos d’un fait divers. Dans cette capture apparaissait la photo de quelqu’un. Cette personne, m’a dit que c’était elle, et je l’ai supprimé (droit à l’image, etc.).

Une autre fois, par contre, un vendeur en ligne qui m’a demandé de retirer un avis que j’avais mis sur mon site. Je démonte rarement les gens, et jamais gratuitement. Aussi, en l’occurrence, ledit vendeur m’avait arnaqué, insulté, menacé de mort, usurpé mon identité et ça a fini en plainte. L’arnaque, elle, a été réglée au tribunal (avec 30 pages de parties civiles parmi les plaignants, dans le compte rendu de l’audience).

Cet avis, pour le coup, est toujours en ligne. Je n’ai pas cédé. Je n’ai pas à céder. Je ne céderais pas devant ce genre de requêtes.

Sur un site web, je dis ce que je veux, du moment que c’est dans la loi.

Ça ne vous plaît pas ? Ne lisez pas.

Ouvrez un blog vous-même et dites que vous n’aimez pas ce que j’écris : je vous y encourage. Tant que c’est fait dans le respect, je n’aurais rien à dire non plus : vous avez les mêmes droits que moi, et que tout le monde
Si vous m’insultez de tous les noms, par contre, attendez-vous à recevoir une convocation par la justice pour injure ou diffamation.

Mais ne venez pas me dire ce que je dois écrire ou non sur mon site web.

ÇA JE NE LE TOLÉRERAIS PAS.

En l’occurrence, aujourd’hui, on vient me demander de retirer un lien vers un tweet. C’est un lien dans mes liens « au fil du web ».

Le tweet est une vidéo humoristique. Notez que je ne fais qu’un lien vers le tweet. Je n’ai pas recopié la vidéo, pas recopié ni intégré, ni fait de capture d’écran du tweet.

Pourquoi je devrais retirer ce post ?

En l’absence de raison que je juge valable, et malgré avoir en demandé une, je refuse : mon post n’est qu’un lien. Twitter non plus n’interdit pas (encore) de faire des liens vers les tweets. Par ailleurs, rien n’indique que la vidéo appartienne à la personne qui est venue me demander de la retirer.

Ce que j’ai fait, du coup, c’est un retweet du tweet « incriminé » et je change le lien sur mon site vers le lien de mon retweet. La seule raison pseudo-valable que je pouvais voir, c’est une altération des stats sur le tweet… J’ai donc jugé que cette solution solutionnerait le problème : plus de référer provenant de mon site.

Résultat ?
La personne inquisitrice m’insulte.

Là autant vous dire que c’est mort : je ne supprimerai pas mon post. Raison valable ou pas ; et ça pour trois raisons :

  1. je n’ai aucune obligation de faire quoi que ce soit ;
  2. si vous voulez supprimer un tweet, supprimez le tweet. Ne venez pas nous faire chier avec un lien vers un tweet (et juste un lien) ;
  3. si vous ne voulez pas qu’une vidéo soit en ligne, ne la mettez pas en ligne pour commencer.

Il y a une raison pour laquelle je parle de « mon site » : car c’est justement « MON site ». J’y mets ce que je veux et seule la loi est la limite de ce qui peut m’être reproché.

Pour tout le reste, si vous n’aimez pas : tant. pis. pour. vous.
Dîtes-le si ça vous chante, faites le savoir, mais ne me le reprochez, et ne me demandez pas de le supprimer.