Quelle touche utiliser pour accéder au BIOS UEFI de sa carte mère

Pour mémoire

  • Asus : F2 ou Suppr
  • Gigabyte : Suppr ou F12
  • MSI (Micro-Star International) : Suppr
  • ASRock : F2 ou Suppr
  • Biostar : Suppr
  • EVGA : Suppr
  • Supermicro : Suppr
  • Intel : F2
  • NZXT : Suppr ou F2
  • Acer : F2 ou Suppr
  • Dell : F2 ou F12
  • HP (Hewlett-Packard) : F10 ou Échap
  • Lenovo : F2 ou F12
  • ASUS : F2 ou Suppr
  • MSI : F2 ou Suppr
  • Toshiba : F2
  • Sony VAIO : F2 ou F10
  • Samsung : F2 ou Échap
  • LG : F2 ou F12

Retour sur quelques livres lus en 2023 - Chez Sammy

Et voilà, grâce à Sammy, encore une liste de livres ... Mais quand vais-je parvenir à tout lire ?

Heureusement que j'ai déjà lu Cien años de soledad... Même en faisant un arbre généalogique on se perd... mais quelle oeuvre !

Pour ma part, j'ai fini quelques Carlos Sisí...

Meme mon chat : un minouscule dump...

Parce que les fêlés félins, parfois, c'est la chatastrophe...

waiting bean meme «mon chat à cinq heure du matin» gay kermitt meme «mon chat  quand je ne me lève pas assez tôt» disapointed guy meme «mon chat quand je me redirige vers la chambre après être allé pisser» Anthony Adams Rubbing Hands meme «mon chat quand qqun se dirige vers la cuisine» meme heavy breathing «mon chat quand je mange un dessert à la chantilly» kombucha girl meme «des croquettes de deux jours vs de l'eau de vaisselle stagnante»/>
<img src= drake meme «vomir sur la pelouse vs entrer, aller dans le salon et vomir sur la moquette»

Et en cadeau...

SVG images are accepted but not sanitized · Issue #38 · berthubert/trifecta · GitHub

Ménon... Mais dites-moi que c'est pas vrai...

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500">
  <circle cx="250" cy="250" r="210" fill="#fff" stroke="#000" stroke-width="8"/>
  <script type="text/javascript">alert(1);</script>
</svg>

Donc, si on colle du JS dans un SVG, le JS serait exécuté à l'affichage de l'image ?!

Je teste ci-dessous avec l'exemple donné sur la page...

omg.svg

Sur mon site, l'image s'affiche normalement sans exécuter le code... par contre, si on ouvre l'image dans un autre onglet...

Comment c'est possible de laisser un truc pareil dans la nature ?!

Via https://sebsauvage.net/links/

MediaRecorder : Bienvenue dans IE6/7/8

En ce moment je bosse sur l'appli de documents/exercices que j'utilise en cours (cf https://warriordudimanche.net/article1686/lappli-documents-que-jai-codee-pour-taf pour mémoire).

J'implémente toute une nouvelle rubrique et de nouveaux items afin de couvrir le spectre de l'expression orale de façon simple en ajoutant une sorte de labo de langue simplifié.En gros, je veux que le gamin puisse travailler à l'écoute de mots modèles mais également qu'il puisse s'enregistrer et se réécouter simplement et quelque soit le support...

Les frontend qui me lisent voient de suite où ça va couiller (merci les copaines)

Et oui, j'ai codé un truc qui fonctionne très bien, relativement propre et simple, facile à utiliser... sous Firefox, opera, vivaldi, chromium et sous Android.

Hélas, ma solution utilise l'API MediaRecorder qui semble présenter des difficultés sous certains navigateurs, vous devinez lesquels...

J'ai testé sur safari (enfin epiphany passque j'ai pas d'apple sous la pogne, tu te doutes...) et ça refuse de fonctionner, vu que MediaRecorder y est bloqué pour nôôôtre saicuritay...

J'ai ensuite testé sur Edge avec mon portable et ça n'a pas fonctionné... toutefois, quand j'ai installé le deb d'Edge sur mon linux ⬇⬇⬇ ...

Parfois, la vie vous envoie   des épreuves, vous savez...

...là, ça a fonctionné... Mais si ça marche, ça doit venir de Linux et pas de Edge (mauvaise foi inside )

Donc en gros, on revient à des soucis de compatibilité avec le nouvel IE ?! (ouelcome to aoueur fanne tasse tique taïme meuchine !)

Nous voila   revenus aux   joies d'Internet   Explorer ?!

Pourtant, canIuse me dit que ça devrait fonctionner, même sous Safari:

Capture du 2024-01-19 12-02-36.png

Bon, avec le navigateur à la pomme, il y a bien une manip à faire dans la configuration avancée pour les devs qui pourrait débloquer la situation mais je me vois mal demander ça à des élèves qui éprouvent déjà des difficultés non négligeables à discerner la barre d'adresse ou qui peinent - la sueur au front - à taper une majuscule sans passer par la touche de verrouillage...

Allez bouffer   vos morts   micro$oft   et apple
Beut ouate        iz ze   solouchonne ?

Donc, là, pour le moment, rien à faire dans l'immédiat pour utiliser simplement MediaRecorder avec safari ou Edge... j'ai donc opté pour une «solution» temporaire: en cas d'absence de l'API, j'ajoute une classe spécifique et je disable les recorders de la page, puis j'affiche un message d'avertissement avec des liens vers des navigateurs compatibles (firefox et forks en tête)...

Après, j'ai bien trouvé un polyfill qui pourrait faire le job ( https://github.com/ai/audio-recorder-polyfill ) mais je ne l'ai pas testé, c'est un peu lourd à installer et pis... c'est pas moi qui l'ai fait...

Si quelqu'un/e a une idée... je prends...

(...)

La nouvelle ministre de l'Education justifie son choix du privé en critiquant l'école publique

Connasse.

J'attendais vraiment rien de ce remaniement mais ils réussissent à décevoir quand même...

Ils ne se cachent même plus...

Autant remettre au goût du jour une vanne de Coluche en l'adaptant à l'éducation nationale : "Ne vous inquiétez pas, l'année dernière était très dure, la prochaine sera pire"

Allez bien bouffer vos morts bande de baltringues.

5 extraits CSS que tout développeur front-end devrait connaître en 2024

Il y a de ces trucs en CSS quand même...

Quelques notes perso ici...

:has()

styler le parent en fonction du nombre d'enfants

Pour modifier une grid par exemple...

main:has(> :nth-child(5)) {…}

styler un élément selon l'état d'une checkbox

Pour appliquer un darkmode

html:has(#dark-mode:checked) {…}

styler un form dont au moins un des items est invalide

form:has(:user-invalid) .error {
  display: block;
}

L'imbrication CSS

Et moi qui pensais que ce n'était réservé qu'à des sass & consorts !

Voilà qui permettra de mieux organiser le code et le rendre plus lisible...

/*AVANT*/
.nesting {
  color: hotpink;
}
.nesting > .is {
  color: rebeccapurple;
}
.nesting > .is > .awesome {
  color: deeppink;
}
/* MAINTENANT*/
.nesting {
  color: hotpink;

  > .is {
    color: rebeccapurple;

    > .awesome {
      color: deeppink;
    }
  }
}

[EDIT] Par contre, ce n'est pas forcément supporté par les navigateurs pas à jour... https://caniuse.com/css-nesting

text-wrap:balance

en gros, pour rendre plus homogène un texte sur plusieurs lignes... Attention, pas pour un texte de plus de 10 lignes apparemment.

via https://bookmarks.ecyseo.net/?DunHiA

Contre-tribune de 2500 artistes | Cerveaux Non Disponibles

C’est l’inversion des rôles où le bourreau (le « monstre », l’homme, pas du tout sacré, mais juste obscène) se place en victime, avec l’aide de ses ami.e.s. Comme toujours dans les affaires de violences sexistes et sexuelles à l’égard des femmes, la « présomption d’innocence » pour l’agresseur sonne comme une « présomption de mensonge » pour les femmes qui témoignent contre lui.

1.jpeg

C'est tellement ça... Ce gros porc de Depardieu fait des dégâts partout où il va depuis 40 ans, tripote, viole, insulte, bave, tient des propos outrageux et insupportables, convoite des fillettes le tout impunément et sous le regard complaisant d'un monde répugnant. Pire, quand - ENFIN - il commence à avoir quelques emmerdements bien légitimes, une poignée d'«artistes» nauséabonds viennent cracher au visage des victimes pour défendre ce bourreau.

Quand cette ordure sera condamnée, j'espère qu'on entendra plus jamais parler de ces personnalités et qu'elles vont retourner à l'oubli dont elles n'auraient jamais dû sortir et qu'elles crèveront seules, dans leur coin, comme la bande de tâches insupportables qu'elles sont.

Merci aux 2500 personnes qui, par leur nombre écrasant, viennent contrebalancer l'insupportable complicité de ces prédatophiles, Macron en tête.

Que la justice fasse son travail. Mais nous devons également faire le nôtre. Celui de soutenir les victimes et de ne pas laisser tranquilles des agresseurs, des violeurs, des oppresseurs. Qu’ils ne puissent plus penser qu’ils peuvent agir en toute impunité, et parfois même en étant récompensés et glorifiés.

2.jpeg

Amen !

P.S.: cher lecteur, si tu penses mettre un quelconque commentaire sous cet article pour «tempérer», «apporter de la nuance», défendre la «présomption d'innocence» ou quoi que ce soit qui minimise la culpabilité de cette ordure ou des gens qui prennent la parole pour le défendre, ne te fatigue pas: je n'ai aucune envie de te lire...

Respecte mes datas - Découvrez ce qu'ils savent sur vous - UFC Que Choisir

Le journal du geek nous explique comment lutter contre le démarchage téléphonique avec un nouvel outil : respectemesdatas.fr...

Petite minute de cynisme

En gros, tu t'inscris pour éviter que ton numéro ne finisse dans les fichiers des démarcheurs car tu notifies ainsi ton refus de figurer dans l'annuaire public... ça me rappelle deux trois trucs mais quoi...?! Mais si, des machins qui n'ont pas marché déjà... (liste rouge, bloctel toussa...) parce que:

  1. les démarcheurs s'en foutent
  2. les démarcheurs ne me semblent JAMAIS punis quand ils s'en foutent
  3. les démarcheurs s'en foutent (comment ça je l'ai déjà dit?!)
  4. les démarcheurs s'en tapent que tu leurs demande d'où ils ont le numéro: ils te raccorchent à la gueule et un collègue te rappelle dans la journée.
  5. ils en ont tellement rien à foutre qu'une fois sur deux ils te raccrochent au pif sans même prendre la peine de te parler.
  6. de toutes façons, ils ont de plus en plus de robots qui composent les numéros à la suite sans même s'emmerder à avoir des listes...

Et si on était taquin, un peu ?!

Puisque respectemesdatas.fr semble s'ériger en outil ultime contre la fuite de données personnelles, on va regarder ça de plus près...

Noscript et ublock origin sont dans un bateau

Capture du 2023-12-23 12-34-09.png
Capture du 2023-12-23 12-34-00.png

Et les gars, si vous êtes vraiment à la recherche d'un moyen d'éviter la fuite de données des utilisateurs, j'ai une ou deux idées à vous proposer, parce que là, c'est difficile de vous prendre au sérieux...

Your Smart TV Knows What You’re Watching – The Markup

Pour le jour où je devrais changer ma télé, vu que c'est presque impossible de trouver autre chose que ces merdes de smartTV...

Donc, il y a des manipulations à faire pour éviter - ou limiter - l'action d'espionnage de votre télé... (ça me rappelle une blague de Coluche dans laquelle il disait qu'en Russie ils avaient aussi la télé mais que c'est ELLE qui vous regarde... #LOLouPas)

pour les autres marques : https://www.tomsguide.com/how-to/stop-your-snooping-smart-tv-how-to-turn-off-data-collection-for-every-brand

Sinon [merci Seb ! ] on peut utiliser les DNS de blocage de DNSForge.de :

IPv4: 176.9.93.198 IPv4: 176.9.1.117 IPv6: 2a01:4f8:151:34aa::198 IPv6: 2a01:4f8:141:316d::117

Sinon, spapossible de simplement pas la connecter à un réseau ?! (bon, après c'est sûr que pour netflix, spa'super...)

Via https://sebsauvage.net/links/

Astuces & liens pour HTML, JS et toussa

Petite liste tirée des RSS que je suis en ce moment.

Notes perso: HTML Dialog | 12 Days of Web

Notes rapides sur la balise <dialog> et le JS .showModal(), .close()

On crée la boîte de dialogue en HTML/CSS

<dialog id="modal-dialog">
  <div class="dialog-content">
    <h3>Title</h3>
    <p>Question ?</p>
    <ul class="dialog-actions">
      <li><button type="button" data-action="confirm">Yes</button></li>
      <li><button type="button" data-action="cancel">Cancel</button></li>
    </ul>
  </div>
</dialog>

On crée le JS adapté

En gros on récupère le click sur l'objet document et on le traite en fonction de l'action prévue dans l'attribut data-action

const dialog = document.getElementById("modal-dialog"");    

document.addEventListener("click", ({ target }) => {
  // ... show logic
  // ... close logic

  if (target.matches('[data-action="confirm"]')) {
       // action si confirm
  }

  if (target.matches('[data-action="cancel"]')) {
       // action si cancel
      dialog.close();
  }

});

Bricolage et gravure: comme on refait son lit, on se couche...

Je passe sur les circonstances qui m'amènent à changer mon lit pour passer à ce qui m'intéresse: faire un lit façon chalet...

Certains trouveront ça moche ou ouiche...

Celui-ci mérite une explication:  Kitch -> quiche -> ouiche...
Désolé pour ce qui   vient de se passer...

J'ai fait une structure toute en bois avec des pieds de 40cm afin d'avoir une assise haute: 40 cm de pieds + 5 cm de sommier à lattes + environ 17cm de matelas... on est bien, là.

Les pieds

alt

J'y ai ajouté une tête de lit façon bloc étagère en incorporant des prises de courant et USB: hauteur 110 cm et profondeur 22cm.

prises

Ensuite je me suis attaqué au pied de lit: une planche de pin de 60x200 que j'ai découpé façon chalet avec volutes et petits coeurs découpés (c'est la partie plutôt ouiche pour certains...)

Arrive la partie gravure

L'envie d'ajouter des motifs gravés au laser sur le pied de lit s'est imposée à moi.

J'ai opté pour des edelweiss sur les arrondis et une scène de ski que j'avais déjà utilisée sur un plateau entièrement fait à partir de chutes de bois (mais c'est une autre histoire)

gravure

Astuce #1

J'ai étrenné une astuce qui a vraiment bien fonctionné: afin d'éviter la brûlure des bords du motif gravé, qui offre un dégradé allant du marron au jaunâtre fumé du plus mauvais effet, j'ai recouvert la zone à graver de ruban à masquer.

Une fois la gravure terminée, on retire le ruban à masquer et le bois est bien préservé dessous.

Astuce #2

Le plus risqué est toujours de centrer correctement le motif sur le support. Mon truc, c'est d'arrêter de vouloir trouver le bon réglage des marges sur le logiciel de gravure et d'utiliser l'option «centrer le laser»

  1. je marque le centre de la zone à graver au crayon,
  2. je place la graveuse au doigt mouillé pour qu'elle soit alignée correctement horizontalement,
  3. je clique sur «centrer le laser», je déplace la tête du laser à la main pour faire correspondre le spot avec le centre marqué au crayon,
  4. je clique sur «corner» qui replace le laser au coin bas gauche du motif,
  5. c'est parti...

ça marche à tous les coups.

Conclusion

Je vais pas vous péter le joufflu plus longtemps avec les détails, vous regarderez les photos . J'ai tout gravé dehors, sur la terrasse, avec des rallonges USB pour rester le cul bien au chaud derrière la baie vitrée...

Final

pxl_20231201_144314358.webp

pxl_20231201_144327369.webp

pxl_20231201_145555821.webp

pxl_20231201_145600196.webp

pxl_20231201_151317715.webp

pxl_20231201_154148317.webp

pxl_20231201_154226566.webp

pxl_20231201_154624977mp.webp

pxl_20231201_154951512.webp

pxl_20231202_093342875.webp

Petit aparté...

Par contre, quand vous gravez, restez pas loin parce que des fois, ça prend feu...

Exemple, en passant devant pour la dixième fois, j'ai trouvé que ça fumait encore plus que d'habitude... normal vu que le cache avait choisi de se foutre à flamber...

outch c brûlé

Le laser est sans doute passé sur une partie de bois plus tendre ou un peu gondolée vers le haut... et au bout de deux heures... poufcétou.

RSS

FormData API | 12 Days of Web

Un petit résumé perso de cette page sur l'objet FormData en javascript.

Créer un objet FormData à partir d'un formulaire

let form = document.querySelector('form');
let data = new FormData(form);

Parcourir l'objet FormData

C'est un itérable, donc on le parcourt avec un for et on récupère des ['clé','valeur']

for (let entry of data) {
    console.log(entry);
}

ou

for (let [key, value] of data) {
    console.log(key);
    console.log(value);
}

parcourir les clés / les valeurs

for (let key of data.keys()) {
  console.log(key);
}

Get, set, update des valeurs

GET

Récupérer une valeur (sans rire ?!)

  • S'il y a un seul champ au nom de la clé: let title = data.get('title')
  • S'il y en a plusieurs : let titles = data.getAll('title');

SET

Ajouter une nouvelle valeur à l'objet FormData

data.set('date', '2022-12-25');

APPEND

Ajouter une valeur supplémentaire à une entrée existante (si l'entrée n'existe pas, elle est créée)

data.append('tags', 'vacations');

Divers

Tester si un champ existe

let hasID = data.has('id');

Récupérer un tableau

  • des clés : let arr = Array.from(data.keys());
  • des valeurs : let arr = Array.from(data.values());

Convertir un FormData en objet clés valeurs

Si votre FormData ne contient pas plusieurs champs ayant le même nom.

let serialized = Object.fromEntries(data);

Sinon, on paufine

let obj = {};
for (let [key, value] of data) {
    if (obj[key] !== undefined) {
        if (!Array.isArray(obj[key])) {
            obj[key] = [obj[key]];
        }
        obj[key].push(value);
    } else {
        obj[key] = value;
    }
}

Une fois converti en objet, on peut le transformer en JSON

let stringified = JSON.stringify(obj);

Fil RSS des articles de cette catégorie