RouladeTutos Tutoriels électronique & informatique

Liste de mes pense-bêtes

Un tuto par jour éloigne le docteur pour toujours :D
Amusez vous bien !


#367

Comment faire passer des informations dans les attributs data en JSON?

Voici un exemple coté PHP :
<div id="myDiv" data-params="<?php echo htmlspecialchars(json_encode($dataParams), ENT_QUOTES, 'UTF-8'); ?>">
Vous pouvez ensuite récuperer l'information avec JQuery comme ca :
var dataParams = $('#myDiv').data('params');
Ou en javascript "pur" comme ca :
var dataParams = JSON.parse(document.querySelector('#myDiv').dataset.params);

#366

Comment transformer récursivement un object en array PHP?

Ce n'est pas très sexy mais ca fonctionne parfaitement :
$monArray = json_decode(json_encode($monObject), true);

#365

Comment retirer les fleches d'un input type number en CSS?

Petit bout de CSS :
/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}

#364

Comment incruster les sous-titres dans une vidéo avec FFMPEG?

Le format MKV (entre autre) permet d'encapsuler plusieurs types d'information (vidéo, audio, sous-titres, chapitrage, ...) Sur certains lecteurs, les sous-titres peuvent etre disgracieux, ou même se decaler avec le temps. Il est possible avec FFMPEG d'incruster le sous-titre dans la vidéo en la recompressant.
Ceci se fait en 2 étapes, l'extraction des sous-tires puis l'incrustation des sous-titres dans la vidéo.

Voici un exemple qui montre comment faire :
ffmpeg.exe -i "input.mkv" -map 0:s:0 soustitres.srt
ffmpeg.exe -i "input.mkv" -vf "subtitles=soustitres.srt:force_style='PrimaryColour=&Hffffff,Italic=0,Spacing=0.8'" -vcodec libx264 -crf 23 -acodec libmp3lame -q:a 5 output.avi

#363

Comment réaliser facilement des tableaux de bord de mon activité?

Quel que soit l'activité que vous avez, vous avez forcement besoin de tableau de bord pour suivre votre activité.
Le service Clacos (en Français en plus) permet de créer rapidement des beaux tableau de bord pour suivre un peu tout ce que vous voulez.

#362

Comment donner le même comportement que des radio à des checkboxes?

L'avantage des checkboxes, c'est qu'elles peuvent etre décochées. Malheureusement, dans certains cas, il serait bien de pouvoir conserver le fonctionnement de cochage unique des radios button. Grâce à la fonction ci-dessous, c'est possible. Vous avez juste a nommer les checkboxes de la même façon, comme vous le faites pour les radios buttons. (Attention, le script necessite JQuery)
$(document).on("click", "input:checkbox", function(e) {
  var $box = $(this);
  if ($box.is(":checked")) {
    $("input:checkbox[name='"+$box.attr("name")+"']").prop("checked", false);
    $box.prop("checked", true);
  } else {
    $box.prop("checked", false);
  }
});

#361

Comment faire une copie parfaite d'un dossier vers un autre serveur?

Avec lftp, vous pouvez faire une copie de sauvegarde parfaite d'un dossier de votre serveur vers un serveur distant en une simple ligne de commande :
lftp -u utilisateur,mot_de_passe serveur -e "mirror -e -R /mon/dossier/a/copier/ /mon/dossier/distant/ ; quit"

#360

Comment lancer un script JS quand votre visiteur quitte votre page?

Vous souhaitez ouvrir une popup pour essayer de retenir votre visiteur quand il s'apprête à quitter votre page par le haut (changement, fermeture d'onglet, ...), voici le code JS qui detecte ce comportement :
$(document).bind("mouseleave", function(e) {
	if(e.pageY - $(window).scrollTop() <= 1) {    
		// Votre code JS ici
	}
});

#359

Comment couper une chaine de caractères sous couper les mots en PHP?

La fonction PHP str_split permet de retourner dans un tableau une chaine qui a été coupé à interval régulier. Malheureusement, cette fonction coupe sans prendre en compte les mots, ils peuvent etre coupés.
Utilisez plutot la fonction suivante, qui fait la même chose mais sans couper les mots :
function str_split_smart($str, $split_length) {
	return explode("\n", wordwrap($str, $split_length, "\n"));
}

#358

Comment récuperer des vidéos gratuites FullHD, 4K, pour vos montages?

Le site Videezy propose gratuitement des tonnes de vidéos en très grande résolution. Parfait pour vos montages!

#357

Comment savoir exactement ce que fait ma ligne de commande Linux?

Vous avez trouvez une ligne de commande Linux sur internet et vous ne comprenez pas bien son fonctionnement, alors le site explainshell va vous venir en aide !

#356

Comment savoir en Javascript si le site est affiché en plein écran?

Petite fonction bien pratique, retourne true si oui, sinon false :
function isFullscreen() {return 1 >= outerHeight - innerHeight};

#355

Comment afficher un avatar Gravatar depuis une adresse email en HTML?

Gravatar met à disposition une URL qui retourne l'avatar lié à l'adresse email que vous passez en paramètre. Voici un exemple en HTML / PHP :
<img src="http://www.gravatar.com/avatar/<?php echo md5($adresseEmail); ?>" />

#354

Comment fusionner/concatener toutes les vidéos d'un dossier avec FFMPEG?

Pour un meilleur résultat, il faut convertir les vidéos au format TS sans recompression donc sans perte de qualité, puis fusionner tout ça. Voici comment faire :
for %%a in ("*.mp4") do ffmpeg -y -i "%%a" -c copy -bsf:v h264_mp4toannexb -f mpegts "%%~na.ts"
(for %%a in (*.ts) do @echo file '%%a') > mylist.txt
ffmpeg -f concat -safe 0 -i mylist.txt -absf aac_adtstoasc -c copy -f mov "fusion.mp4"

#353

Comment faire une vidéo des dernières secondes d'une autre avec FFMPEG?

Avec FFMPEG, il est dificile d'extraire la fin d'une vidéo quand on ne connait pa la durée de celle-ci. Plutôt que se casser la tête à utiliser FFPROBE, voici une petite ligne magique (dans l'exemple, nous exportons les 2 dernières secondes de toutes les vidéos du dossier "full_hd" pour mettre le résultat dans le dossier "result") :
for %%a in ("full_hd/*.mp4") do ffmpeg.exe -sseof -2 -i "%%a" -vf "scale=1920:1080" -vcodec libx264 -crf 10 -async 1 "result\%%~na.mp4"
La recompression est malheureusement necessaire sinon il est impossible de couper une vidéo en dehors des key frames (images clés).

#352

Comment faire des vidéos avec effect de zoomIn avec FFMPEG?

Vous souhaitez transformer toutes les photos d'un dossier en petites vidéos full HD de 7 secondes, avec un recadrage au centre de la photo avec minimum de zoom, en 30 FPS (images par seconde), un fondu de 0.3 seconde au début et à la fin, ainsi qu'un effet de zoom, voici la ligne de commande (les paramètres peuvent se régler évidemment) :
for %%a in ("*.jpg") do (ffmpeg.exe -loop 1 -i "%%a" -vf "fps=30,scale=1920:1080:force_original_aspect_ratio=increase,crop=1920:1080,scale=iw*4:ih*4,zoompan=z='if(lte(mod(on,60),60),zoom+0.0005,zoom-0.0005)':x='iw/2-(iw/zoom)/2':y='ih/2-(ih/zoom)/2':d=25*7" -c:v libx264 -crf 0 -t 7 out.mp4 -y && ffmpeg.exe -i "out.mp4" -vcodec libx264 -crf 0 -vf reverse out2.mp4 -y && ffmpeg.exe -i "out2.mp4" -vcodec libx264 -crf 0  -vf "fade=t=in:st=0:d=0.3" out3.mp4 -y && ffmpeg.exe -i "out3.mp4" -vcodec libx264 -crf 0 -vf reverse out4.mp4 -y && ffmpeg.exe -i "out4.mp4" -vcodec libx264 -crf 10  -vf "fade=t=in:st=0:d=0.3" "%%~na.mp4" -y)
Il esty possible de faire autrement comme la durée de la vidéo est connue, mais j'ai préféré mettre une ligne de commande qui fonctionne à coup sur.
Attention, si votre vidéo est longue, il va vous falloir beaucoup de RAM pour faire le reverse de celle-ci.
Cette ligne va créer des fichiers temporaire (out.mp4 à out4.mp4), que vous pouvez supprimer par la suite.

#351

Comment vider le contenu d'un dossier en une ligne de PHP?

Voici la ligne pour supprimer les fichiers avec pour extension ".log" le dossier "_YOUR_DIR_" :
array_map('unlink', glob(_YOUR_DIR_.'*.log'));

#350

Comment régler la majorité des problèmes d'une vidéo avec FFMPEG?

Voici la ligne de commande ULTIME qui permet de régler les problèmes de compatibilité avec les lecteurs multimédia depuis 2010 :
- L'audio est recompressé en MP3 qualité 4 (bitrate moyen de 165kbit/s)
- La vidéo est recompressé avec le codec x264 avec un CRF de 20
- Le son est "normalisé", il est augmenté pour les scènes basses et abaissé pour les scènes hautes
- Des bandes noires sont ajoutées si besoin pour garder un ratio de l'image impéccable
ffmpeg -i "input.mkv" -filter:a loudnorm -acodec libmp3lame -q:a 4 -vf "scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,setsar=1" -vcodec libx264 -crf 20 "output.mkv"
Attention, pour les vidéos avec une résolution autre que Full HD (1920x1080), il faut adapter les valeurs dans la ligne de commande pour un meilleur résultat.

#349

Comment baisser le son trop fort et monter le son trop faible d'une vidéo?

FFMPEG est très puissant, il permet de réaliser cette fonction, voici un exemple sans réencoder la vidéo :
ffmpeg -i "input.mkv" -filter:a loudnorm -vcodec copy "output.mkv"

#348

Comment connaitre la raison de mise en SPAM par OVH?

Afin de se proteger et protéger les destinataires, OVH n'envoi pas les emails considérés comme SPAM vers des destinataires autre que vous même. Par contre, vous, vous pouvez recevoir l'email avec un "[SPAM]" ajouté devant l'objet de votre email. Ceci, uniquement si vous avez activé le filtre antispam depuis votre interface OVH pour votre service d'envoi d'email pour votre nom de domaine. Bien, sur ca serai trop simple sinon, votre script vous dira que le mail est bien parti. C'est juste que OVH ne l'envoi pas; et si en plus vous n'avez pas activé ce fameu filtre, vous pouvez tourner longtemps ...

Alors comment faire?
- Commencez par vous envoyé un email à vous même depuis votre script. Vous allez le recevoir avec "[SPAM]" devant l'objet.
- Avec votre client email, affichez l'entête du mail, vous allez avoir plein de champs dont X-VR-SPAMSCORE qui vous donne la note de votre email (VR : Vade Retro, nous en parlerons juste après). Voici la signification : de 0 à 99, tout va bien, votre email est clean. De 100 à 299, SPAM faible. De 300 à 499, SPAM moyen. Plus de 500, SPAM fort.

La question est maintenant : Pourquoi avez vous ce score?
- La réponse se trouve au champs X-VR-SPAMCAUSE... qui est ... incompréhensible. En effet Vade Retro, qui decide si votre email est un SPAM ou non, donne la cause mais cryptée. Pourquoi? Parce que pour décrypter c'est payant... Heureusement, à l'heure ou j'écris ces lignes, il existe encore un outil qui permet de le décrypter. lkraider sur son github à mis un code python permetant de decoder de SPAMCAUSE.
Je vous copie/colle le code ci-dessous, s'il vient à disparaitre, grand merci à lui! :
def decode(msg):
    text = []
    for i in range(0, len(msg), 2):
        text.append(unrot(msg[i: i + 2]))
    return str.join('', text)


def unrot(pair, key=ord('x')):
    offset = 0
    for c in 'cdefgh':
        if c in pair:
            offset = (ord('g') - ord(c)) * 16
            break
    return chr(sum(ord(c) for c in pair) - key - offset)
Le plus simple pour décoder le X-VR-SPAMCAUSE est d'utiliser un compilateur Python en ligne comme Programiz, copiez/collez le code python et ajouter à la fin la ligne qui permet le décodage :
print(decode('gggruggvucftvghtrhhoucdtuddrgeduledrudduiedgledtucetufdote[...]dhrtghpthhtoheptghonhhtrggtthestghlrggtohhsrdhfrh'))
Vous obtenez enfin votre cause du SPAM en version décodé qui ressemble à ça : (certaines parties sont anonymisées)
Vade Retro 01.419.116#85 AS+AV+AP+RT ProFile: OVH,CHECKCE;
Bailout: 500;
^T412-50 (300);
Hdr=DTFrSIMVc@a0jp507;
From=Xxxx ;
VRPattern=97E0703113EF8D6435E2539EDAA66200;
Domain=xxxxx.Fr,ioutube.com;
Ip=0.0.0.0,xxx.xxx.xxx.xxx;
ClusterSiZe=0;
Param=mode=smtp,helo=in23.mail.ovh.net,inet=0.0.0.0,mailFrom=contact@xxxxxx.Fr,rcptto=contact@xxxxxx.Fr
Vous pouvez avoir une ou plusieurs raisons pour lesquels votre email tombe en spam. La ligne interessante dans cet exemple est
^T412-50 (300);
On retrouve entre parenthèse le score correspondant à la note du SPAM, et devant, la cause du SPAM. Si c'est clair (ce qui n'est oas notre cas) c'est cool ... Sinon il faut demander à OVH la signification s'ils ont la compétence et envi de répondre ...

Bon courage ...

#347

Comment forcer le navigateur de votre visiteur à recharger vos JS et CSS?

Coté serveur, voici comment forcer le navigateur de votre visiteur à ne pas mettre en cache un JS ou CSS de votre site (afin qu'il soit toujours à jour par exemple).
Ajouter ces lignes de PHP avant le print du contenu du fichier :
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); 
header('Cache-Control: no-store, no-cache, must-revalidate'); 
header('Cache-Control: post-check=0, pre-check=0', FALSE); 
header('Pragma: no-cache'); 

#346

Comment supprimer les entrées vide d'un array en Javasvript?

Voici la petite ligne de code :
monArray = monArray.filter(function (el) {return el != null;});

#345

Comment faire une pause dans un script Javascript?

Voici une méthode un peu sale mais très simple à utiliser :
function sleep(seconds){
    var waitUntil = new Date().getTime() + seconds*1000;
    while(new Date().getTime() < waitUntil) true;
}

#344

Comment lancer une requête AJAX à la fermeture de l'onglet navigateur?

Voici un exemple qui déclanche une requête AJAX à la fermeture de l'onglet :
window.addEventListener("beforeunload", function (e) {
	$.ajax({
		url: 'url_de_mon_scipt.php',
		type: 'POST',
		async: false, 
		data: {'donnee1': 'valeur1', 'donnee2' : 'valeur2'}
	});
});

#343

Comment obtenir des super illustrations sur fond transparent?

Vous adorez les images sur fond transparent et semi-transparent? PNGWing est pour vous !

#342

Comment centrer et cropper (recadrer) une image en une ligne de CSS?

Après avoir préciser en CSS la hauteur et largeur souhaitées, il suffit d'ajouter :
object-fit: cover;

#341

Comment convertir facilement un prix TTC en HT et inversement en PHP?

Rien de compliqué dans ces deux fonctions mais elles sont indispensables. Bien sur, elles peuvent etre adaptées dans d'autres langages.
function TTC2HT($value, $tva) {return $value/(1+$tva);}
function HT2TTC($value, $tva) {return $value*(1+$tva);}

#340

Comment profiter d'un serveur FTP gratuit pour faire vos tests?

Le site dlptest.com vous propose l'accès à un serveur FTP pour réaliser vos tests. Les fichiers que vous y déposerez seront disponible 30 minutes. Un outil indispensable !

Dans le même genre, il y a test.rebex.net qui propose beaucoup plus de type de serveur mais ils sont malheureusement uniquement accèssible en lecture, vous ne pouvez rien déposer dessus.

#339

Comment supprimer le BOM d'une chaine de caractéres ?

Selon Wikipedia, En Unicode, l'indicateur d'ordre des octets ou BOM (pour l'anglais byte order mark) est une donnée qui indique l'utilisation d'un encodage unicode ainsi que l'ordre des octets, généralement situé au début de certains fichiers texte.

Ce BOM pose problème dans le decodage d'un JSON (par exemple).
Voici une fonction PHP qui supprime le BOM contenu dans une chaine de caractères :
function removeBOM($string) {
	if (0 === strpos(bin2hex($string), 'efbbbf')) {
		return substr($string, 3);
	}
}

#338

Comment generer une adresse IP aléatoirement en PHP?

Voici une fonction PHP qui retourne une adresse IP :
function fakeIP() {
    return long2ip(mt_rand(0, 65537)*mt_rand(0, 65535));
}

#337

Comment compter les élèments d'un array Javascript sans les slots libres?

Pour compter la longeur d'un array en Javascript, vous pouvez utiliser ceci :
alert(monArray.length);
Mais si vous souhaitez compter le nombre d'élèments sans les slots libres, vous pouvez utiliser ceci :
alert(monArray.reduce((acc,cv)=>(cv)?acc+1:acc,0));

#336

Comment récuperer les données d'un formulaire (clé/valeur) en javascript?

Utiliser cette petite ligne :
$('#mon-formulaire').serializeArray().reduce(function(obj, item) {obj[item.name] = item.value; return obj;}, {});

#335

Comment generer un GUID de 32 caractères avec MySQL ou MariaDB?

Très simple :
SELECT MD5(UUID());

#334

Comment vider un fichier sans le supprimer en ligne de commande Linux?

Vous souhaitez vider un fichier sans avoir à le supprimer, le recréer, lui remetre ses droits, voici une ligne de commande bien pratique
>nom_de_mon_fichier

#333

Comment nettoyer un array PHP de ses entrées vides?

Vous avez un array, vous désirez supprimer les lignes vides dans celui-ci? Très simple, utilisez cette simple fonction :
$withoutEmptyValues = array_filter($withEmptyValues);

#332

Comment remplacer toutes les occurences d'une chaine en javascript?

Avec la fonction .replace(), javascript ne remplace que la première occurence dans une chaine (exemple : ma_chaine.replace('ancien', 'nouveau');).
Pour remplacer toutes les occurences dans une chaine, utilisez cette syntaxe :
ma_chaine.split('ancien').join('nouveau');

#331

Comment tester et redémarrer MySQL (ou MariaDB) s'il tombe sur Debian?

Vous pouvez ajouter cette ligne dans votre crontab. Elle testera chaque minute si votre MySQL (ou MariaDB) est debout, sinon il le redémarre :
* * * * * /usr/sbin/service mysql status || /usr/sbin/service mysql start

#330

Comment créer un zip d'un dossier en gardant les liens symboliques?

Le paramètre -y de la commande zip permet de garder les liens symboliques lors de la compression.
Voici un exemple (pour rappel, -r permet de compresser un dossier récurcivement) :
zip -r -y mon_dossier.zip mon_dossier/

#329

Comment faire un lien symbolique entre deux fichiers sur Linux?

Se placer dans le dossier de destination du lien et lancer la ligne de commande suivante :
ln -s ../chemin/vers/mon/fichier/ma_source.php ma_destination.php

#328

Comment formater un champs texte HTML pour un IBAN, BIC ou autre?

Une petite librairie JavaScript (qui dépend de JQuery) fait ca très bien.
Voici 2 exemples pour IBAN et BIC :
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/0.9.0/jquery.mask.min.js"></script>
<script>
	$('#iban').mask('SS00 0000 0000 0000 0000 00', {placeholder: '____ ____ ____ ____ ____ __'});
	$('#bic').mask('S S S S S S S S S S S', {placeholder: '_ _ _ _ _ _ _ _ _ _ _'});
</script>

#327

Comment lister les fichiers et dossiers contenus dans un dossier en PHP?

En une ligne de PHP :
$filesAndFolders = array_diff(scandir($folderPath), array('.', '..'));
Pour s'avoir pour chaque élèments si ce sont des dossier ou fichier, il existe respectivement is_dir() et is_file() en passant en paramètre le chemin de l'élèment à tester.

#326

Comment extraire le texte d'un PDF vers l'écran?

Dérivé de l'astuce du dessous, il est possible de faire s'afficher à l'écran le contenu du PDF avec cette ligne :
pdftotext fichier.pdf -

#325

Comment extraire le texte d'un PDF vers un document .txt?

pdftotext est un outil Linux CLI qui permet d'extraire le contenu texte d'un PDF pour le sauvegarder dans un fichier texte. Voici un exemple de son utilisation :
pdftotext fichier.pdf fichier.txt
Si la commande n'est pas disponible sur votre Debian / Ubuntu, vous pouvez l'instaler :
apt-get install poppler-utils
Il existe des paramètres pour préciser les pages que l'on souhaite convertir, ainsi que pour le traitement des fichiers encryptés et/ou protégés.

#324

Comment voir l'activité du disque dur sous Debian en ligne de commande?

Utiliser la commande suivante (à installer si non disponible) :
dstat

#323

Comment importer un fichier Shapefile (shp) dans une BDD MySQL sur Debian?

Pour cela il faut utiliser l'outil ogr2ogr. Pour l'avoir à disposition, il faut installer le paquet gdal-bin :
apt-get install gdal-bin
Puis proceder au chargement dans la base de données, il n'y a pas besoin de créer la table :
ogr2ogr -f MySQL MySQL:[_nom_de_ma_bdd_],host=localhost,user=[_utilisateur_mysql_],password=[_mot_de_passe_mysql_] [_chemin_vers_le_fichier_shp] -nln [_nom_de_ma_table] -update -overwrite -lco engine=MYISAM

#322

Comment supprimer les vieux fichiers sur un serveur Debian?

Il est utile, dans certains cas de supprimer les fichiers plus vieux que X jours.
Voici un exemple de ligne de commande pour supprimer tous les fichiers "png" de plus de 7 jours dans le dossier "/tmp" :
find /tmp/*.png -type f -mtime +7 -exec /bin/rm -f {} \;

#321

Comment loguer toutes les requetes MySQL qui passent sur le serveur?

Il est possible de loguer les requetes en activant le log avec :
SET global general_log = 1; SET global log_output = 'table';

Pour voir les requetes loguées, il suffit d'aller dans la table general_log de la base de données mysql :
SELECT * FROM mysql.general_log;

Pour désactiver le log :
SET global general_log = 0;

Vous pouvez egalement vider la table de log avec un simple :
TRUNCATE TABLE general_log;

#320

Comment installer un certificat HHTPS certbot gratuit sur votre site?

Voici la procedure pour une installation sur un serveur Debian 9 avec Apache.
Attention, il faut que le(s) URL(s) de votre site pointent bien vers le serveur où vous souhaitez installer le certificat.

1 - Ouvrir "/etc/apt/sources.list" sur votre serveur et décommenter la ligne "deb http://deb.debian.org/debian stretch-backports main contrib non-free" puis sauvegarder

2 - Mettre à jour vos repositories avec
apt-get update

3 - Se rendre sur https://certbot.eff.org et préciser "Apache" et "Debian 9" dans le formulaire.
Le site vous donne alors une ligne de commande à lancer pour metre à jour vos repositories afin de pouvoir installer certbot
sudo apt-get install certbot python-certbot-apache -t stretch-backports
Lancer la ligne de commande sur votre serveur (ATTENTION, si vous avez plusieurs sites hebergés sur le même serveur, il faut lancer cette commande autant de fois que vous avez de site. Sinon ils seront tous liés et redirigeront tous vers le premier)

4 - Lancer la commande
sudo certbot --apache
Si une erreur apparait, utilisez plutôt la ligne suivante en listant tous vos domaines
certbot certonly --standalone -d domaine1.com -d domaine2.com -d domaine3.com  --pre-hook "systemctl stop apache2" --post-hook "systemctl start apache2"
Repondre au questionnaire. Il va vous demander entre autre la liste de vos sites concernés par le HTTPS et si vous souhaitez rediriger toutes les connexions HHTP vers HTTPS.

5 - Pour que le certificat ne se périme pas, je conseille d'ajouter cette ligne dans votre crontab
00 00 * * * certbot renew
Voilà c'est terminé !

#319

Comment connaitre l'IP v4 et v6 d'un site internet avec Windows?

Dans les deux cas, il faut utiliser la commande "ping". Pour connaitre l'IP v4 de Google :
ping www.google.fr -4
Pour connaitre l'IP v6 :
ping www.google.fr -6

#318

Comment faire un fade in et fade out audio avec FFMPEG?

FFMPEG est un outil très puissant pour le traitement de l'audio et vidéo. Voici la ligne de commande pour faire un fadein de 5 seconde en début de fichier :
ffmpeg -i input.mp3 -af "afade=t=in:ss=0:d=5" output.mp3
L'exemple pour un fade out dans les 5 dernières secondes d'un fichier de 30 secondes :
ffmpeg -i input.mp3 -af "afade=t=out:st=25:d=5" output.mp3
Enfin, l'exemple pour un fade in ET fade out :
ffmpeg -i input.mp3 -af "afade=t=in:ss=0:d=5,afade=t=out:st=25:d=5" output.mp3

#317

Comment couper un fichier audio en plusieurs morceaux avec FFMPEG?

Vous avez un gros fichier audio que vous souhaitez découper en pretit morceaux de X secondes, alors FFMPEG va vous venir en aide. Voici la ligne de commande qui découpe le fichier input.mp3 en fichiers de 30 secondes sans recompression :
ffmpeg -i input.mp3 -map 0:0 -f segment -segment_time 30 -c copy output%%09d.mp3

#316

Comment voir les services actifs et inactifs sous Debian?

Cette ligne de commande fera l'affaire :
service --status-all

#315

Comment connaitre sa version de Debian?

cat /etc/debian_version

#314

Comment calculer la valeur réelle de Pi (π)?

Voila, nous sommes à la 314éme astuce du site, pas mal !!!!
Qui dit 314 dit π !!Voci donc pour ceux qui ne le savent pas comment calculer la valeur de π :

π = (4/1) - (4/3) + (4/5) - (4/7) + (4/9) - (4/11) + (4/13) - (4/15) + (4/17) - (4/19) + (4/21) - (4/23) + (4/25) ... jusqu'à l'infini

Comme vous le voyez, il faut alterner les + et - et diviser par les chiffres impaires.

#313

Comment avoir de la musique libre de droits pour vos projets?

Le site cchound regroupe une multitude de très belles musiques libre de droits pour vos projets.

#312

Comment décompresser un fichier en le renommant sans connaitre son nom?

Attention, votre archive ne doit contenir qu'un unique fichier. Il est alors possible de décompresser et recuperer ce fichier sans connaitre son nom tout en le renommant via cette ligne de commande :
unzip -c -qq input.zip > output.csv

#311

Comment réinitialiser une clé USB ou carte SD?

Certains appareils formate votre clé USB ou carte SD de facon ... bizarre ... comment faire pour la réinitialiser comme sortie d'usine?
N'inserez pas votre périphérique et lancer "diskpart" grâce à un "cmd" lancé en tant qu'administrateur puis lancez la ligne :
list disk
Vous obtenez la liste des disques disponibles.
Ajouter votre périphérique et relancer la ligne de commande "list disk" pour reperer votre périphérique dans la liste.
Selectionnez votre périphérique en choisissant son numéro (exemple pour le 3) :
select disk 3
Enfin, lancez les lignes de commande suivantes :
clean
create partition primary
format fs=ntfs quick
assign
exit

#310

Comment passer un JSON a travers un data attribute avec PHP et JQuery?

Coté HTML :
data-json="<?php echo urlencode($json); ?>"
Et coté Javascript :
json = jQuery.parseJSON(decodeURIComponent($(this).attr('data-json')));

#309

Comment extraire l'ID d'une vidéo YouTube depuis une URL en Javascript?

Voici une fonction Javascript qui gère la plupart des formes d'url YouTube :
function youtube_parser(url){
	var regExp = /^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#\&\?]*).*/;
	var match = url.match(regExp);
	return (match && match[7].length==11)?match[7]:false;
}

#308

Comment obtenir une datetime aléatoire entre deux datetime fixées?

Souvent pour remplir une base de données, nous avons besoin de données de test. Et des fausses dates aléatoires. Voici une petite fonction PHP qui retourne une datetime entre deux datetime :
function randomDate($start_date, $end_date) {
    return date('Y-m-d H:i:s', rand(strtotime($start_date), strtotime($end_date)));
}

#307

Comment connaitres les services disponibles et lancés sur mon Debian?

La petite ligne de commande du jour :
service --status-all

#306

Comment avoir toutes les dates entre deux dates en PHP?

Une petite fonction super pratique, il faut passer les dates au format YYYY-MM-DD :
function getDatesFromRange($start, $end) {
	$dates = array();
	$period = new DatePeriod(new DateTime($start), new DateInterval('P1D'), new DateTime($end.' +1 day'));
    foreach ($period as $date) $dates[] = $date->format("Y-m-d");
	return $dates;
}

#305

Comment installer PHP7, MariaDB et Apache2 sur un serveur Debian 9 nu?

Commençons par Apache2 :
apt-get install apache2
Puis PHP7 :
apt-get install php7.0 libapache2-mod-php7.0 php7.0-mysql php7.0-curl php7.0-json php7.0-gd php7.0-mcrypt php7.0-intl php7.0-sqlite3 php7.0-gmp php7.0-mbstring php7.0-xml php7.0-zip
Et enfin, MariaDB :
apt-get install mariadb-server-10.1
Un petit redémarrage d'Apache ne fait jamais de mal :
service apache2 restart
Pour finir, ne pas oublier de modifier le mot de passe root MySQL :
mysql -u root -p mysql
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 10.1.21-MariaDB-5 Debian 9.0
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [mysql]> GRANT ALL PRIVILEGES ON *.* TO root@'localhost' IDENTIFIED BY '[_MON_MOT_DE_PASSE_]';
Query OK, 0 rows affected (0.00 sec)
MariaDB [mysql]> exit;
Bye
Et accessoirement, si vous voulez phpMyAdmin :
apt-get install phpmyadmin

#304

Comment connaitre l'IP réelle de votre visiteur en PHP?

Il arrive parfois que votre visiteur soit derrière un proxy par exemple, il est plus difficile d'avoir l'IP de votre visiteur.
Voici une fonction PHP qui rend bien des services :
function getIp() {
	if(isset($_SERVER['HTTP_CLIENT_IP'])) 			return $_SERVER['HTTP_CLIENT_IP'];
	elseif(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) return $_SERVER['HTTP_X_FORWARDED_FOR'];
	else											return (isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '');
}

#303

Comment sélèctionner un élèment aléatoirement dans un tableau PHP?

Voici un exemple pour le tableau "jobs" qui retourne un élèment de jobs aléatoirement :
$randJob = $jobs[array_rand($jobs)];

#302

Comment faire la rotation d'une vidéo avec FFMPEG?

Le filtre vidéo "transpose" permet de faire une rotation d'image. Voici un exemple, puis les differentes valeurs possibles :
ffmpeg -i input.ts -vf "transpose=1" output.mkv
0 = rotation 90° anti-horaire et symétrie vertical
1 = rotation 90° horaire
2 = rotation 90° anti-horaire
3 = rotation 90° horaire et symétrie vertical
Pour une rotation à 180°, utilisez -vf "transpose=2,transpose=2"

#301

Comment ne pas afficher les notices de fonctions deprecated en PHP?

Gerer l'affichage des erreurs avec cette ligne de PHP :
error_reporting(E_ALL & ~E_DEPRECATED & ~E_NOTICE);

#300

Comment auto-centrer et auto-zoomer une carte GoogleMap sur des marqueurs?

Attention, cette astuce ne fonctionne que si vous avez au minimum 2 markers.

Dans le code JS, avant d'ajouter les marqueurs :
bounds  = new google.maps.LatLngBounds();
A chaque fois qu'on ajoute un marqueur :
loc = new google.maps.LatLng(lat, lng);
bounds.extend(loc);
Une fois que tous les marqueurs sont ajoutés :
map.fitBounds(bounds); // Pour l'auto-positionnement
map.panToBounds(bounds); // Pour l'auto-centrage

#299

Comment lancer du code Javascript quand un element devient visible?

A l'heure actuelle, JQuery ne propose pas de onVisible, alors pourquoi pas le créer?
(function($) {
    $.fn.onVisible = function (callback) {
        var self = this;
        var selector = this.selector;

        if (self.is(":visible")) {
            callback.call(self);
        } else {
            timer = setInterval(function() {
                if ($(selector).is(":visible")) {
                    callback.call($(selector));
                    clearInterval(timer);
                }
            }, 50);
        }
    }    
}(jQuery));

#298

Comment ajouter des polices dans HTML2PDF?

Malheureusement, il ne suffit de pas de déposer le .ttf sur le serveur et l'appeler ... Il faut utiliser un outil en ligne pour transformer en .ttf en 3 fichiers : .z, .ctg.z et .php qui seront ensuite utilisés par HTML2PDF en le déclarant à l'objet comme cet exemple :
$html2pdf->AddFont('opensansb', '', 'opensansb.php');

#297

Comment créer des vignettes de PDF?

Installez "imagemagick" à coup de apt-get sur votre serveur puis utilisez la commande convert de cette facon pour convertire la premiere page de "fichier.pdf" avec une largeur de 500px :
convert "fichier.pdf[0]" -resize 500  vignette.jpg

#296

Comment choisir entre un encodage d'image 8 bits ou 10 bits?

L'encodage 8 bits permet de differencier 16,77 millions de couleurs.
L'encodage 8 bits permet de differencier 1070 millions de couleurs.

Un oeil humain, normalement constituer peut differencier entre 1 million et 8 millions au MAXIMUM...

Donc si vous encodez une vidéo dans le but de la regarder ... le 8 bits fera très bien l'affaire.

#295

Comment bien doser le CRF d'un encodage vidéo en x265 avec FFMPEG?

Pour rappel, le CRF (Constant Rate Factor) est la capacité d'un codec à garder une qualité d'image constante tout au long d'une vidéo. Donc une vidéo de 1 minute avec beaucoup de mouvement pésera plus lourd qu'une vidéo de 1 minute ou rien ne bouge.

Je vous rappel egalement que la valeur du CRF va de 0 (aucune perte de qualité et fichier lourd) à 51 (grosse perte de qualité et fichier léger). Pour une qualité plus que respectable, je vous conseille 23 pour le x264, mais qu'en est il pour le x265?

La réponse : un CRF de 23 en x264 correspond à 28 pour x265 et en plus de ca, le poids de votre vidéo sera diviser par 2!

#294

Comment encoder une vidéo en x265 avec FFMPEG?

x264 etait une révolution face au (vieux) DivX et Xvid, x265 en est une face au x264. En effet, pour faire simple, une vidéo de même qualité pésera 2 fois moins lourd que en x264. Bien sur, le revers de la médaille est qu'il faut une machine plus puissante pour le décodage d'une telle vidéo.

Donc ... Comment encoder une vidéo en x265? Exactement de la même facon que x264... sauf qu'il faut préciser le codec "libx265" au lieu de "libx264". Simple? Malheureusement non ... Il faut une version de FFMPEG avec x265 compilé... Je vous propose donc en téléchargement ffmpeg-hi8-heaac.exe pour un encodage de l'image en 8 bits et ffmpeg-hi10-heaac.exe pour un encodage de l'image en 10 bits !!

Et voici la ligne de commande d'exemple pour un encodage 10 bits en x265 :
ffmpeg-hi10-heaac.exe -n -i "input.ts" -deinterlace -vcodec libx265 -crf 28 -async 1 -acodec libmp3lame -q:a 5 "output.mkv"
					

#293

Comment faire un dump uniquement des données ou structure d'une table?

Par defaut, en ligne de commande, lors d'un dump d'une table (ou même d'une base de données entiere) la structure ET les données sont présente dans la sauvegarde.
Il est possible de demander un dump UNIQUEMENT des données :
mysqldump -u [__UTILISATEUR__] -p[__MOT_DE_PASSE__] --no-create-info ma_base > mon_dump.sql
ou UNIQUEMENT de la structure :
mysqldump -u [__UTILISATEUR__] -p[__MOT_DE_PASSE__] --no-data ma_base > mon_dump.sql
					

#292

Comment créer une fonction avec une infinité de paramètres en PHP?

Appelez la fonction avec autant de paramètres que vous le souhaitez, vous récupererez les paramétres comme çà :
function maSuperFonction() {
	foreach(func_get_args() as $param) {
		echo $param;
    }
}

#291

Comment retourner des champs lors d'une suppression de ligne en BDD?

A l'ancienne, pour récuperer les champs de ligne que vous allez supprimer il fallait faire :
SELECT id, name, code FROM product WHERE date_add < '2017-01-01';
DELETE FROM product WHERE date_add < '2017-01-01';
En esperant qu'aucune ligne ne s'intercale entre le SELECT et le DELETE ...

Maintenant, avec MariaDB, il est possible de tout faire dans la même requête :
DELETE FROM product WHERE date_add < '2017-01-01' RETURNING id, name, code;

#290

Comment slugifier une chaine de caractères avec MySQL?

Voici une méthode assez bourin mais qui fonctionne pour slugifier une chaine de caractère avec MySQL. Dans cet exemple on rempli department_slug à partir de department_name :
UPDATE departments SET department_slug = REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(LOWER(TRIM(department_name)), ':', ''), ')', ''), '(', ''), ',', ''), '\', ''), '/', ''), '"', ''), '?', ''), "'", ''), '&', ''), '!', ''), '.', ''), ' ', '-'), '--', '-'), '--', '-'),'ù','u'),'ú','u'),'û','u'),'ü','u'),'ý','y'),'ë','e'),'à','a'),'á','a'),'â','a'),'ã','a'), 'ä','a'),'å','a'),'æ','a'),'ç','c'),'è','e'),'é','e'),'ê','e'),'ë','e'),'ì','i'),'í','i'),'ě','e'), 'š','s'), 'č','c'), 'ř','r'), 'ž','z'), 'î','i'),'ï','i'),'ð','o'),'ñ','n'),'ò','o'),'ó','o'),'ô','o'),'õ','o'),'ö','o'),'ø','o'),'%', '');

#289

Comment lancer une commande en choissant sa priorité?

La commande "nice" permet de regler la priorité CPU de la commande que vous lancer. Les valeurs vont de -20 à 19. Plus le chiffre est faible, plus la commande est prioritaire.

#288

Comment connaitre la répartition CPU des processus prio et non prio?

Avec htop, il est possible de voir la charge CPU sous forme de barre. Il est aussi possible de voir sous forme de couleurs, la répartition "non prioritaire" en bleu, "prioritaire" en vert et "kernel" en rouge. Attention les couleurs peuvent changer en fonction du thème utilisé. Lancez htop puis pressez F1 pour connaitre les couleurs.

#287

Comment connaitre le poids de mes tables dans une base de données MySQL?

Vous pouvez facilement lister les tables d'une base de données avec leur poids avec cette requete :
SELECT table_name AS "Table Name",
ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size in (MB)"
FROM information_schema.TABLES
WHERE table_schema = "[__MA_BASE_DE_DONNEES__]"
ORDER BY (data_length + index_length) DESC;

#286

Comment connaitre le poids de mes bases de données MySQL?

Vous pouvez facilement lister vos bases de données avec leur poids avec cette requete :
SELECT table_schema AS "Database Name",
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size in (MB)"
FROM information_schema.TABLES
GROUP BY table_schema;

#285

Comment changer le nombre de connexions simultannées à votre serveur MySQL?

La valeur actuelle est disponible en executant cette requete sur votre serveur :
SHOW VARIABLES LIKE 'max_connections';
Pour la modifier temporairement (jusqu'au redémarrage de votre serveur), executer pour un exemple à 1000 :
SET GLOBAL max_connections = 1000;
Pour une modification pérpétuelle, modifier la ligne dans my.cnf :
max_connections = 1000

#284

Comment connaitre la valeur maximale d'un PID sur votre Linux?

La valeur maximale est présente ici :
/proc/sys/kernel/pid_max
Il est possible de la modifier (avec Nano par exemple)

#283

Comment extraire le texte ou les images d'un PDF avec Linux?

Sur Linux, il existe une ribanbelle accessibles en installant poppler-utils :
apt-get install poppler-utils
pdfinfo : Permet de voir le nom de l'auteur, le logiciel utilisé, la date de création du document...
pdfimages : Permet d'extraire les images contenues dans le PDF
pdftotext : Permet de convertir le PDF en texte simple
pdftohtml : Permet de convertir le PDF en HTML

#282

Comment accèder à l'interface de paramétrage de Raspbian en CLI?

Tout le monde le sait, mais personne ne s'en rappel. Lancer la commande :
raspi-config
Pour la version graphique, il existe une interface disponible dans le menu.

#281

Comment avoir les informations d'une vidéo Youtube à partir de son URL?

Vous souhaitez avoir le titre ou l'url de la vignette d'une video Youtube via un script PHP (par exemple). Vous pouvez appeler cette URL en remplacant XXXXXXX par le code Youtube de la vidéo :
https://www.youtube.com/oembed?url=https://www.youtube.com/watch?v=XXXXXXX&format=json
Il vous sera alors retourné un JSON contenant quelques informations.

#280

Comment lancer une application au démarrage de l'interface de Raspbian?

Créer un fichier "myapp.desktop" dans le dossier "~/.config/autostart" (vous pouvez mettre ce que vous voulez à la place de "myapp").
Voici un exemple de ce qu'il faut ajouter dans le fichier pour lancer Google en full screen via Chrome :
[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=Google
Exec=/usr/bin/chromium-browser --kiosk --start-maximized http://www.google.fr
Terminal=false

#279

Comment ajouter les polices de base à votre machine cliente Linux?

Linux, c'est bien sympa mais souvent il n'y a pas beaucoup de polices. Voici le paquet magique :
apt-get install ttf-mscorefonts-installer

#278

Comment connaitre les processus qui lisent et écrivent sur votre serveur?

Installer sur votre serveur "iotop", puis lancez le. En appuyant sur "o" vous verrez alors la liste des process qui lisent et écrivent sur le disque dur de votre serveur en temps réel.

#277

Comment chercher un string dans les fichiers d'un dossier récursivement?

Encore une fois, très simple :
grep -r "ma_chaine_de_caractere"

#276

Comment lister les dossier avec leur poids en ligne de commande Linux?

Très simple :
du -sh *

#275

Comment loguer toutes les erreurs, notices, warning et fatals en PHP?

Pour pouvoir les loguer, il faut déjà activer les erreurs, puis les attraper. Voici un morceau de code qui devrait vous aider :
ini_set('display_errors', 1);
error_reporting(E_ALL);
set_error_handler('exceptions_error_handler');
function exceptions_error_handler($severity, $message, $filename, $lineno) {
	file_put_contents('errors', '['.date('Y-m-d H:i:s').']'."\t".$_SERVER["REMOTE_ADDR"]."\t".$severity."\t".$message."\t".$filename."\t".$lineno."\n", FILE_APPEND);
}

#274

Comment connaitre le nombre de ligne d'un fichier en CLI Linux?

Parfois, vous avez un fichier telement gros, qu'il n'est pas possible de l'ouvrir avec un éditeur ... comment connaitre son nombre de ligne? :
wc -l mon_fichier.csv

#273

Comment transformer un CSV en array PHP avec une ligne de PHP?

Si votre CSV est un CSV classique avec une virgule comme séparateur et une double quote pour encapsuler les champs, alors il est très simple de transformer ce CSV en array PHP (pour ensuite le parcourir par exemple) :
$csv = array_map('str_getcsv', file('mon_fichier.csv'));

#272

Comment faire un dump d'une ou plusieurs tables d'une base de données?

Avec MySQL, voici la synthaxe pour faire ce dump de 3 tables :
mysqldump -u [_utilisateur_] -p[_mot_de_passe_] ma_bdd table1 table2 table3 > mon_dump.sql

#271

Comment ne pas lancer un script si un script est déjà en cours?

En PHP, je veux que mon script2.php ne s'execute que si script1.php n'est pas déjà en cours d'execution, alors il faut mettre ce morceau de code tout en haut de script2.php :
if(substr_count(shell_exec('ps -eF'), 'script1.php') > 1) die();

#270

Comment formater un numéro de téléphone au format Français en PHP?

Avec la fonction wordwrap() vous pouvez afficher vos numéro au format XX.XX.XX.XX ou XX XX XX XX TRES facilement, voici les deux exemples :
echo wordwrap($phone, 2, ".", true);
echo wordwrap($phone, 2, " ", true);

#269

Comment nettoyer un array de ses valeurs vide, null, 0 et false avec PHP?

Voici une petite fonction PHP bien pratique et qui peut etre utile : array_filter. Cette fonction permet simplement de supprimer d'un array tous les elements vide (false, null, '' et 0) comme le montre l'exemple :
$monArray = array('', 'orange', false, null, 0, 'vert');
$monArray = array_filter($monArray);	// Après netoyage, monArray ne contient plus que orange et vert

#268

Comment modifier le fichier hosts sur Linux?

Aussi simple que sur Windows, un petit coup de
nano /etc/hosts
Puis ajouter les lignes sous la forme
5.135.190.167 www.mon_site_a_rediriger.com

#267

Comment repositionner un select sur la première option avec JQuery?

Avec une ligne de JQuery, par exemple pour un select avec l'identifiant "region" :
$("#region").val($("#region option:first").val());

#266

Comment synchroniser un dossier vers un serveur distant via SSH et RYNC?

J'avais parlé précédemment d'un outil qui permet de faire une synchronisation permanente entre un dossier de votre serveur et un dossier distant (dans les 2 sens), une Dropbox quoi ... Ici, je vous explique en une ligne de commande comment synchroniser un dossier de votre serveur via un dossier distant via SSH et RSYNC :
sshpass -p '[_MOT_DE_PASSE_SSH_]' rsync --delete -v -e "ssh -p [_PORT_SSH_]" -avz [_DOSSIER_A_SYNCHRONISER_] [_UTILISATEUR_SSH_]@[_SERVEUR_SSH_]:[_DOSSIER_DISTANT_]
ATTENTION !! Ceci sous entant bien sur d'avoir déjà installé sshpass et rsync. Avant de lancer la ligne de commande, il faut se connecter une fois depuis le serveur en ssh pour sauvegarder la fingerprint.

#265

Comment transformer un objet en array récurcivement et vise versa en PHP?

Le cast simple : (array) ne transforme en array que le premier niveau. Voici une astuce toute bête pour transformer un objet en array récurcivement :
$array = json_decode(json_encode($object), true);
Et pour faire l'inverse :
$object = json_decode(json_encode($array, JSON_FORCE_OBJECT), false);

#264

Comment centrer horizontalement et verticalement une div dans une div?

Voici le petit bout de CSS a appliquer sur la div enfant pour qu'elle soit centré dans le parent horizontalement et verticalement :
left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); position: absolute;

#263

Comment analyser où cliquent les visiteurs de votre site internet?

Il existe des tonnes de solution payantes pour effectuer un heatmap de votre site (zones où passent et cliquent la souris de vos visiteurs); mais en existe un gratuit, simple à installer et d'utilisation : Heatmap. Malheureusement, son seul defaut est qu'il ne log que les cliques et pas les trainés... Dommage...

#262

Comment faire une copie parfaite d'un dossier avec Linux?

Pour faire une copie complete et parfaite d'un dossier en gardant les droits et les dates des fichiers :
cp -a source/ destination/

#261

Comment changer l'encodage d'un fichier en ligne de commande Linux?

Voici un exemple de ligne de commande pour copier/coller votre fichier tout en changeant son encodage au passage ISO-8859-1 vers UTF-8 :
iconv -f ISO-8859-1 -t UTF-8//TRANSLIT old_encodage.txt -o new_encodage.txt

#260

Comment connaitre l'encodage d'un fichier en ligne de commande Linux?

Vous avez un doute sur l'encodage utilisé pour un de vos fichier? N'hésitez plus, controllez son encodage avec cette ligne de commande :
file -i mon_fichier.txt

#259

Comment lire les X premières lignes d'un fichier en CLI Linux?

Moins indispensable, mais à connaitre, comment lire les premières lignes d'un fichier. Voici la ligne de commande pour afficher à l'écran les 50 premières lignes du fichier "mon_log.txt" :
head -n 50 mon_log.txt

#258

Comment lire les X dernières lignes d'un fichier en CLI Linux?

Il est TRES utile de pouvoir lire les dernières lignes d'un fichier (quand on souhaite regarder les derniers logs par exemple). Voici la ligne de commande pour afficher à l'écran les 50 dernières lignes du fichier "mon_log.txt" :
tail -n 50 mon_log.txt

#257

Comment faire pour que votre navigateur n'autoremplis pas votre formulaire?

La plupart des navigateurs sauvegarde en cache les valeurs des champs de formulaire pour vous aider lors de votre prochaine saisi. Mais parfois, ceci peut etre embétant. ajouter l'attribut autocomplete="off" dans votre formulaire !

#256

Comment coder vos listener JS pour qu'ils répondent à du code HTML chargé en AJAX?

Remplacer cette écriture :
$('#element').keydown(function(e) {
	// MON CODE ICI
});
Par celle-ci :
$(document).on("keydown", '#element', function(e) {
	// MON CODE ICI
});

#255

Comment minifier ou rendre plus beau mon code CSS, JS et HTML?

Comme vous le savez, plus votre site est léger plus il sera bien vu par les moteurs de recherche. Afin de l'aleger au maximum, il est possible de minifier le code JS, CSS et HTML avec ce site : http://minifybeautify.com. Il permet aussi de rendre plus joli votre code (beautifier) en réajustant l'indentation, sauts de ligne, etc ...

#254

Comment disposer et afficher plusieurs onglets dans un seul avec Firefox?

Le plugin Tile Tabs est là pour ca !

#253

Comment ouvrir une session d'un site par onglet dans Firefox?

Il est possible de faire ca avec une fonctionnalité peu connue de Firefox (à l'heure où j'écris ce tuto) : les onglets contextuels. Qui par defaut, sont désactivés sur ce navigateur.
Pour les activer,
1. Ouvrez un nouvel onglet et tapez : about:config
2. Puis, dans la barre de recheche saisissez : privacy.userContext.enabled
3. Passez la valeur de "false" à "true".
4. Redémarrez Firefox !
Vous pouvez maintenant ajouter des onglets contextuels. Les sessions ne se mélangent pas au sein d'un type d'onglet!

#252

Comment synchroniser son serveur Debian avec un serveur de temps?

Lorsque vous faite un site web, il faut impérativement que votre serveur reste à l'heure. Il est très simple de le synchroniser avec un serveur de temps, installez ntp et démarrez le. (Pour connaitre l'heure de votre serveur, utiliser la commande : date)
apt-get install ntp
/etc/init.d/ntp restart

#251

Comment remplacer des URLs par des liens HTML dans une chaine PHP?

Vous avez une chaine de caractères avec des URLs, vous souhaitez transformer ces URLs en liens HTML? Cette fonction est faite pour vous :
function replaceUrlByLinks($text) {
	return preg_replace(array('`((?:https?|ftp)://\S+[[:alnum:]]/?)`si', '`((?<!//)(www\.\S+[[:alnum:]]/?))`si'), array('<a href="$1" target="_blank">$1</a>', '<a href="http://$1" target="_blank">$1</a>'), $text);
}

#250

Comment supprimer les doubles, triples, ... espaces dans une chaine PHP?

Et voila comment retiirer les doubles, triples, quadruples, ... espaces dans une chaine de caractère en PHP. Ils seront remplacés par un simple espace.
$chainePropre = preg_replace('` {2,}`', ' ', $chaineANettoyer);

#249

Comment scroller en bas d'un element avec JQuery?

Et voila en une ligne de Jquery :
$('#monElement').scrollTop(1E10);

#248

Comment formater un chiffre en JS comme en PHP avec number_format()?

En PHP, il existe l'exellente fonction number_format() pour formater les chiffre (modifier les séparateurs de milliers, choisir le nombre de chiffre après la virgule, ...). Voici la même fonction, avec les mêmes paramétres, mais en Javascript :
function number_format(number, decimals, dec_point, thousands_sep) {
	number  = number*1;
	var str = number.toFixed(decimals?decimals:0).toString().split('.');
	var parts = [];
	for(var i=str[0].length; i>0; i-=3) {
		parts.unshift(str[0].substring(Math.max(0,i-3),i));
	}
	str[0] = parts.join(thousands_sep?thousands_sep:',');
	return str.join(dec_point?dec_point:'.');
}

#247

Comment generer des fausses données pour remplir votre BDD de tests?

Voici un outil très utile pour vous generer aléatoirement des téléphones, emails, adresses, SIRET etc pour les inserer dans votre BDD (par exemple) pour faire des tests : generatedata.com.

#246

Comment sauvegarder sa BDD chaque jour en une seule ligne dans crontab?

Sauvegarder sa BDD régulièrement est INDISPENSABLE. Voici LA ligne à ajouter à votre crontab pour sauvegarder et conserver chaque jour un dump de votre BDD dans un dossier "backups" (et au passage elle est compressée !!) :
0 0 * * * mysqldump -u [_utilisateur_] -p[_mot_de_passe_] [_nom_bdd_] | bzip2 > /var/www/backups/bdd_`date +\%Y\%m\%d`.sql.bz2

#245

Comment changer la langue de votre serveur Web Debian?

Souvent, après l'installation automatique de votre hebergeur, votre OS est en anglais ... Vous pouvez le verifier en lançant cette commande :
env | grep LANG
Pour le passer en Francais, lancer cette commande et choisissez dans la liste "fr_FR.UTF-8 UTF-8" :
dpkg-reconfigure locales
Rebooter votre serveur et voila !

#244

Comment modifier la taille maximale d'une table MySQL de type MEMORY?

MySQL propose plusieurs type de moteur de stockage à utiliser en fonction de vos besoins. Les plus connus sont InnoDB et MyISAM. Il existe le type MEMORY qui stock la table dans la RAM pour un accès ULTRA rapide !! Malheureusement, comme les données sont stockées en RAM, si le serveur reboot, vous perdez le contenu.
Ceci dit, si vous souhaitez connaitre la taille maximale d'une table MEMORY pour votre configuration, lancez la requête :
SELECT @@max_heap_table_size;
Pour modifier cette valeur à 1Go (par exemple) :
SET @@max_heap_table_size=1073741824;
Si ca ne fonctionne pas ... ajouter ces 2 lignes dans la section [mysqld] de votre fichier my.cnf (souvent /etc/mysql/my.cnf)
tmp_table_size=2G
max_heap_table_size=2G
Redémarrez le service MySQL avec :
service mysql restart
Et le tour est joué !!

#243

Comment slugifier un texte en PHP?

Pour le référencement, il peut etre bon d'avoir dans les urls des textes comprehensibles. Voici une fonction qui retourne un slug d'une phrase. (en minuscule, sans accents, sans espaces, sans caractères speciaux etc ...) :
function slugify($text) {
	return trim(strtolower(preg_replace('~-+~', '-', preg_replace('~[^-\w]+~', '', iconv('utf-8', 'us-ascii//TRANSLIT', preg_replace('~[^\pL\d]+~u', '-', $text))))), '-');
}

#242

Comment garder les caractères alphanumériques et espaces d'une chaine?

Si vous souhaitez conserver uniquement les caractères alphanumériques et les espaces d'une chaine (en gros effacer tous les caractères spéciaux), cette ligne est bien utile :
$chaine = preg_replace('#[^[:alnum:] ]#u', '', $chaine);

#241

Comment supprimer des espaces consecutifs non désiré dans une chaine PHP?

Cette ligne remplace les multiples espaces par un seul et unique dans une chaine :
$chaine = preg_replace('/[ ]+/', ' ',  $chaine);

#240

Comment faire un backup et restaurer une BDD en bzip2 à la volée?

Voici un exemple de ligne de commande pour l'utilisateur root :
mysqldump -u [_utilisateur_] -p[_mot_de_passe_] [_nom_bdd_] | bzip2 > backup.sql.bz2
Et l'exemple pour la réimporter :
bunzip2 < backup.sql.bz2 | mysql -u [_utilisateur_] -p[_mot_de_passe_] [_nom_bdd_]

#239

Comment tuer une reqête dans votre console MyTOP?

Je l'ai présenté il y a quelques tutos, MyTOP est un outil génial pour superviser les requêtes circulants dans votre BDD. Il est possible de tuer une requête directement depuis l'outil : très simple, appuyez sur "k" puis sasissez l'identifiant de la requête, puis "entrer". Et hop !

#238

Comment retourner les lignes contenant X occurrences d'une chaine dans un champ?

Je n'ai pas trouvé de fonction MySQL qui permet de retourner les lignes contants X occurrences d'une chaine dans un champ de ma table.
Voici un exemple qui fonctionne pour retourner les lignes contenants 2 fois le mot "et" dans le champ "content" :
SELECT * FROM article WHERE LENGTH(REPLACE(content, 'et', '')) = (LENGTH(content)-4);

#237

Comment réencoder un texte en UTf-8 quelque soit son encodage d'origine?

Longtemps j'ai cherché à créer une fonction PHP qui encode une chaine en UTF-8 quelque soit l'encodage d'origine de celle-ci. Après quelques recherches, j'ai trouvé la classe PHP ForceUTF8 qui le gére super bien ! Elle posède entre autre 2 méthodes qui permettent respectivement de forcer l'encodage d'un string en UTF8 et de nettoyer une chaine qui aurait été trop encodée ou décodée.
$chaine_utf8 = Encoding::toUTF8($chaine_origine);
$chaine_utf8_propre = Encoding::fixUTF8($chaine_utf8_sale);

#236

Comment mettre un bandeau CNIL facilement sur son site?

Voici comment mettre un bandeau CNIL sur son site sans se prendre la tête. Appelez ce Javascript n'importe où dans la page :
<script type="text/javascript" id="cookiebanner" src="http://cookiebanner.eu/js/cookiebanner.min.js" data-position="top" data-fg="#ffffff" data-bg="#3b5269" data-link="#dddddd" data-moreinfo="http://www.cnil.fr/vos-obligations/sites-web-cookies-et-autres-traceurs/que-dit-la-loi/" data-message="Les cookies assurent le bon fonctionnement de notre site Internet. En utilisant ce dernier, vous acceptez leur utilisation." data-linkmsg="En savoir plus"></script>
Il est possible de paramétrer ce bandeau avec de multiple paramètres. Pour la liste complete, rendez vous sur le GitHub du projet.
Si votre site est en HTTPS, je vous conseil de télécharger et heberger le JS sur votre serveur pour éviter d'avoir des erreurs avec certains navigateurs.

#235

Comment changer la longueur minimale des termes à indexer en full text?

En mettant un index de type "fulltext" sur un champ de votre base de donnée (contenant du texte), pour un meilleur résultat lors d'une recherche, MySQL ignore les termes de moins de X caractères. Pour connaitre la longueur minimum des termes qui seront indexés, utiliser cette requête :
SHOW VARIABLES LIKE 'ft_min_word_len';
Pour changer cette valeur, ajouter ou remplacer cette ligne dans la section [mysqld] de votre fichier my.cnf (souvent placé dans "/etc/mysql/") en remplaçant X par la valeur désirée :
ft_min_word_len X
Relancez MySQL en ligne de commande ... :
service mysql restart
Puis, vous devrez demander à MySQL de recalculer votre index. Le plus simple, rapide et fiable et de demander à MySQL de reparer votre table comme ceci (attention, même si c'est marqué "QUICK", ce n'est pas forcement quick ...) :
REPAIR TABLE ma_table QUICK;
Enfin, vous pouvez faire la même chose avec la longueur maximum des termes en gardant le même principe avec "ft_max_word_len".

#234

Comment formater un chiffre avec 2 decimales en PHP et MySQL?

Avec PHP, utilisez la fonction number_format(), voici un exemple :
$formatedPrice = number_format($price, 2, ',', ' ');
Avec MySQL, utilisez une convertion de type de champ en decimal de cette façon :
SELECT CONVERT(price, DECIMAL(20,2)) AS formatedPrice FROM bill;

#233

Comment voir en live les requêtes qui passe sur votre serveur MySQL?

Un super outil que je viens de découvrir : mytop.Commencez par installer mytop sur votre serveur :
apt-get install mytop
Puis lancer mytop de cette façon (en remplacant user et password par vos valeurs bien sur)
mytop -s 1 -u user -ppassword
Le paramétre -s défini la vitesse de rafraichissement en seconde. Malgré cela, il est possible de voir les requetes en direct direct en réstant appuyé sur espace.

#232

Comment faire une recherche ultra rapide d'un string avec une BDD MySQL?

La première étape est de placé un index FULLTEXT sur le champ où se fait la recherche. Pour rappel, un index FULLTEXT ne peut etre placé que sur une table utilisant le moteur de stockage MyISAM. La mise en place de cet index n'a AUCUN impact sur la vitesse d'une recherche en LIKE '%....%', il faut utiliser une autre syntaxe de requête.
Voici la requête que nous allons accelerer :
SELECT street_id FROM street WHERE street_name LIKE '%gaulle%';
Devient ...
SELECT street_id FROM street WHERE MATCH(street_name) AGAINST('gaulle');
Sur une table de 16 millions de lignes, j'ai un résultat 1000 fois plus rapide !!!

#231

Comment récuperer en PHP le contenu des balises meta d'une page HTML?

Il existe une fonction pour ça : get_meta_tags().
Voici un exemple d'utilisation, $tags sera un tableau contenant toutes les balises meta renseignées :
$tags = get_meta_tags('http://www.roulade.fr');

#230

Comment importer un CSV dans une table MySQL en ligne de commande?

Connectez vous à MySQL en ligne de commande et entrez votre requête d'import. Exemple pour importer le fichier city.csv dans la table city en ignorant la première ligne du fichier. Les informations sont entre double quotes, séparés par une virgule et les lignes sont terminées par un saut de ligne :
LOAD DATA INFILE 'city.csv' INTO TABLE city FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS;
Pour ignorer les erreurs lors de l'import, vous pouvez ajouter le terme IGNORE dans la requête, qui devient :
LOAD DATA INFILE 'city.csv' IGNORE INTO TABLE city FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS;

#229

Comment savoir avec JQuery si ma checkbox est cochée?

En une ligne ... :
if($('#ma_checkbox').is(':checked')) alert("Elle est cochée !!!");

#228

Comment compresser une image au format JPG avec PHP?

Voici un exemple de code pour compresser une image avec une qualité de 75%. L'image à un format d'origine en PNG mais il existe des fonctions PHP pour tous les autres formats :
$img = imagecreatefrompng('http://www.monsite.fr/monimage.png');
imagejpeg($img, '/dossier_de_sauvegarde/nom_du_fichier.jpg', 75);

#227

Comment afficher en console Linux les X dernières lignes d'un fichier?

C'est très simple, avec l'application tail.
Voici un exemple pour lire les 15 dernières lignes du fichier "access.log" :
tail -n 15 access.log

#226

Comment nettoyer un texte Word copier/coller dans un WYSIWYG?

Il arrive TREEEEEES souvent, lors d'un copier/coller depuis Word dans un WYSIWYG, il ajoute des ignobles commentaire et des classes innutiles. Voici une ligne de PHP pour nettoyer tout ca ! :
$chainePropre = str_replace(' class="MsoNormal"', '', preg_replace('/<!--.*-->/s', '', $chaineSale));

#225

Comment afficher intelligemment les colonnes des tableaux datatables?

Datatables gère très bien les tableaux en mode réponsive. Vous pouvez même choisir à quel moment afficher et cacher certaines colonnes des tableaux quand la largeur de l'écran ne permet pas de tout afficher. Ajouter les classes suivantes pour préciser à quelles résolutions vos colonnes doivent s'afficher :
  • desktop (pour x >= 1024px)
  • tablet-l (pour768px <= x < 1024px)
  • tablet-p (pour480px <= x < 768px)
  • mobile-l (pour320px <= x < 480px)
  • mobile-p (pourx < 320px)
  • all (toujours afficher quelque soit la résolution)
  • none (afficher comme information secondaire)
  • never (ne jamais afficher)

#224

Comment remplacer une chaine par une autre avec MySQL?

Tout comme en PHP avec str_replace(), il est possible de remplacer une chaine par une autre dans un champ d'une BDD MySQL avec la fonction REPLACE().
Voici un exemple pour remplacer "http" par "https" dans le champ "content" de la table "article" :
UPDATE article SET content = REPLACE(content, 'http', 'https');

#223

Comment transformer une date du format Français au format US?

Voici en une ligne de PHP, toute bête, pour passer une date du format Français au format US :
$dateUS = implode('-', array_reverse(explode('/', $dateFR)));
Et sa version Javascript :
dateUS = dateFR.split('/').reverse().join('-');

#222

Comment faire l'inverse d'un nl2br() en PHP?

Parfois, il est utile de remplacer les
par des "\n", malheureusement, pour le moment, il n'existe pas de fonction PHP qui le fait. Voici donc une fonction :
function br2nl($ma_chaine) {
	return preg_replace("/\<br\s*\/?\>/i", "\n", $ma_chaine);
}

#221

Comment rendre une colonne DataTables toujours présente même en mobile?

DataTables est un outil super puissant pour afficher des tableaux. Il gére seul le passage en données secondaire les colonnes qui n'entre pas sur un petit écran. Mais il est possible de l'obliger à mettre laisser colonnes en ajoutant la class "all" au th concerné. Pour plus de détails, se rendre ici.

#220

Comment supprimer les bandes noires d'une vidéo avec FFMPEG?

Pour faire cela, il faut recadrer l'image (crop en anglais). Il faut donc utiliser le filtre vidéo crop qui prend 4 paramètres : la largeur de l'image de sortie, la hauteur de l'image de sortie et à quelle position (x,y) le crop commence. Voici un exemple pour avoir une image de sortie de 1920x810 avec iun crop qui commence à la coordonnée (0,135) :
ffmpeg.exe -i "input.mkv" -filter:v "crop=1920:810:0:135" -loglevel info -preset medium -vcodec libx264 -crf 22 -async 1 -acodec libmp3lame -q:a 5 "output.avi"

#219

Comment sauvegarder la crontab de mon serveur Debian?

Lorsque l'on souhaite faire un script de backup, on oublie souvent la crontab. Comment sauvegarder le contenu de "crontab -e"? Il suffit de sauvegarder le contenu du dossier /var/spool/cron/crontabs qui contient le contenu de toutes les crontab de tout les utilisateurs !
Ou alors, vous pouvez utiliser cette ligne de commande qui fait une copie du contenu de votre crontab dans le fichier crontab.backup :
crontab -l > crontab.backup

#218

Comment vectoriser une image gratuitement et sans inscription en ligne?

Et bien c'est simple, utiliser le super service RouladeVector ! Sans inscription, rapide et illimité, vous pouvez vectoriser vos images.

#217

Comment écraser un fichier existant ou passer au suivant avec FFMPEG?

Vous pouvez utiliser le paramétre -n pour précifier à FFMPEG de passer à la suite si le fichier de destination existe déjà. Le paramétre -y, quand à lui, indique à FFMPEG d'écraser le fichier de destination s'il existe déjà. Attention, si vous utilisez -n et -y en même temps, FFMPEG renverra une erreur !

#216

Comment retourner la plus récente de 2 dates MySQL?

D'une manière générale, pour retourner le plus grand element d'une liste, il faut utiliser la fonction GREATEST() de MySQL

#215

Comment transformer un DATETIME en TIMESTAMP et inversement avec MySQL?

Pour transformer un DATETIME en TIMESTAMP, utilisez la fonction UNIX_TIMESTAMP(). Pour faire l'inverse, utilisez la fonction FROM_UNIXTIME().

#214

Comment choisir les flux que je souhaite réencoder avec FFMPEG?

Une vidéo est composé de plusieurs flux. Souvent, un flux pour la vidéo, plusieurs flux pour le son (pour les differentes langues), des flux de sous-titres etc ... Les numéros de flux ressemble à #0:0, #0:1, #0:2, ...
Voici un exemple qui recompresse le flux vidéo avec la 2éme piste audio :
ffmpeg.exe -i "input.ts" -map 0:0 -map 0:2 -preset slower -vcodec libx264 -crf 25 -async 1 -acodec libmp3lame -q:a 5 "output.avi"

#213

Comment désentrelacer une vidéo avec FFMPEG?

Pour des soucis de poids, il arrive que des vidéos soient entrelacées. Chaque image ne comporte que la moitié des lignes de pixel altérnativement. Lors d'une compression, je désentrelace toujours les vidéos, pour cela, il existe le paramétre "-deinterlace" mais je préfère utiliser le filtre vidéo "yadif=1" pour un meilleur resultat. (N'oubliez pas de mettre ce filtre vidéo avec les autres)

#212

Comment créer des templates d'email responsive facilement?

Un développer Front End au nom de Jay a développé un outil très interessant permettant de générer ultra facilement le code HTML de vos emails.
Son outil est disponible à l'adresse http://pulp.glitchpack.com.

#211

Comment connaitre le nombre de jours entre 2 dates en MySQL?

Il suffit d'utiliser la fonction DATEDIFF. Voici un exemple qui retourne le nombre de jour entre ces 2 dates :
SELECT DATEDIFF('2016-01-09', '2016-01-01')

#210

Comment appliquer plusieurs filtres vidéo à une compression avec FFMPEG?

Il suffit de les mettre entre double quote séparés par des virgules. Voici un exemple pour retirer du bruit et redimensionner l'image :
ffmpeg.exe -i "input.ts" -vf "hqdn3d=4:3:6:4.5, scale=-1:720" -deinterlace -preset slower -vcodec libx264 -crf 25 -async 1 -acodec libmp3lame -q:a 5 "output.avi"
ATTENTION, l'ordre des filtres à une importance, ils sont executés dans l'ordre d'écriture.

#209

Comment appliquer un style CSS aux input non vide?

CSS est mal fait pour le coup, ... il est possible d'appliquer un style CSS à un input avec une value non vide avec ce selecteur :
input:not([value='']) { /* code CSS ici */ }
Si par defaut, votre input est vide, vous le remplissez, il ne se passe rien ... En effet, CSS n'est pas au courant de la valeur saisie car il regarde l'attribut "value" de l'input. Il faut donc ajouter ce bout de JQuery :
$('form').on('keyup', 'input', function(ev) { $(this).attr('value', $(this).val()); });

#208

Comment redimensionner l'image d'une vidéo avec ffmpeg?

Il est possible de redimensionner une vidéo avec ffmpeg en utilisation le paramétre -vf.
- Pour préciser la hauteur et largeur, ecrivez -vf 1280:720 (il est possible de déformer l'image)
- Pour préciser uniquement la hauteur et laisser ffmpeg calculer la lageur, ecrivez -vf -1:720
- Pour préciser uniquement la largeur et laisser ffmpeg calculer la hauteur, ecrivez -vf 1280:-1

#207

Comment stopper une commande Linux avec X seconde d'activité?

Il est parfois necessaire de stopper une commande Linux si elle prend trop de temps, pour éviter une surcharge de votre serveur par exemple.
Voici comment faire pour executer "top" pendant 5 secondes :
timeout 5 top

#206

Comment faire clignoter un element en mode fadeIn, fadeOut, fadeIn, ...?

Voici le petit code JQuery en passant en paramétre de la fonction, l'element que vous désirez faire "clignoter" :
function fadeInOut($elm) {
	$elm.fadeOut(200, function () {
		$elm.fadeIn(500, function () {
			setTimeout(function() {
				fadeInOut($element);
			}, 1000);
		});
	});
}

#205

Comment transformer un tableau PHP en tableau Javascript?

Une solution toute bête pour faire cette transformation d'array, le json. Voici un exemple de Javascript :
var arrayJS = JSON.parse('<?php echo json_encode($arrayPHP); ?>');

#204

Comment faire un lien HTML pour revenir à la page précédente?

Avec un petit bout de JS dans le href du lien, il est possible de revenir X pages en arrière :
<a href="javascript:history.go(-1)">Retour</a>

#203

Comment couper un morceau de vidéo avec FFMPEG?

Voici un exemple pour extraire un morceau de la vidéo se trouvant entre la 30ème et la 60ème minute du début :
ffmpeg.exe -i input.avi -ss 00:30:00 -to 01:00:00 -y -loglevel info -vcodec libx264 -crf 23 -acodec libmp3lame -q:a 5 output.mkv

#202

Comment encoder ma vidéo en H.264 sans perte de qualité avec FFMPEG?

Souvent vous verez le mot lossless pour désigner le fait de garder la qualité d'origine. La qualité d'encodage du H.264 est représenté par un chiffre allant de 0 (lossless, le plus lours) à 51 (plus mauvaise qualité, le plus léger). Voici donc un exemple pour réencoder une vidéo en lossless :
ffmpeg.exe -i input.avi -y -vcodec libx264 -crf 0 -acodec libmp3lame -q:a 4 output.mkv
ou
ffmpeg.exe -i input.avi -y -vcodec libx264 -preset veryslow -qp 0 -acodec libmp3lame -q:a 4 output.mkv

#201

Comment redimensionner une vidéo avec FFMPEG?

Voici un exemple pour redimensionner l'image à 320x240 :
ffmpeg.exe -i input.avi -y -vcodec libx264 -crf 20 -vf scale=320:240 -acodec libmp3lame -q:a 4 output.mkv

#200

Comment avoir une adresse email temporaire, jetable?

Vous pouvez avoir besoin d'une adresse email temporairement, juste pendant 10 minutes, ... Et bien, il existe le service 10minutemail.com qui fonctionne TRES BIEN!

PS : 200ème tuto ... qui l'aurait cru ... :-)

#199

Comment avoir des jolies barres d'ascenseur dans vos pages HTML?

Vous pouver le plugin Jquery MalihuCustomScrollbarPlugin

#198

Comment appliquer un filtre anti bruit sur une vidéo avec FFMPEG?

FFMPEG intégre le filtre antibruit hqdn3d, qui fonctionne avec 4 paramétres : ls, cs, lt, ct.
Attention c'est technique :
- l = luminance,
- c = chrominance,
- s = spatial,
- t = temporal.
Donc, par exemple, le paramétre "ls" agit sur la luminance dans l'image quant à "ct" agit sur la chrominance entre l'image et les précedentes et suivantes.
Plus la valeur du paramètre est élevè, plus il est agressif, à vous de faire des tests.
Voici une ligne de commande qui utilise le filtre :
ffmpeg.exe -i input.avi -y -vcodec libx264 -crf 20 -filter:v hqdn3d=15:15:10:10 -acodec libmp3lame -q:a 4 output.mkv

#197

Comment stocket du contenu compressé en une unique ligne de PHP?

Vous pouvez utiliser cette synthaxe pour écrire et compresser à la volée :
file_put_contents("compress.zlib://$filename", $content);
Pour retire ce que vous avez écrit :
 $content = file_get_contents("compress.zlib://$filename");

#196

Comment caster un objet récursivement en tableau en PHP?

Merci Nicolas GAUTRON pour cette fonction :
function object_to_array($d) {
	if(is_object($d)) $d = get_object_vars($d);
	return (is_array($d))?array_map(__FUNCTION__, $d):$d;
}

#195

Comment connaitre toutes les variables disponibles dans mon code PHP?

Si vous n'utilisez pas XDebug, il existe une fonction PHP qui retourne toutes les variables (avec leur valeur) accessibles de là où vous etes : get_defined_vars()

#194

Comment sortir l'age à partir de la date de naissance en MySQL?

Il est simple de faire cette tache en PHP, mais comme MySQL sait le faire, pourquoi il ne le ferait pas?
SELECT TIMESTAMPDIFF(YEAR, user_birthday, NOW()) AS age FROM user_table

#193

Comment connaitre sa version de PHP en PHP?

Depuis la version 5.2.7, la constante PHP_VERSION_ID contient la version de PHP. Mais pour les autres versions (à partir de 4), la fonction phpversion() retourne cette information.

#192

Comment générer un bon mot de passe?

Au moment de la génération d'un mot de passe, on sait rarement quoi mettre. Le site Passwords Generator permet de générer un mot de passe sécure pour vous.

#191

Comment faire un traitement en masse en ligne de commande Windows?

Pour reprendre le précédent tutos, voici un exemple pour multiplier le volume par 4 de toutes les fichiers mkv du dossier courant et mettre le resultat dans le dossier output :
for %%a in ("*.mkv") do ffmpeg.exe -i "%%a" -vcodec copy -vol 1024 "output\%%~na.mkv"

#190

Comment augmenter le volume d'une vidéo avec ffmpeg sans recompression?

Comme je l'ai montré plusieurs fois précédement, ffmpeg est un outil extremement puissant pour l'encodage audio/vidéo. Voici la commande à utiliser si vous souhaitez multiplier le volume d'une vidéo par 4 (par default, le volume est à 256, donc 1024 = 4 fois plus)
ffmpeg.exe -i input.avi -vcodec copy -vol 1024 output.avi

#189

Comment supprimer la configuration utilisateur dans TortoiseSVN?

Si vous utilisez TortoiseSVN et que, comme moi, vous avez demandé au logiciel de sauvegarder les mots de passe (pour ne pas avoir à les fournir à chaque update/commit). Comment faire pour changer d'utilisateur? Clic droit > TortoiseSVN > Settings > Saved Data > Authentification Data > Clear ...

#188

Comment faire un upload d'image élégant dans vos formulaire?

Voici un plugin JS très puissant et très utilisé permetant de faire de l'upload d'images en drag&drop avec visualisation des images chargées : DropzoneJS.

#187

Comment faire une coloration syntaxique de morceaux de code sur mon site?

PrismJS est un plugin JS qui permet de faire une coloration syntaxique automatique de morceau de code. Il comprend une multitude de langage. C'est le plugin qui est utiliser sur ce site !

#186

Comment avoir un bel icon de chargement sur mon site?

Le site ajaxload.info vous propose des gifs de chargement de toutes formes et toutes les couleurs, générez celui qui vous convient et téléchargez le !
Vous pouvez egalement utiliser les "Animated Icons" de fontawesome.

#185

Comment selectionner le premier enfant d'un type donné en CSS?

Voici un exemple pour atteindre le premier enfant de type div à mon conteneur ".table_content" :
.table_content > div:first-of-type {
	// CODE CSS ICI
}
Je vous laisse deviner à quoi sert "first-of-type"

#184

Comment jumeler pourcentage et pixel dans la définition d'une hauteur?

En CSS, il est possible de jumeler des pourcentages et hauteur pour la définition de la hauteur ou largeur. Voici un exemple d'un div qui a une hauteur de 80% - 50px :
height: calc(80% - 50px);

#183

Comment transformer votre compte OneDrive en lecteur réseau?

Vous vous en doutez, avoir un système de cloud sous forme de lecteur réseau permet de ne pas prendre de la place sur votre disque dur. Il est donc très interessant d'utiliser votre OneDrive sous forme de lecteur réseau. Ceci est relativement simple, créez un lecteur réseau, quand il vous demandera le dossier concerné par le lecteur, saisissez : https://d.docs.live.net/[__VOTRE_CID_ONEDRIVE__]. Veillez bien à renseigner votre CID OneDrive à la place de [__VOTRE_CID_ONEDRIVE__] et hop vous avez un lecteur réseau connecté sur votre compte OneDrive!

#182

Comment stopper une requête Ajax avec JQuery?

Il est possible de stopper une requête ajax lancée, pour cela, il suffit de la nommer :
var request = $.ajax({
    type: 'POST',
    url: 'votre_url.php',
    success: function(result) { ... }
});
... et d'appeler la fonction abort() :
request.abort();

#181

Comment faire un contour blanc de 2px autour d'un texte en CSS?

Avec la propriété suivante :
text-shadow: #fff 2px 2px, #fff -2px 2px, #fff -2px -2px, #fff 2px -2px;

#180

Comment savoir si mon string commence par X et termine par Z en PHP?

Avec les expréssions régulière, il est simple de faire ce controle :
if(preg_match('/^X(.+)Z$/', $mon_string)) echo 'Ca commence par X et termine par Z';

#179

Comment connaitre l'extension d'un fichier en PHP?

Simple, utiliser le code suivant :
$extension = pathinfo('chemin_de_mon_fichier')['extension'];

#178

Comment parser le contenu d'un fichier ZIP en PHP?

Depuis PHP 5.2.0, il est possible d'intéragir facilement avec des fichiers ZIP grace à la classe ZipArchive. Voici un exemple pour lister les fichiers contenus dans un ZIP :
$zip = new ZipArchive();
$zip->open('mon_fichier.zip'); 
for($i = 0; $i < $zip->numFiles; $i++) { 
    $fileInfos = $zip->statIndex($i); 
    echo $fileInfos['name']; 
}

#177

Comment copier avec "cp" sans perdre les droits et dates sous Linux?

Il suffit d'ajouter le paramétre "-p" lors de l'utilisation de "cp". Voici un exemple pour la copie d'un dossier :
cp -p -r mon_dossier_source/ mon_dossier_destination/

#176

Comment chercher un texte dans les fichiers de toute une arbo Linux?

Placez vous dans le dossier racine et utilisez cette commande :
grep -rnw '/mon/chemin/' -e 'ce_que_je_cherche'

#175

Comment guider votre utilisateur lors de l'upload de fichier?

Vous souhaitez que votre utilisateur upload des fichiers de certaines extentions dans votre formulaire? Il est possible de le guider en paramétrant la balise input comme dans cet exemple :
<input type="file" accept=".gif,.jpg,.jpeg,.png,.doc,.docx">

#174

Comment trier un array PHP par une valeur contenue dans une de ses clés?

Si vous avez par exemple un array qui contient une liste d'article avec un nom et un prix et que vous souhaitez les trier par prix décroissant, vous pouvez utiliser ce code :
$articles = array(
	array("name" => "Kebab"		, "price" => 5.00),
	array("name" => "banane"	, "price" => 1.90),
	array("name" => "granola"	, "price" => 2.43)
);
$order = array();
foreach($articles as $key => $row) $order[$key] = $row['price'];
array_multisort($order, SORT_DESC, $articles);

#173

Comment faire un SELECT sans cache avec MySQL?

Utilisez simplement le mot clé "SQL_NO_CACHE" après le mot clé "SELECT" dans votre requête.

#172

Comment mettre un cache static de fonction en PHP?

Si vous avez une fonction PHP que vous appelez plusieurs fois avec les mêmes paramétres et qui est gourmande, je vous conseille d'ajouter du cache à l'intérieur. Voici un exemple très simple qui vous le montre :
function maFonction($arg1, $arg2, $arg3, ...) {
	static $cache;
	$key = sha1(json_encode(func_get_args()));
	if(isset($cache[$key])) return $cache[$key];
	
	// METTRE VOTRE CODE COUTEUX ICI
	
	$cache[$key] = // CE QUE LA FONCTION DOIT RETOURNER
	return $cache[$key];
}

#171

Comment mesurer la durée d'execution d'une portion de code en PHP?

Autour du code à mesurer, vous pouvez utiliser ce morceau de code : (pour une étude plus poussée du temps, je conseille d'utiliser xDebug)
$timeStart = microtime(true);
// METTRE VOTRE CODE ICI
$timeEnd = microtime(true);
echo 'Executée en '.number_format(1000*($timeend-$timestart), 3).' ms';

#170

Comment faire des appels asynchrone avec cURL?

Depuis la version 7.16.2 de cURL disponible dès PHP 5.2.3, vous pouvez utiliser des options qui peuvent limiter le timeout à 1ms. Voici comment les utiliser :
curl_setopt($curl, CURLOPT_TIMEOUT_MS, 1);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT_MS, 1);

#169

Comment effectuer une action lors de l'appui sur la touche "Echap"?

En javascript, il est possible de détecter l'appui sur une touche de cette façon :
$(document).keyup(function(e) {
	if(e.keyCode == 27) {
        // METTRE VOTRE CODE ICI
    }
});

#168

Comment avoir la liste des paquets contenant un terme?

La commande "apt-cache search" vous retournera la liste des paquets disponible contenant le terme que vous cherchez. Voici un exemple pour GeoIP :
apt-cache search geoip

#167

Comment transformer une date du format US au format Français avec MySQL?

Avec cette fonction MySQL, il est possible de convertir la date :
DATE_FORMAT(ma_date_en_us, '%d/%m/%Y')

#166

Comment facilement faire une vignette de mon site?

Je vous conseille vivement d'utiliser L'EXCELLENT service screenshot.roulade.fr qui va révolutionner le monde d'internet ... Si c'est sur :-)

#165

Comment transformer une datetime du format US au format Français en PHP?

Voici en une ligne comment passer une datetime du format US au format Français :
$dateFR = date('d/m/Y H:i:s', strtotime($dateUS));

#164

Comment faire une authentification HTTP directement dans l'URL?

Il est possible de s'authentifier automatiquement en appelant une URL. Pour ça, il faut passer les paramètres de la façon suivante :
http://login:mot_de_passe@mon_site.com

#163

Comment installer cURL sur son serveur Debian PHP5?

Lancez c'est 2 lignes de commande et le tour est joué :
apt-get install php5-curl
/etc/init.d/apache2 restart

#162

Comment comment modifier votre referer avec votre navigateur?

Vous le savez sans doute, un site est capable de savoir d'où vous venez. Quel site à permis à votre visiteur d'arriver chez vous. Il est possible de modifier cette information avec un plugin à installer à votre navigateur : RefControl pour Firefox, Referer Control pour Chrome.

#161

Comment avoir la bonne heure pour vos scripts PHP?

Il arrive que malgrè que votre serveur soit à l'heure, les scripts PHP uilisent l'heure avec un décalage horaire. Pour correctement regler le décalage horaire dans vos scripts, il faut utiliser la ligne suivante :
date_default_timezone_set('Europe/Paris');

#160

Comment afficher les erreurs PHP de ma page dans le navigateur?

Les deux lignes suivantes sont indispensable en mode DEV, elle permettent d'afficher les erreurs PHP.
En production, il vaut mieux rediriger les erreurs vers un fichier de log.
error_reporting(-1);
ini_set('display_errors', 1);

#159

Comment avoir internet gratuitement en wifi?

Vous avez besoin d'internet gratuitement en wifi? Cet application pour smartphone est faite pour vous "Wifi map". Aussi bien sur iOS qu 'Android, elle répertorie une grosse quantité de wifi avec leur login/mot de passe dans le monde entier. Bien sur, cet outil n'est pas la seule façon de faire.

#158

Comment synchoniser les structures de deux BDD MySQL?

Voici un outil super pratique pour générer des requêtes de synchronisation entre deux BDD MySQL. Malheureusement, il est un peu compliqué à installer mais il fonctionne super bien ! : SchemaSync.

#157

Comment avoir des informations de localisation de vos visiteurs?

A partir de son adresse IP, il est possible d'avoir des informations de localisation de votre visiteur : ville, pays, latitude, longitude, ...
Le service qui vous aidera dans cette tâche est GeoIP.

#156

Comment sauvegarder des adresses IP en base de données MySQL?

Il existe plusieurs types possibles pour sauvegarder une adresse IP dans une base de données MySQL. Pour des raisons de performances, il est conseillé de sauvegarder l'IP dans un type INT en la passant à travers une fonction.

Exemple pour sauvegarder l'IP 192.168.0.10 :
INSERT INTO log ('ip') VALUES (INET_ATON('192.168.0.10'));
Pour récupèrer l'adresse, il faut faire :
SELECT INET_NTOA('ip') FROM log;

#155

Comment garder ma commande active quand que quitte le terminal?

Si vous souhaitez lancer une commande et la laisser tourner même une fois le terminal coupé, vous devez utiliser un screen. Taper cette ligne pour ouvrir un screen du nom de "facturation"
screen -d -R facturation
Pour tuer le screen, tapez "exit" à l'intérieur, pour vous détacher sans le tuer : CTRL+A puis D à l'intérieur.

#154

Comment lancer une commande puis reprendre la main sans attendre la fin?

Vous lancez une commande un peu gourmande et vous ne souhaitez pas attendre la fin de son execution pour reprendre la main de votre terminal, ajoutez "&" à la fin de votre commande. Attention, si vous quitter votre console, le script s'arretera.
Voici un exemple :
mysqldump -h localhost -u root -psuperman wordpress > backup.sql &

#153

Comment faire un backup d'une base de données directement dans un ZIP?

Il est tout à fait possible de compresser à la volée un dump MySQL si vous avez ZIP d'installé sur votre serveur. Voici un exemple pour le backup de la base de données "wordpress" située sur le serveur lui-même pour l'utilisateur "root" avec le mot de passe "superman".
mysqldump -h localhost -u root -psuperman wordpress | zip > backup.sql.zip

#152

Comment extraire le son d'une vidéo dans un mp3 avec ffmpeg?

Voici un exemple très simple pour encoder en mp3 dans le fichier "output.mp3" le son de la vidéo "input.mp4" avec une qualité de 4 (les qualités possibles vont de 0 (meilleure) à 9 (moins bonne))
ffmpeg.exe -i input.mp4 -codec:a libmp3lame -qscale:a 4 output.mp3

#151

Comment demandé à MySQL d'inserer en BDD sans attendre le resultat?

Pour un système de log, il est essentiel que la sauvegarde de l'information ne ralentisse pas l'execution du script. Pour réaliser cette contrainte, il existe une option à INSERT INTO (ainsi qu'à UPDATE) pour les BDD en MyISAM : DELAYED. Attention, si vous essayez cette option sur une table INNODB, vous aurez une belle erreur er votre requête ne s'executera pas.
Voici un exemple de requete :
INSERT DELAYED INTO log VALUES(NOW(), 'Il est passé par ici ...');

#150

Comment faire un lien symbolique avec un serveur distant?

Avec l'outil sshfs, il est possible de faire cela très rapidement et simplement. Installez sshfs puis lancez la ligne de commande :
sshfs [_UTILISATEUR_SSH_]@[_IP_DE_MON_SERVEUR_]:[_DOSSIER_DISTANT_] [_DOSSIER_LOCAL_]

#149

Comment faire un dump de toutes mes bases de données MySQL?

Avec une ligne de commande très simple, il est possible de sauvegarder dans un dump unique toutes les bases de données de votre serveur :
mysqldump -u root -p -A > dump.sql

#148

Comment importer un fichier CSV dans une table MySQL?

Voici un exemple pour le fichier "fichier.csv" à importer dans la table "product", le délimiteur du CSV est la tabulation, il possède une ligne d'entéte et les chaines ne sont pas encapsulées. Il faut placer son CSV dans le dossier /tmp, se connecter à MySQL en CLI puis se rendre dans la base de donnée en question et utiliser :
LOAD DATA INFILE '/tmp/fichiers.csv' INTO TABLE product FIELDS TERMINATED BY '\t' ENCLOSED BY '' LINES TERMINATED BY '\n' IGNORE 1 ROWS;

#147

Comment inverser les données de 2 champs dans une table MySQL?

Il arrive parfois d'inverser 2 champs dans une table de BDD. Il est possible de remettre les données dans les bonnes colonnes.
Les nouvelles versions de PHPMyAdmin le fait mais voici un exemple où on souhaite intervertir les données des champs "name" et "description" dans une table "product" :
UPDATE product SET `name`=@tmp:=`name`, `name`=`description`, `description`=@tmp

#146

Comment synchroniser un dossier sur un serveur distant?

Imaginons que vous souhaitez synchroniser un dossier de votre machine A sur votre machine B en le poussant du A sur le B. Installez sshpass, puis lancer la ligne suivante sur la machine A :
sshpass -p "[MOT_DE_PASSE_MACHINE_B]" rsync -avz [CHEMIN_DOSSIER_MACHINE_A] root@[IP_MACHINE_B]:[CHEMIN_DOSSIER_MACHINE_B]

#145

Comment générer un PDF simplement sans rien installer sur votre serveur

Très simple, j'ai crée un service pour ça, appelez "http://html2pdf.roulade.fr" avec votre contenu HTML à transformer en PDF en paramétre. Pour plus de détails, rendez vous sur http://html2pdf.roulade.fr

#144

Comment envoyer par email ce que les scripts lancés par crontab disent?

Vous avez des scripts verbeux dans votre crontab et vous souhaitez recevoir par email se qu'ils disent? Ajoutez alors cette ligne dans votre crontab :
MAILTO="mon@email.com"
Si vous souhaitez etre prévenus UNIQUEMENT s'ils parlent ... n'oubliez pas d'ajouter "> /dev/null" en fin de votre ligne de commande.

#143

Comment lancer un script au démarrage d'une machine Linux?

C'est très simple, il suffit de l'ajouter dans le dossier /etc/init.d/ et le tour est joué

#142

Comment écrire dans un fichier de log les retours d'un script?

Pour stocker à la suite dans le fichier "/tmp/log.txt" les retours du script "mon_script.sh", il suffit d'écrire la ligne suivante :
mon_script.sh >> /tmp/log.txt

Pour stocker en écrasant le fichier "/tmp/log.txt" les retours du script "mon_script.sh", il suffit d'écrire la ligne suivante :
mon_script.sh > /tmp/log.txt

#141

Comment dédupliquer une table de base de données?

Imaginons une table "client", vous avez oublié de mettre un index unique sur les champs "email" et "password".
Votre table contient plein de ligne dupliquées, lancez alors cet ordre SQL :
DELETE c1 FROM client AS c1, client AS c2 WHERE c1.id > c2.id AND c1.email = c2.email AND c1.password = c2.password

#140

Comment éditer facilement votre contab?

Utiliser simplement cette ligne de commande :
contab -e

#139

Comment voir facilement les lignes présentes dans votre contab?

Utiliser simplement cette ligne de commande :
contab -l

#138

Comment transformer un fichier CSV en requetes SQL pour l'importer?

Le plus simple est d'utiliser ce service en ligne qui fera très bien l'affaire : http://sqlizer.io.

#137

Comment afficher simplement la liste des groupes sous Linux?

En ligne de commande, tappez :
cat /etc/group | awk -F: '{print $ 1}'

#136

Comment afficher simplement la liste des utilisateurs sous Linux?

En ligne de commande, tappez :
cat /etc/passwd | awk -F: '{print $ 1}'

#135

Comment préciser le port à utiliser lors d'une connexion SSH en CLI?

C'est tout béte, voici un exemple avec le port 1234 :
ssh -p 1234 user@host

#134

Comment chercher dans Windows, tous les fichiers sauf les images?

Dans l'input de recherche Windows, vous pouvez mettre autre chose que des noms de fichier. Par exemple, voici comment chercher tous les fichiers mais pas les images :
System.Kind :<>image
Retrouver toutes les astuces à cette adresse.

#133

Comment savoir si mon tableau PHP est multidimensionnel?

Pour savoir si notre tableau PHP est multidimensionnel, nous allons utiliser la fonction count() avec son 2éme paramétre. En effet, cette fonction peut prendre en 2éme paramétre la constante COUNT_RECURSIVE qui va compter les elements récursivement dans toutes les branches. Il suffit donc de tester le tableau ainsi :
if(count($array) == count($array, COUNT_RECURSIVE)) { ... }

#132

Comment écrire des phrases pour avoir l'air intelligent en réunion?

Vous ne connaissez pas Pipotronic? Je vous conseille de foncer voir ce site! Il peut vous servire si vous êtes joueur ...

#131

Comment conserver que les chiffres d'une chaine de caractères?

Avec une REGEXP :
$ma_chaine_nettoyee = preg_replace('`[^0-9]`', '', $ma_chaine);

#130

Comment supprimer les caractères invisible d'une chaine en PHP?

J'entend par "caractères invisibles", les tabulations, sauts de ligne etc ... Vous pouvez utiliser le code suivant pour nettoyer votre chaine :
$ma_chaine = preg_replace('/[\x00-\x1F\x80-\xFF]/', '', $ma_chaine);

#129

Comment supprimer un fichier sans qu'il passe par la corbeille?

Si vous etes sur de vouloir supprimer un fichier, il est possible de le faire sans qu'il passe par la corbeille. Avant d'appuyer sur "Suppr", maintenez enfoncée la touche "SHIFT".

#128

Comment transformer une image ronde en carré en CSS?

En CSS, il est possible de transformer une image carré en rond, il suffit de définir un border-radius à l'image d'une valeur de la motiè de la hauteur.

#127

Comment faire pour ne plus saisir mon mot de passe MySQL en CLI?

Lors d'une connexion à MySQL en CLI, vous devez taper votre mot de passe devant tout le monde ... pas top... Vous pouvez le sauvegarder dans un fichier de préférence MySQL (nommé .my.cnf) pour ne plus avoir besoin de le saisir.
Créer le fichier ".my.cnf" dans votre home avec votre éditeur préféré, puis inscrivez ses lignes :
[client]
password=mon_mot_de_passe
Ne surtout pas oublier le sécuriser avec la commande suivante :
chmod 600 ~/.my.cnf

#126

Comment faire un comparatif objectif sur deux PC, téléphones, ...?

Je vous conseil fortement le site versus.com. Il permet de comparer 2 téléphones, 2PC, 2 cartes graphiques, etc ... et vous donne les avantages de l'un et l'autre.

#125

Comment générer une date aléatoirement avec MySQL?

A première vue, je ne vois pas vraiement à quoi ca pourrait servire ... mais je vous donne la syntaxe pour demander à MySQL de vous générer une date aléatoire :
SELECT FROM_UNIXTIME(FLOOR(RAND()*UNIX_TIMESTAMP()));

#124

Comment tester si un chiffre est paire ou impaire en PHP?

Pour faire ceci, nous allons utiliser l'opérateur "modulo" qui retourne le reste d'une division. Donc :
if(n%2) echo "impaire"; else echo "paire";

#123

Comment copier/coller des données d'une table à une autre avec MySQL?

... en faisant un INSERT SELECT! Voici comment ca fonctionne : Si de souhaite copier le champ "nb_credit" de ma table "client" à ma table "prospect", voici la syntaxe :
INSERT INTO prospect(nb_credit) SELECT nb_credit FROM client

#122

Comment demander à ZIP de ne pas me raconter ce qu'il fait en CLI?

Lors d'une compression en ligne de commande, ZIP nous raconte tout ce qu'il fait ... Pour l'empecher de trop raconter sa vie, n'oubliez pas d'ajouter le paramétre q (quiet) comme dans cet exemple :
zip -r -q /home/backups/backup.zip /var/www

#121

Comment changer l'ordre des champs dans une table MySQL?

Si vous vous etes trompé sur l'ordenancement lors de la création des champs dans une table de votre BDD, il est tout à fait possible de ratraper le coup par la suite.
Voici 2 exemples, le premier déplace un champ après un autre; le deuxième déplace le champ en début de table.
ALTER TABLE MA_TABLE MODIFY COLUMN MA_COLONNE TYPE_DE_MA_COLONNE AFTER AUTRE_COLONNE
ALTER TABLE MA_TABLE MODIFY COLUMN MA_COLONNE TYPE_DE_MA_COLONNE FIRST
Les dernières versions de PHPMyAdmin permettent de faire cette modification avec leur interface.

#120

Comment trouver les logos de marques en vectoriel?

Je vous propose aujourd'hui de découvrir le site http://www.logopub.net. Ce site regroupe une multitude de logo de société. Super pratique!

#119

Comment connaitre la version de MySQL de votre serveur?

Vous l'aurez deviné ...
mysql -V

#118

Comment afficher une date en français sous forme de texte avec PHP?

Vous utiliser sans doute la fonction date() de PHP, pour afficher une date selon le format que vous précisez en paramétre. Mais il également possible d'afficher une date du genre "5 mai 1949" avec PHP. Pour ceci, il faut déjà paramétrer le timezone en français :
setlocale(LC_TIME, 'fr_FR.utf8', 'fra');
puis utilisez ce genre de ligne (pour plus de détails, allez voir la documentation de la fonction sur PHP.net) :
echo strftime("%e %B %Y");

#117

Comment connaitre la(les) clé(s) primaire(s) d'une table MySQL?

Voici un exemple de requête pour la table "facture" :
SELECT c.COLUMN_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk, INFORMATION_SCHEMA.KEY_COLUMN_USAGE c WHERE pk.TABLE_NAME = 'facture' AND CONSTRAINT_TYPE = 'PRIMARY KEY' AND c.TABLE_NAME = pk.TABLE_NAME AND c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME

#116

Comment connaitre le poids maximum des fichiers que vous pouvez uploader?

En PHP il existe 2 paramètres essentiels pour répondre à cette question :
- 'post_max_size' représente le poids max global des fichiers envoyés par un formulaire
- 'upload_max_filesize' représente le poids max par fichier
Pour les interroger, vous pouvez faire, respectivement, ini_get('post_max_size') et ini_get('upload_max_filesize') et utiliser "ini_set()" pour les modifier.

#115

Comment savoir où se trouve le fichier PHP error_log de mon serveur?

Ajouter l'appel à la fonction "phpinfo()" dans une de vos pages PHP, afficher cette page dans un navigateur et cherchez le terme "error_log".

#114

Comment transformer votre site Web en application mobile?

Un outil en ligne de commande semble pouvoir transformer votre site Web en application mobile. Je n'ai pas testé, mais il semble sympa. Cet outil est ... nativefier.

#113

Comment connaitre la version de PHP de votre serveur?

Tout comme pour Apache :
php -v

#112

Comment savoir si mon site possède des pages 404?

Xenu, un petit logiciel Windows, permet de scruter tous les liens d'un site et prévenir l'utilisateur des liens cassés. Très pratique !

#111

Comment récupérer avec PHP, l'ID de votre dernière insertion en BDD?

Une fonction est là pour ça, suite à votre requête en insert, lancez la fonction "mysql_insert_id()" qui vous retournera l'ID de la dernière insertion.

#110

Comment connaitre le dossier où nous sommes?

En ligne de commande Linux, utilisez "pwd". En PHP, appelez la fonction "getcwd()"

#109

Comment ajouter une clé étrangère entre 2 champs de votre BDD?

Pour avoir une meilleure cohérence des données dans votre BDD, il est conseillé de lier certains champs stratégiques avec des clés étrangères. Voici comment ajouter cette liaison entre le champ "client" de la table "Commande" et le champ "numero" de la table "Client":
ALTER TABLE Commande ADD CONSTRAINT fk_client_numero FOREIGN KEY (client) REFERENCES Client(numero);

#108

Comment faire la différence entre la taille réelle et sur disque?

Un disque dur est divisé en cluster d'une certaine taille (décidé au moment du formatage), par exemple 4Ko. Prenons l'exemple d'un fichier XLS de 12.4Ko en taille réelle, il occupera sur le disque 16Ko. Il est donc préférable, si vous avez une multitude de petits fichiers, de les réunir dans un ZIP pour ne pas perdre d'espace disque.

#107

Comment remonter le temps avec Google Earth?

Tout le monde connait Google Earth, ce service de Google qui vous permet de visualiser chaque m² de la terre. Mais il également possible de retrouver des images du passé. Pour cela, cliquez sur le bouton "Afficher des images anciennes".

#106

Comment désactiver l'historique des vidéos regardées dans VLC?

Par défaut, VLC garde en mémoire les adresses des vidéos que vous visionnez. Il est possible que certain ai des choses à ce reprocher ... Pour cela, il est possible de désactiver cette historisation. Rendez-vous dans "Outils" > "Préférences", puis cliquez sur l’icône "Interface" si elle n’est pas déjà sélectionnée. Dans la section "Vie privée/réseau", désactivez l’option "Enregistrer les derniers médias joués dans le menu", enregistrez, et voilà !

#105

Comment faire des economies avec vos cartouches d'encre?

Une imprimante coûte cher à l'achat, mais encore plus à l'utilisation. Heureusement il existe des astuces... Vous pouvez par exemple acheter des cartouches génériques. Évitez tout de même des cartouches trop bas de gamme qui peuvent boucher les buses de votre imprimante. Il est également possible d'acheter des cartouches rechargeables avec des bouteilles d'encre. Des services de rachat de cartouche vide existent également tel que rachat.easycartouche.fr, cartouche-vide.fr, eco-collecte.fr ou cartouche service.

#104

Comment tronquer un texte sans couper de mot en une ligne de PHP?

Il est souvent utile de couper un long texte pour en donner que le début, mais sans pour autant couper sauvagement un mot. Dans l'exemple ci-dessous, $texte est le texte à tronquer et $nbchar est le nombre de caractères que nous souhaitons garder :
echo (strlen($texte)>$nbchar)?substr(substr($texte, 0, $nbchar), 0, strrpos(substr($texte, 0, $nbchar), " "))." (...)":$texte;
Pour les textes sans espaces (comme les URLs par exemple), vous pouvez utiliser le code suivant :
echo (strlen($texte)>$nbchar)?substr($texte, 0, $nbchar)." (...)":$texte;

#103

Comment connaitre la version d'apache de votre serveur?

Très simple :
apache2 -v

#102

Comment faire passer une image directement dans le contenu HTML?

Si vous souhaitez afficher une image dans une page Web ou dans un email, deux solutions s'offrent à vous. Soit vous mettez l'url de l'image dans l'attribut SRC de votre balise image. La deuxième solution consiste à mettre directement le contenu de l'image dans le SRC comme le montre l'exemple suivant :
echo '<img src="data:image/png;base64,'.base64_encode(file_get_contents('CHEMIN_DE_L_IMAGE`')).'" />';

#101

Comment transformer une datetime du format Français au format US en PHP?

Voici en une ligne comment passer une datetime du format Français au format US :
$dateUS = date('Y-m-d H:i:s', mktime(substr($dateFR,11,2), substr($dateFR,14,2), substr($dateFR,17,2), substr($dateFR,3,2), substr($dateFR,0,2), substr($dateFR,6,4)));

#100

Comment commenter une ligne dans un fichier .htaccess?

C'est tout bête, mais il faut le savoir, pour commenter une ligne dans un fichier .htaccess, il suffit de mettre un # en début de ligne.

#99

Comment connaitre l'heure de son serveur?

En ligne de commande, "date" permet de connaitre l'heure de votre serveur.
En PHP, vous pouvez simplement faire un "echo date('Y-m-d G:i:s');".
Et enfin, avec MySQL, "SELECT NOW();".

#98

Comment récupérer un élément aléatoirement dans une base de données?

Dans votre requête SELECT il suffit d'ajouter un "ORDER BY RAND()" pour trier les lignes aléatoirement et un "LIMIT X" pour récupérer X lignes.

#97

Comment changer la capacité de la corbeille sous Windows?

Ultra simple, clic droit sur la corbeille, puis choisissez "Propriété". Vous pouvez alors paramétrer la quantité de données que peut contenir la corbeille.

#96

Comment choisir entre RAID 0, RAID 1 et JBOD pour un NAS 2 disques?

Lors de l'installation de votre NAS 2 disques, vous allez devoir choisir entre RAID 0, RAID 1 et JBOD. Mais comment choisir?
- RAID 0 : Les données seront sauvegardées en partie sur chaque disque. Les performances en lecture sont au maximum, mais si un disque crame, vous perdez tout.
- RAID 1 : Les données seront écrites sur les 2 disques, vous perdez donc la moitié de l'espace total mais si un disque dur crame, vous ne perdez pas vos données.
- JBOD : Les données seront écrites sur un disque uniquement. La vitesse de lecture est la vitesse classique d'un disque dur. Mais si un disque dur crame, vous ne perdez QUE les données de ce disque.

#95

Comment diviser le poids d'une vidéo par deux en gardant la qualité?

A l'heure où j'écris ce tuto, le codec x264 est très répendu et son succèsseur, le x265 pointe le bout de son nez. Il permet en effet de générer un fichier 2 fois plus légé qu'avec du x264. Bien sur, il faut une machine plus puissante pour pouvoir lire une vidéo encoder avec ce codec.

#94

Comment surveiller plusieurs fichiers de log simultanement?

Comme je vous l'ai expliqué lors d'un précédent tuto, il est possible de surveiller le remplissage d'un fichier de log avec la commande tail sur Linux. Il est egalement possible de suivre le remplissage de log1.log, log2.log et log3.log avec la commande suivante :
tail -f log1.log log2.log log3.log

#93

Comment ouvrir un nouvel onglet en Javascript?

Une toute petite ligne, si vous souhaitez ouvrir "http://google.fr" dans un nouvel onglet en JS :
window.open('http://www.google.fr', '_blank');

#92

Comment lister les paquets installés sur mon installation de Debian?

Et bien, il suffit de lancer cette commande :
dpkg --list

#91

Comment faire une ombre autour d'une div en CSS?

En CSS3, il est tout à fait possible de faire des ombres directement en CSS. Pour cela, il suffit d'ajouter une propriété "box-shadow" à votre element. Voici un exemple pour un décalage de 1px sur la droite et en bas, avec un dégradé de 12 pixels avec la couleur #555555 :
box-shadow: 1px 1px 12px #555;

#90

Comment retrouver le mot de passe perdu d'un fichier RAR?

RAR Password Cracker, Advanced ZIP Password Recovery ou encore RAR Password Unlocker vous permettent de retrouver les mots de passe RAR perdus!

#89

Comment cacher un fichier ZIP/RAR/... dans une image?

Vous êtes parano? Vous avez des choses à cacher? Vous pouvez encapsuler une archive dans une image grâce à cette ligne de commande. Pour relire le contenu, remplacez l'extension JPG par celle d'origine.
copy /b image.jpg + archive_a_cacher.rar image_avec_archive.jpg

#88

Comment retrouver une ancienne version d'un site Web?

Le site Archive.org vous propose de voyager dans le temps et de retrouver les versions antérieures d'une multitude de sites Web. Nostalgie ...

#87

Comment gagner un peu de RAM?

Votre PC est un peu poussif? Essayez MemReduct, sans installation, il permet de réduire la RAM consommée par Windows.

#86

Comment se créer une adresse email jetable très rapidement?

Certains sites vous demande de vous inscrire pour accéder au contenu? Vous ne voulez pas leur donner votre véritable email? Alors ces services sont faits pour vous. YopMAIL vous permet de créer une adresse email, sans mot de passe ni rien. Bien sûr, le contenu de cette boite email sera accessible par tout le monde, il suffit de connaitre l'adresse.

#85

Comment modifier le mot de passe root MySQL sans le connaitre?

Cette astuce m'a déjà servi une fois dans ma vie! Le principe est de stopper MySQL et le relancer sans demande de mot de passe. Voici les lignes de commande:
/etc/init.d/mysql stop
mysqld --skip-grant-tables --skip-networking &
mysql -u root
mysql> use mysql;
mysql> update user set password=PASSWORD("MON_NOUVEAU_MOT_DE_PASSE") where user="root";
mysql> flush privileges;
mysql> quit
/etc/init.d/mysql restart

#84

Comment extraire le texte contenu dans une image?

Pour cela, il faut un système de reconnaissance de caractère (OCR), la plupart sont payant. Mais FreeOCR vous propose ce service gratuitement. A essayer ...

#83

Comment mesurer les performances de ma connexion internet?

Plusieurs sites vous proposent ce service, mais voici le plus connu : SpeedTest

#82

Comment lister les fichiers modifiés il y à moins de 30 minutes?

Il peut être pratique sur Linux d'avoir la liste des fichiers modifiés il y a moins de X minutes, voici un exemple pour 30 minutes :
find / -not -path '/sys*' -not -path '/dev*' -not -path '/proc*' -mmin -30

#81

Comment récupérer les adresses emails présentes sur une page Web?

Pour une raison X ou Y, vous pouvez avoir besoin de récupérer la liste des adresses emails présentes sur une page Web, il est possible de le faire simplement avec wget
wget -qO- http://www.monsite.com | grep -oe ‘\w*.\w*@\w*.\w*.\w\+’ | sort -u

#80

Comment enlever le mot de passe que vous avez mis sur votre BIOS?

Vous le savez sans doute, il est possible de mettre un mot de passe au niveau du BIOS qui vous sera demandé avant même le démarrage de votre OS (Windows, Linux, ...), si vous l'avez oublié, il est impossible pour vous de démarrer... La solution la plus simple est de supprimer toutes sources d'alimenter puis démonter le PC et retirer la pile du BIOS (pile bouton sur la carte mère) au moins 1 minute. Le mot de passe sera alors supprimé!

#79

Comment tenter la répareration d'une carte graphique HS?

Foutu pour foutu, il est possible de lui redonner vie en la passant 3 minutes par face au four! Oui, oui, n'oubliez pas de préchauffez votre four à 160° avant d'effectuer cette action, et ne la laisser pas plus longtemps.

#78

Comment éviter d'envoyer un mail non terminé?

Ca m'arrivait tout le temps, j'écris mon mail et suite à un raccourci clavier, le mail part... Une astuce super bête, mettez les destinataires uniquement une fois le mail rédigé :-)

#77

Comment contrôler les champs d'un formulaire avant la soumission?

HTML5 permet de contrôler (légèrement) les formulaires avant la soumission. Pour ce faire, il faut ajouter un attribut "required" à tous les champs obligatoires, et surtout NE PAS ajouter l'attribut "novalidate" à la balise form. Vous pouvez également ajouter des patterns de contrôle. Je vous conseille d'aller sur AlsaCreations pour plus de détails.

#76

Comment copier/coller le style dans Word, Excel, PowerPoint...?

Tout comme on copie/colle un contenu avec CTRL+C et CRTL+V, on copie/colle un style avec CTRL+SHIFT+C et CTRL+SHIFT+V.

#75

Comment centrer verticalement du contenu dans une div?

Les intégrateurs le savent mieux que n'importe qui, centrer du contenu dans une div c'est ... compliqué ... Mais pas en CSS3! Une nouvelle valeur de display a fait son apparition : Flex, je vous laisse regarder toutes les possibilités.

#74

Comment affichez une aide à la saisie dans les input en HTML5?

En HTML5, il existe un nouvel attribut aux input : placeholder. Voici un exemple ci-dessous :
<input type="text" placeholder="Entrez un pseudo" />

#73

Comment donner à votre vieille lampe de poche une autonomie de 500h?

Vous avez une vieille lampe de poche? Vous savez, celle avec une grosse pile plate de 4,5V? Vous pouvez augmenter grandement son autonomie en remplaçant l'ampoule d'origine par une LED en série avec une résistance de 68 Ohms. vous voilà avec 20 jours d'autonomie!

#72

Comment ne plus perdre vos vis quand vous démontez un appareil?

Mettez sur votre plan de travail un gros aimant, posez simplement vos vis dessus :-).

#71

Comment moins abimer ses yeux devant un écran d'ordinateur?

Les ordinateurs un peu haut de gamme proposent déjà cette option de régularisation de la luminosité en fonction de celle ambiante.
Pour les autres, il y a ce logiciel : f.lux.

#70

Comment faire fonctionner un appareil avec une pile plus petite?

Vous n'avez plus de piles? Ou une, mais plus petite? comblez simplement l'espace vide avec une boule de papier aluminium!

#69

Comment lire des fichiers Word, Excel et PowerPoint gratuitement?

Vous pouvez utiliser des suites bureautiques gratuites comme LibreOffice ou OpenOffice, mais le résultat ne sera jamais comme un vrai logiciel Microsoft. Heureusement pour nous, ils nous offrent gratuitement respectivement WordViewer, ExcelViewer et PowerPointViewer, qui sont là uniquement pour lire, vous ne pourrez pas modifier. Mais ça peut retirer une aiguille du pied.

#68

Comment linker un site sans lui faire bénificier de votre page rank?

Si votre site est très connu, vous avez un bon pagerank (note que donne Google à chaque site). Or, quand vous mettez un lien vers un site sur le votre, vous lui permettez d'augmenter son pagerank (si le votre est meilleur bien sûr). Pour éviter cela mettez un lien avec un nofollow comme dans cet exemple.
<a href="http://www.google.com" rel="nofollow">Lien vers Google</a>

#67

Comment connaitre ma configuration, options de configuration de PHP?

Une fonction PHP super pratique à appeler : "phpinfo()". Elle affiche sur l'écran du navigateur un tableau avec toutes les infos de compilation, extensions installées (ou non), l'environnement, serveur, chemins ...

#66

Comment faire si mon PC refuse de booter sur mon CD-ROM?

Sans doute votre BIOS est paramétré pour booter sur un autre lecteur en priorité lors du démarrage. Redémarrez votre PC et entrez dans le BIOS (souvent F8 au démarrage) et regardez l'ordre de boot.

#65

Comment détecter et réanimer des pixels morts sur votre écran?

UDPixel est un petit logiciel simple et gratuit vous permettant de détecter et tente la réanimation des pixels morts d'un écran. A essayer obligatoirement si vous êtes dans le besoin.

#64

Comment savoir d'où viennent vos visiteurs?

Sauf s'il a entré l'adresse de votre site dans son navigateur, vos visiteurs viennent forcement de quelque pars. Pour connaitre le gentil partenaire qui vous a apporté cette visite, il suffit d'interroger la variable $_SERVER['HTTP_REFERER']

#63

Comment tester vos expressions régulières?

Grâce à ce site RegExr, vous pouvez tester en direct live vos expressions régulières sur un texte que vous choisissez.

#62

Comment fonctionnent les codes couleur en hexa?

Les code hexa des couleurs sont de la forme suivante #RRVVBB (Rouge Vert Bleu). Donc, si vous choisissez #FF0000, vous allez avoir du rouge pur, #00FF00 du vert pure, etc ... Les valeurs vont de 0 à F (et oui c'est de l'hexadécimal)

#61

Comment activer le rewrite_mod sur votre serveur?

En effet, ce module est indispensable si vous souhaitez faire fonctionner l'url rewriting. Pour l'installer, il suffit de 2 lignes de commande.
a2enmod rewrite
service apache2 restart
N'oubliez pas d'ajouter ce bloc dans la conf apache du site concerné :
<Directory /chemin/de/mon/site>
	Options Indexes FollowSymLinks
	AllowOverride All
	Require all granted
</Directory>

#60

Comment deviser une vis quand vous n\avez pas le tournevis?

Attention, ceci ne fonctionne bien sûr pas avec toutes les têtes de vis et ne remplacera jamais un vrai tournevis. Dans "ma jeunesse" j'ai démonté ma GameCube avec un stylo bic et un briquet. Il suffit de faire fondre le bout du stylo et appuyer fort sur la tête de vis. Ainsi le stylo prend la bonne forme et vous permet de dévisser la vis !

#59

Comment forcer un texte en majuscule en CSS?

La propriété CSS text-transformation peux prendre pour valeur uppercase, ce qui aura pour effet de passer le texte en majuscule.
text-transform: uppercase;

#58

Comment voir vos fichiers de log se remplir en temps réel?

Sous Windows, vous avez l'excellent logiciel gratuit Baretail (que vous pouvez retrouver sur mon site RouladeTools). Sous Linux, vous pouvez voir le remplissage du fichier "error.log" de la façon suivante :
tail -f error.log
Vous pouvez superviser plusieurs fichiers de log en simultanné, il suffit de les mettre les un derrière les autres comme dans cet exemple :
tail -f error1.log error2.log error3.log

#57

Comment tourner une image avec l'outil "convert" d'imageMagic?

imageMagic est un outil gratuit qui permet des traitements TRÈS poussés sur les images. Voici un exemple simple pour faire une rotation de 45° d'une image.
convert.exe input.jpg -rotate 45 output.jpg

#56

Comment faire des formulaires de sondage facilement?

"Google Drive - Forms", "LimeSurvey" ou encore "SurveyMonkey" sont des outils de création et suivi (statistiques) de formulaire très simple à mettre en place.

#55

Comment réduire le poids d'un fichier PDF?

Il existe un service en ligne, très simple et puissant, permettant la compression de fichier PDF : SmallPDF. Au passage ce site propose plusieurs autres services liés aux PDF. Je recommande !

#54

Comment trouver une alternative à un logiciel/service?

Le site AlternativeTo vous permet de trouver une alternative à n'importe quel logiciel/service. Vous avez même des recommandations utilisateurs!

#53

Comment partager des documents sur plusieurs machines?

Dropbox ou un de ses concurrents vous permet d'avoir un dossier partagé entre plusieurs machines (PC, téléphone, ...). Vous pouvez également installer votre propre version de Owncloud sur votre serveur.

#52

Comment optimiser la vitesse de rendu d'une page internet?

Bien sûr, il existe une multitude de pistes, optimiser les images, faire des sprites pour les pictos, minifier et réunir les CSS, idem pour les JS. Mais pour le rendu HTML pur, le traitement PHP, vous pouvez utiliser XDebug.

#51

Comment compresser une image sans aucune perte de qualité?

Pour le moment, les codecs les plus connus de compression d'image sans AUCUNE perte de qualité (compression lossless) sont le PNG24 et JPEG2000.

#50

Comment faire un zoom sur une page Web en CSS?

Vous pouvez utiliser l'attribut CSS "transform: scale(1);". Faites varier la valeur de scale et regardez le résultat. Vous pouvez coupler ça avec "transform-origin: 50% 0;" pour éviter les surprises.

#49

Comment demander à votre navigateur de rafraichir son cache JS et CSS?

Faites un CTRL+SHIFT+R sur votre page HTML, le JS et CSS sera retéléchargé par votre navigateur.

#48

Comment ne pas vous faire voler les images de votre site web?

Grace à votre fichier .htaccess vous pouvez faire passer tous les appels de .jpg, .png (etc) vers un script PHP qui contrôle le referer avant de rendre l'image. S'il n'est pas votre site, quelqu'un à linké votre image sur son site.

#47

Comment automatiser un traitement sur un lot d'image?

Photoshop permet de faire des scripts de traitement. C'est très simple. Vous créer un nouveau script, il se met seul en position enregistrement, faites vos traitements, stoppé l'enregistrement quand vous avez terminé. Et voilà, il reste plus qu'à appliquer ce script sur votre dossier contenant vos images à traiter.

#46

Comment connaitre les sites qui utilisent la même image que vous?

Encore une fois, vous pouvez utiliser GoogleImage en drag&drop votre image. Mais vous pouvez aussi utiliser le service TinEye.

#45

Comment atténuer le bruit vidéo avec ffmpeg?

Lors d'une recompression vidéo avec ffmpeg, n'hésitez pas ajouter le filtre hqdn3d afin d'avoir un meilleur rendu. Voici une ligne de commande utilisant hqdn3d, mais vous trouverez facilement de la documentation sur internet pour le paramétrer.
ffmpeg.exe -i "input.MTS" -vf hqdn3d=4:3:6:4.5 -y -loglevel info -profile:v high -deinterlace -preset fast -vcodec libx264 -crf 20 -async 1 -acodec libmp3lame -q:a 5 "output.avi"

#44

Comment fait le père Noel pour visiter toutes les maisons en une nuit?

Alors là ... AUCUNE IDÉE ... :-) Joyeux Noel !!!

#43

Comment revenir à une ancienne version d'une application Android?

Actuellement, la seule façon de rétablir une ancienne version d'une application est de télécharger le APK de la version que vous souhaitez sur apkmirror.com (ou un concurrent). Déposer le sur votre téléphone, paramétrer celui-ci en mode développeur et lancez l'APK.

#42

Comment récupérer des fichiers supprimés par erreur?

Recuva est un logiciel gratuit et simple pour tenter la récupération des fichiers supprimés par erreur, je vous le conseille!

#41

Comment bloquer les pubs sur les sites que vous visitez?

Afin de bloquer les publicités et surtout les pages qui s'ouvrent en popup, je vous propose d'installer l'extension "Adblock" à votre navigateur.

#40

Comment bien choisir sa carte SD?

Mis à part, la capacité et la taille (SD, Mini SD ou Micro SD) il faut choisir la vitesse d'écriture en fonction de son utilisation. Il est recommandé de prendre en règle générale la carte SD la plus rapide, sachez cependant que la classe de la carte SD désigne ses performances MINIMUM. Une classe 2 à une performance MINIMALE de 2Mo/s, pour une classe 10 : 10Mo/s, etc.

#39

Comment transformer mon array PHP pour faire un appel ChartRoulade?

Si vous utilisez l'EXCELLENT outil ChartRoulade :-) afin de générer vos graphiques à la volée, vous pouvez transformer facilement votre array PHP (nommé $data dans mon exemple) avec le code suivant.
http_build_query(array('d' => $data))

#38

Comment installer une nouvelle police sur mon PC Windows

Rien de plus simple, télécharger la police (souvent au format ttf), clic droit dessus, "installer". Et hop c'est installé !

#37

Comment naviguer sur internet sans laisser de traces sur l'ordinateur?

Si vous utilisez le navigateur Firefox, ouvrez une nouvelle fenêtre de navigation via le menu "Fichier" ou appuyez sur CTRL+MAJ+P.

#36

Comment sortir un CD ou DVD bloqué dans un lecteur?

Avant de sortir votre boite de tournevis, regardez s'il n'y a pas un petit trou en façade. En effet, ce petit trou est fait pour y insérer une tige métallique afin de faire tourner un engrenage qui fera sortir le tiroir de votre lecteur.

#35

Comment trouver une meilleure résolution de mon image?

Google possède un outil de recherche inversée des images. Rendez-vous dans GoogleImage et drag&drop votre image, il vous indiquera alors où la trouver avec une meilleure résolution.

#34

Comment afficher une barre de progression en CLI avec PHP?

Un super outil a été développé par guiguiboy : PHP-CLI-Progress-Bar, il est disponible ici sur un dépôt GIT.

#33

Comment fabriquer des boites en carton pour mes jeux Nintendo?

Vous avez perdu vos boite carton de jeux GameBoy, SuperNintendo ou encore Nintendo64? Pas de panique, ce site vous propose des scans pour les imprimer et les refabriquer : NintAndBox.

#32

Comment convertir toutes les URL d'une page en liens cliquables?

En PHP, si ont considère que le contenu HTML de la page est dans $text, alors, appelez la ligne suivante
$text = preg_replace('@([^>"])(https?://[a-z0-9\./+,%#_-]+)@i', '$1<a href="$2">$2</a>', $text);

#31

Comment faire un backup d'une portion de table d'une base de données?

Il faut ajouter des arguments lors de l'appel de la commande mysqldump. Voici un exemple pour le backup des id_client>1000 de la table client de la base de données "wordpress" située sur le serveur lui-même pour l'utilisateur "root" avec le mot de passe "superman".
mysqldump -h localhost -u root --tables wordpress client --where="id_client > 1000" -psuperman > backup.sql

#30

Comment se rappeler de la valeur des couleurs de bague des résistances?

Un truc mnémotechnique pour se rappeler de l'ordre des couleurs du noir (0) au blanc (9) est de retenir la phrase: Ne tMangez Rien Ou Je Vous Brûle Votre Grande Barbe (vert est avant violet, comme dans un dictionnaire)

#29

Comment avoir des stats de visite sur mon site?

Il existe deux solutions connues, Xiti qui est une solution payante, et l'éternel GoogleAnalitys qui est gratuit.

#28

Comment faire une belle soudure?

Pour faire une belle soudure il faut respecter cet ordre à la lettre :
1. Poser le fer à souder sur la pastille et la pâte du composant
2. Mettre de l'étain sur la piste, attendre qu'il fonde
3. Retirer le fil d'étain
4. Attendre 2 secondes, puis retirer le fer à souder
Surtour NE JAMAIS souffler sur l'étain pour qu'il refroidisse plus vite, il va devenir mate et sera bien moins résistant !

#27

Comment avoir mon serveur Debian toujours à l'heure?

Installez ntp avec la ligne de commande suivante
apt-get install ntp

#26

Comment faire un lien symbolique avec Windows?

Si vous souhaitez par exemple faire un lien du dossier C:\Videos vers C:\Users\mon_nom\Dropbox\Videos (très pratique pour sauvegarder dans votre Dropbox des choses qui ne doivent pas être déplacées)
mklink /j C:\Users\mon_nom\Dropbox\Videos C:\Videos

#25

Comment s'avoir si une télécommande fonctionne toujours?

A l'oeil nu, vous ne pouvez pas voir les infrarouges émis par la télécommande, mais filmez avec votre téléphone la LED au bout de celle-ci et vous verrez la lumière infrarouge!

#24

Comment avoir des pictos gratuits pour mes sites Web?

Je vous conseil d'aller sur FindIcons, IconArchive ou encore IconFinder. Toutes les icônes sont gratuites et très réussies.

#23

Comment ouvrir facilement le gestionnaire des tâches de Windows?

À partir de Windows XP, il suffit d'appuyer simultanément sur CTRL, SHIFT et ECHAP. Pratique !

#22

Comment se faire une console de rétrogamming à moindre coût?

Achetez un Raspberry Pi 2, ou mieux, un Odroid C1+ et installez Happi. C'est une distribution gratuite contenant les émulateurs optimisés pour les consoles jusqu'à la Nintendo64.

#21

Comment savoir si votre visiteur a été sur le site d'un concurrent?

Ajouter un lien caché, sans style CSS vers votre concurrent (en nofollow bien sûr ...) Et vérifier en JS la couleur du lien. S'il est violet, le visiteur a été sur ce site.

#20

Comment afficher une image en niveau de gris (noir et blanc) en CSS?

Ajouter le code CSS suivant à votre image
-webkit-filter: grayscale(100%);
-moz-filter: grayscale(100%);
-o-filter: grayscale(100%);
-ms-filter: grayscale(100%);
filter: grayscale(100%);

#19

Comment décoder du MD5 ou SHA1?

Sans un immeeeeense dictionnaire de transcodage genre md5Decrypt, ... c'est impossible :-)

#18

Comment, sur l'autoroute, transcrire les kilomètres en temps?

Si vous roulez aux alentours de 120km/h, il suffit de diviser le nombre de kilomètres par 2. Par exemple, si vous êtes à 50kms de Rouen, vous arriverez dans 25 minutes.

#17

Comment remplacer la première occurrence d'une chaine dans une autre?

En PHP, considérons $text votre grande chaine, vous souhaitez remplacer UNIQUEMENT le premier "le" par "la", il faut donc utiliser la ligne suivante
$text = preg_replace('~le~', 'la', $text, 1);

#16

Comment savoir à qui appartient un nom de domaine?

Gandi propose un service pour ça, rendez-vous à cette adresse et entrez le nom de domaine. Vous allez même avoir d'autres infos comme sa durée de location par exemple.

#15

Comment stocker des fichiers de plus de 4Go sur ma clé USB?

Elle doit être formaté en NTFS, en effet, le FAT32 ne supporte que les fichiers jusqu'à 4Go. Attention, lors du formatage, vous allez perdre toutes vos données.

#14

Comment réunir les fichiers vidéo de mon caméscope numérique?

Si votre caméscope génère des fichiers .mts, la ligne de commande à lancer pour réunir les fichiers est ...
copy /b *.mts film.mts

#13

Comment se faire un MediaCenter à moindre coût?

Avec un RaspberryPi et Kodi, vous trouverez de multiples tutos détaillés sur google en indiquant ces deux termes.

#12

Comment faire pour acceder à mon ordinateur à distance?

En lançant (pas besoin d'installation) sur le PC source et destinationle TeamViewer.

#11

Comment détourer une image facilement?

Bien sûr, vous pouvez utiliser Photoshop, mais pouvez également utiliser ce service en ligne : ClippingMagic.

#10

Comment connaitre mon adresse IP?

Le plus simple est de ce rendre sur MonIP.org.

#9

Comment flouter une image en CSS?

Ajouter le code CSS suivant à votre image :
-webkit-filter: blur(5px);
-moz-filter: blur(5px);
-o-filter: blur(5px);
-ms-filter: blur(5px);
filter: blur(5px);

#8

Comment avoir un moniteur de ressource sous Linux en ligne de commande?

Installez et lancez htop bien sûr !
aptitude install htop

#7

Comment créer un PDF à partir d'un fichier Word (entre autres)?

Installez une imprimante virtuelle type PDFCreator et demandez l'impression de votre document sur celle-ci.

#6

Comment aspirer un site internet?

Voici un exemple pour aspirer Wikipedia (je vous déconseille de le faire ... ca risque d'étre long ...) en CLI Linux.
wget -r -np https://fr.wikipedia.org

#5

Comment avoir des images haute qualité pour illustrer mes sites Web?

Vous pouvez utiliser un service payant comme Fotolia, mais également ces super sites qui proposent de très belles photos gratuites Pixabay et Pexels.

#4

Comment faire pour importer une base de données?

Voici un exemple pour importer le dump de la base de données "wordpress" située sur le serveur lui-même pour l'utilisateur "root" avec le mot de passe "superman".
mysql -h localhost -u root -psuperman wordpress < backup.sql

#3

Comment trouver des polices gratuites?

Dafont vous propose une multitude de police gratuites à tester et télécharger.

#2

Comment faire un backup d'une base de données?

Voici un exemple pour le backup de la base de données "wordpress" située sur le serveur lui-même pour l'utilisateur "root" avec le mot de passe "superman".
mysqldump -h localhost -u root -psuperman wordpress > backup.sql

#1

Comment gérer les programmes qui s’ouvrent au démarrage de mon PC?

Microsoft à prévu un utilitaire dans Windows pour ça : msconfig, n'hésitez pas à l'utiliser dès que votre PC devient lent.

Mes autres projets / sites