Astuce : créer un GIF à partir d’une vidéo

Petit billet non-système pour une fois puisque nous allons voir aujourd’hui comment créer un GIF animé à partir d’une vidéo ou d’un screencast (lorsque vous enregistrez votre écran). L’objectif ici est de pouvoir agrémenter un tutoriel par exemple de GIFs animés, beaucoup plus léger qu’un vidéo et pourtant autant explicites… Exemple ici avec une démonstration sur les transitions CSS :

Transitions_op

Toutes les explications qui suivent ont été réalisées sous Linux Mint (donc les utilisateurs d’Ubuntu n’ont pas de soucis à se faire).

(suite…)

Cet article vous a plu ? Partagez-le sur les réseaux sociaux !

Twitter Facebook Google Plus email

#23 La vidéo de la semaine : comment le marketing nous fait manger de la viande…

Une vidéo qui nous file une bonne claque… ‘vais pt’être songer à devenir végétarien moi…

Note : si le sujet de la maltraitance des animaux vous intéresse, je vous conseille d’aller faire un tour sur cet article du blog de Maxime Auvy, Open-Freax. Il continuera sans doute à vous faire réfléchir sur ce que notre espèce inflige quotidiennement au monde animal. Moi en tout cas j’y pense…

Cet article vous a plu ? Partagez-le sur les réseaux sociaux !

Twitter Facebook Google Plus email

Installez Jappix, votre réseau social auto-hébergé à base de XMPP

Logo Jappix

Je poursuis mes aventures en matière de XMPP avec aujourd’hui l’installation d’un client web XMPP : Jappix.

Tout d’abord il faut savoir que Jappix est bien plus qu’un simple client XMPP puisqu’il propose des fonctions avancées qui font de lui un outil parfait pour mettre en place un réseau social d’entreprise robuste par exemple. C’est le cas chez mon employeur actuel, qui a récemment fait le choix de délaisser Skype pour XMPP en auto-hébergé avec succès : messagerie instantanée, appels audio et vidéo sont maintenant gérés par ce biais !

Mais comme tous le monde ne peut pas forcément toujours accéder au serveur XMPP de l’entreprise (ou même vous à votre propre serveur), écoutant sur le port 5222, il peut être utile de mettre à disposition une interface web, sur les ports classiques HTTP(S). C’est ce que nous allons mettre en place grâce à Jappix !

(suite…)

Cet article vous a plu ? Partagez-le sur les réseaux sociaux !

Twitter Facebook Google Plus email

Un premier client XMPP : Gajim

Interface principale de Gajim

Maintenant que notre serveur XMPP est en place et qu’il est protégé un minimum, il serait temps de commencer à l’utiliser ! Et pour cela, il nous faut un client. XMPP je vous le rappelle regroupe un ensemble de standards ouverts, c’est pourquoi de nombreux clients et de nombreuses implémentations existent. Par exemple si vous utilisez Thunderbird pour lire vos emails, sachez que celui-ci embarque un client XMPP nativement, que vous pouvez d’ailleurs utiliser pour le chat Facebook. Et oui, Facebook utilise aussi une version maison de XMPP pour son chat. Tout comme Google pour son Hangout. Google qui contribue fortement à Jabber à travers la librairie Jingle qui permet aujourd’hui d’établir des communication audio / vidéo via XMPP. Il devrait permettre à terme de partager tout contenu multimédia.

Mais je m’écarte.

Après avoir testé un panel de clients pour communiquer avec mon amie en Argentine, mon choix s’est finalement porté sur Gajim. Gajim ne fait que du XMPP, mais il le fait bien, contrairement à beaucoup d’autres clients implémentant XMPP parmi d’autres protocoles pas toujours correctement.

C’est un client écrit en Python, dont l’interface graphique s’appuie sur GTK+, et qui fonctionne donc sur toutes les plateformes, même s’il propose plus de fonctionnalités sous Linux. Parmi les plus intéressantes on trouve :

  • Support de TLS, SSL, GPG, et chiffrage point à point
  • Support de l’enregistrement des transports
  • Conversations audio / vidéo (en cours de finalisation sous Windows)
  • Transfert de fichiers
  • Système de plugins…

(suite…)

Cet article vous a plu ? Partagez-le sur les réseaux sociaux !

Twitter Facebook Google Plus email

Protéger Prosody / Metronome avec fail2ban

You_shall_not_pass

Nous avons récemment installé ensemble le serveur XMPP Mêtronôme, fork de Prosody, afin de goûter aux joies des services de communication auto-hébergés.

Comme la sécurité et la confidentialité des données est un point très important en matière d’auto-hébergement, je vous propose aujourd’hui de paramétrer fail2ban pour qu’il bannisse automatiquement toute adresse IP ayant un comportement suspect sur votre serveur XMPP (entendez : poutrer tous les bots cherchant à se connecter à votre serveur).

(suite…)

Cet article vous a plu ? Partagez-le sur les réseaux sociaux !

Twitter Facebook Google Plus email

Installation du serveur XMPP / Jabber Metronome

Mon amie vient de quitter la France pour passer 6 mois en Argentine, loin de moi… Inconcevable donc de ne pas mettre en place un moyen fiable, sûre et libre pour que nous puissions rester en contact

Il y a Skype ! Me direz-vous… Sauf qu’en tant qu’adepte (amoureux ?) du libre et de sa philosophie, et très méfiant de Microsoft, je n’ai absolument pas envie de partager mes appels entre ma copine et moi avec Microsoft ou la NSA. J’ai donc commencé à chercher un moyen d’établir des appels audio / vidéo à distance, en passant par un serveur ou non et j’ai découvert beaucoup mieux : XMPP.

(suite…)

Cet article vous a plu ? Partagez-le sur les réseaux sociaux !

Twitter Facebook Google Plus email

[PHP] Calculer la taille d’un dossier

Nouveau snippet aujourd’hui que j’ai été amené à utiliser dans un projet PHP personnel. Ce petit bout de code va vous permettre de calculer la taille d’un dossier, de vous l’arrondir et de vous ressortir la bonne unité entre K, M, G, P et T.

function getFolderSize($path){
	$size = 0;
	foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path)) as $file){
		$size += $file->getSize();
	}
 
	$factor = (int)(log($size, 1000));
	$units = ['B', 'K', 'M', 'G', 'T', 'P'];
	$size = sprintf("%.2f", $size / pow(1000, $factor)) . $units[$factor];
 
	return $size;
}

À noter que PHP 5.5 peut vous permettre d’éviter d’avoir à traiter un tableau pour la variable $units. La fonction devient alors :

function getFolderSize($path){
	$size = 0;
	foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path)) as $file){
		$size += $file->getSize();
	}
 
	$factor = (int)(log($size, 1000));
	$units = 'BKMGTP';
	$size = sprintf("%.2f", $size / pow(1000, $factor)) . @$units[$factor];
 
	return $size;
}

Et vous pouvez aussi ajouter un paramètre afin de préciser très facilement le nombre de chiffres après la virgule :

function getFolderSize($path, $decimals = 2){
	$size = 0;
	foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path)) as $file){
		$size += $file->getSize();
	}
 
	$factor = (int)(log($size, 1000));
	$units = 'BKMGTP';
	$size = sprintf("%.{$decimals]f", $size / pow(1000, $factor)) . @$units[$factor];
 
	return $size;
}

De rien 😉

Aide : la documentation PHP sur la fonction filesize()

Cet article vous a plu ? Partagez-le sur les réseaux sociaux !

Twitter Facebook Google Plus email

#22 La vidéo de la semaine : des paysages façonnés par le temps…

On est vendredi alors c’est parti pour la 22ème édition de la vidéo de la semaine. Aujourd’hui nous partons encore en voyage et de nouveau grâce à un timelapse qui va nous faire visiter les plus beaux sites du mondes façonnés par l’érosion et le temps.

Un travail de la nature vraiment magnifique et très bien mis en lumière par Enrique Pacheco.

La musique est de Peter Nanasi, et la vidéo réalisée avec un Sony A99.

Cet article vous a plu ? Partagez-le sur les réseaux sociaux !

Twitter Facebook Google Plus email

Tunnel SSH permanent sous Linux

L'IP publique de mon PC devient celle de mon serveur puisque tout le trafic du PC transite par le serveur.

Note : ceci est un vieux schéma…

Je travaille en ce moment en R&D et aujourd’hui dans mes recherches j’ai du mettre en place des tunnels SSH entre différentes machines CentOS. Comme je bricole pas mal, la connexion entre mes machines n’est pas forcément stable et donc mes tunnels non plus. J’ai donc cherché un moyen à peu près efficace de m’assurer que mon tunnel existe toujours et comme j’ai trouvé, je partage !

(suite…)

Cet article vous a plu ? Partagez-le sur les réseaux sociaux !

Twitter Facebook Google Plus email