Skip to content

Instantly share code, notes, and snippets.

Joachim joachimesque

Block or report user

Report or block joachimesque

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View 2019-02-presentation-qualite.md

Penser la qualité, pour le web


La Qualité, kézako ?


Dans l’industrie, l’ingénierie et les affaires, la qualité a une interprétation pragmatique comme étant la non–infériorité ou la supériorité d'une chose ; elle est également définie comme étant l’adaptation à l’usage auquel elle est destinée (aptitude à l’usage) tout en répondant aux attentes des clients. La qualité est un attribut perceptif, conditionnel et plutôt subjectif qui peut être compris différemment par différentes personnes.

View kirby.php
<ul>
<?php foreach($pages->find('galerie-a', 'galerie-b', 'galerie-c', 'galerie-d')->images()->shuffle()->limit(15) as $image): ?>
<li>
<a href="<?= $image->parent()->url() ?>">
<?= html($image->parent()->name()) ?>
<img src="<?= $image->url() ?>" alt="<?= html($image->parent()->name()) ?>" />
</a>
</li>
<?php endforeach ?>
</ul>
@joachimesque
joachimesque / ffmpeg_generate_frequencies.sh
Created Oct 26, 2018
get ffmpeg to generate an animation of the frequencies of an audio file on top of a static image, useful for podcasts and such
View ffmpeg_generate_frequencies.sh
ffmpeg -i test.wav -y -loop 1 -i bg.jpg -filter_complex \
"[0:a]showfreqs=cmode=separate:mode=bar:ascale=cbrt:fscale=log:s=600x600:colors=#ffffff[tmp]; \
[tmp]alphaextract,format=yuv420p,split=3[box][up][down]; \
[up]crop=in_w:in_h/2:0:0[up]; \
[down]crop=in_w:in_h/2:0:in_h/2,vflip[down];[up][down]vstack[tmp]; \
[tmp]gblur=sigma=10,curves=master='0/0 0.49/0 0.51/1 1/1',format=rgba[tmp]; \
[box]drawbox=w=600:h=600:c=#ffffff:t=fill:replace=1,format=rgba[box]; \
[box][tmp]alphamerge[tmp]; \
[tmp]crop=in_w:in_h/2:0:in_h/4[tmp]; \
[1:v]scale=1280:-1,crop=in_w:720[bg]; \
@joachimesque
joachimesque / save_twitter_lists.py
Created Aug 25, 2018
Saves all your twitter lists as CSV files. #python #twitter
View save_twitter_lists.py
# Save Twitter Lists
# Requirements :
# Python 3 (tested with Python 3.7)
# python-twitter (https://github.com/bear/python-twitter)
# $ pip install python-twitter
# You’ll need to create a Twitter app:
# https://python-twitter.readthedocs.io/en/latest/getting_started.html#create-your-app
@joachimesque
joachimesque / build.py
Created May 11, 2018
WebExtension build script
View build.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# based on https://gist.github.com/Matthew-Maclean/3e8efb1d65f0bab8e663ad7ca2aabdaf
#
# usage: build.py [-h] [-c] [-w] [-d DIRECTORY]
#
# Build your extension file.
#
# optional arguments:
@joachimesque
joachimesque / twitter-mentions-linker-for-mastodon.user.js
Last active Apr 29, 2018
Transforms @mention@twitter.com to a bona fide link to Twitter in the Mastodon web interface.
View twitter-mentions-linker-for-mastodon.user.js
// ==UserScript==
// @name Twitter mentions linker for Mastodon
// @description Transforms @mention@twitter.com to a bona fide link to Twitter in the Mastodon web interface.
// @include https://boitam.eu/*
// ==/UserScript==
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
var nodes = Array.prototype.slice.call(mutation.addedNodes);
nodes.forEach(function(node) {
@joachimesque
joachimesque / tracking_authorization.css
Last active May 19, 2018
Script de demande d'autorisation de ciblage (pour conformité RGPD, respecte DNT)
View tracking_authorization.css
dialog#tracking_authorization_dialog[open] {
position: fixed;
bottom: 0;
left: 0;
right: 0;
width: 100%;
padding: 2em calc((90vw - 990px) / 2);
font-size: .8em;
@joachimesque
joachimesque / config.php
Created Jan 4, 2018
CSP headers with a script-src nonce directive for Kirby
View config.php
<?php
/*
---------------------------------------
CSP
---------------------------------------
*/
$csp_nonce = base64_encode(random_bytes(20));
$csp_header = "Content-Security-Policy: default-src 'self'; script-src 'self' 'nonce-" . $csp_nonce . "';";
// set `csp-nonce` so it's accessable
View hugo - la légende des siècles (temp: .1)
Éle pas de la mains de l'air de la mard de la mard de la mard de la mard de l'air de l'air de la mard des partier de l'air de la mard de la mard de la mard de les partier de l'air de la mains de l'air de la courd de l'air de l'air de l'aissier de l'autre au monte et l'ombre et le par le pas de la monte et le par le par le par le pas de l'air de l'air de la monte et le pros de l'air de l'air de la courd de l'air de l'air de le par le prissent de l'air de la par le courd de l'air de la mard de la courd de les priste et le par le pas de l'autre et le par le comme et le par le monte et le pas de l'air de l'air de la par le par le par le par le par le par le courd de l'air de l'air de l'air de la monte et les partier de l'air de la monte et son par le par le par le par le courd de l'air de leur de l'air de l'air de la mard de la mard de la monte et le boure et les partent de l'air de la monte et le partier de l'air de la mains de l'armier de l'air de l'air de l'air de la monte et le par le
View apollinaire
Les colandes
Au chantent de partes
Les comme main me verient de mort de sout de marine
Oux fait de plants mont de vient de mois cours mes vient de les brantent ne les maint de nour de pertent des sous les montent de les courit les cientent de sous les comme peur le mois de la monte en coures
You can’t perform that action at this time.