opera-developer

Linux : installer le plugin Flash sous Opera Developer

opera-developer

Après avoir mis à jour Ubuntu récemment, j’ai testé la nouvelle version d’Opera : Opera Developer qui s’adresse aux développeurs web.

Si vous recherchez un navigateur ultra-rapide, essayez-le ! Je m’en sers comme navigateur d’appoint et il est vraiment plus rapide que la version classique d’Opera.

Seul hic : Flash n’était pas activé par défaut donc il faut faire une petite manipulation qui prend 15 secondes montre en main. Ceci-dit, on avait eu le même problème pour installer Flash sous Chromium.

Ce tutoriel permet donc ‘installer Flash rapidement sous Opera Developer en utilisant PepperFlash et FFmpeg sous Ubuntu et Linux Mint.

Installation de PepperFlash

Sous Mint et Ubuntu, il suffit d’installer le paquet pepperflashplugin-nonfree pour installer Pepper Flash :

sudo apt-get install pepperflashplugin-nonfreeCode language: JavaScript (javascript)

Une fois le paquet installé, il suffit de relancer le navigateur.

Lire la suite

Clara Darko - Dystopian Utopias photo

Clara Darko – Dystopian Utopias

Clara Darko est fan de films et de montages vidéo. Dans Dystopian Utopias, elle rend hommage à des films qui présentent des sociétés qui ont des qualités à la fois utopiques et dystopiques avec des technologies avancées et de sévères restrictions de libertés civiques et de différences de classes sociales, basées sur les inégalités et le mensonge.

Clara Darko a établi plusieurs règles lors de la réalisation de son montage, pour plus de cohérence :

1. la société doit être organisée et non un chaos post-apocalyptique,

2. les populations opprimées doivent être humains et non aliens ou robots,

3. la société doit être contrôlée par des humains et non des aliens, machines ou autres vampires,

4. les évènements doivent avoir lieu dans le réel et non dans des mondes virtuels,

5. la société doit avoir évolué uniquement par des cheminements humains (par la science ou la politique) et non par des changements biologiques.

Lire la suite

HTML5 : corriger l'erreur

HTML5 : corriger l’erreur “The scrolling attribute on the iframe element is obsolete. Use CSS instead.”

Le problème : l’attribut HTML scrolling

HTML5-logo

Si, au détour d’une validation du code HTML5 de votre page, vous obtenez l’erreur suivante:

“The scrolling attribute on the iframe element is obsolete. Use CSS instead”

… c’est que le code de votre page HTML5 contient un élément <iframe> avec un attribut scrolling comme dans le code suivant :

<iframe scrolling="no" />Code language: HTML, XML (xml)

La solution CSS : la propriété overflow

Comme l’attribut scrolling ne fait plus partie des spécifications HTML5, il faut utiliser CSS à la place et utiliser la propriété overflow:

<iframe style="overflow: hidden;" />Code language: HTML, XML (xml)

L’apparence du texte et des éléments de présentation de la page doivent être gérés par CSS et non par le code HTML.

Postfix : résoudre l'erreur SASL

Postfix : résoudre l’erreur “close database /var/lib/postfix/verify_cache.db: No such file or directory (possible Berkeley DB bug)”

postfix-logo

En jetant un oeil sur les logs du serveur du mail, je me suis aperçu que le même message d’erreur revenait à intervalles réguliers, entre quelques statistiques.

Il s’agit de Postfix qui donne le message suivant :

close database /var/lib/postfix/verify_cache.db: No such file or directory (possible Berkeley DB bug)Code language: JavaScript (javascript)

Selon le créateur de Postfix, ce n’est pas un bug mais juste un message sans conséquence. N’empêche que l’on peut s’en passer facilement.

Solution : ajouter address_verify_map à la configuration Postfix

Cette erreur survient lorsque le fichier de configuration Postfix n’est pas tout à fait complet.

Lire la suite

Installer Wine sous Ubuntu 14.04 LTS Trusty Tahr photo

Installer Wine sous Ubuntu 14.04 LTS Trusty Tahr

Après installation d’Ubuntu 14.04 (Trusty), je me rappelle que wine a été supprimé du système lors de la mise à jour d’Ubuntu.

Qu’à cela ne tienne, on va le réinstaller.

Ajouter le PPA ubuntu-wine

En deux lignes, on ajoute le PPA et on installe wine1.7 :

sudo add-apt-repository ppa:ubuntu-wine/ppa -y && sudo apt-get update
sudo apt-get install wine1.7Code language: JavaScript (javascript)

A ce stade, wine aurait dû s’installer normalement. Mais pas chez moi, non.

Lire la suite

PHP : solution pour l'erreur

PHP : résoudre l’erreur “Redefining already defined constructor for class …”

php-logo

Il vous est peut-être déjà arrivé d’obtenir l’erreur PHP suivante en mode strict sous PHP 5.4 et versions ultérieures:

Redefining already defined constructor for class {nom_de_la_classe}

Cela arrive lorsque – dans le code d’une classe -, le code PHP4 précède le code PHP5 avec le constructeur de classe.

Le problème : une fonction PHP4 précédant le constructeur PHP5

Voici un petit exemple pour bien comprendre, avec une classe SkymindsExampleClass, une fonction qui s’appelle SkymindsExampleClass() et donc porte le même nom, et la fonction constructeur __construct().

L’exemple suivant produit l’erreur Redefining already defined constructor for class parce que la fonction PHP4 SkymindsExampleClass() se trouve avant la fonction PHP5 __construct() :

<?php
// This example outputs a PHP error in strict mode
class SkymindsExampleClass {
	//PHP4
	function SkymindsExampleClass()
	{
		$this->__construct();
	}
	//PHP5
	public function __construct()
	{
		$this->admin_page();
	}
}Code language: HTML, XML (xml)

La solution : placer le code PHP5 avant le code PHP4

Pour supprimer l’erreur PHP stricte, il suffit de placer la fonction PHP5 avant la fonction PHP4.

Lire la suite

MySQL : résoudre l'erreur

MySQL : résoudre l’erreur “mysql_connect(): Headers and client library minor version mismatch”

Après la mise à jour vers MySQL 5.6, certaines applications peuvent renvoyer l’avertissement PHP suivant :

PHP Warning: mysql_connect(): Headers and client library minor version mismatch. Headers:50535 Library:50617Code language: CSS (css)
icon-mysql

C’est le cas lorsqu’une application est liée à l’utilisation d’une version spécifique de libmysqlclient18 alors qu’elle est connectée à un serveur MySQL qui tourne sur une version différente.

C’est libmysqlclient18 qui renvoie cet avertissement mais dans certains cas, cela peut impacter l’application et tient plus de l’erreur que de l’avertissement.

MySQL Native Driver

La solution est toute simple : il suffit d’utiliser le pilote MySQL Native Driver php5-mysqlnd au lieu du paquet php5-mysql.

Les avantages de php5-mysqlnd sont multiples : il vient en remplacement de php5-mysql, n’est pas lié à la librairie libmysqlclient, ne renvoie pas d’avertissement “version mismatch” et possède pas mal d’autres caractéristiques intéressantes.

Lire la suite

SIGHT ou un futur possible et dystopique de la réalité augmentée photo

SIGHT ou un futur possible et dystopique de la réalité augmentée

Voici SIGHT, un court-métrage qui se demande à quel point nos vies pourraient changer si la réalité augmentée était totalement intégrée dans nos sociétés modernes :

Un peu à la manière de l’excellente série britannique Black Mirror, Eran May-raz et Daniel Lazo imagine une vision alternative du future, dans un monde où les nouvelles technologies, comme la réalité virtuel, commencent à être dommageables pour nos vies.

Nous suivons donc Patrick, un célibataire qui vit dans une métropole sans nom. Au début du film, il semble être étendu au-dessus d’un tapis, flottant à une dizaine de centimètres du sol – mais Patrick voit les choses bien différemment : à travers des lentilles de contact spéciales, il joue à un jeu de skydiving en immersion.

Nous le voyons ensuite se diriger vers la cuisine, où son frigo lui indique quels aliments vont bientôt arriver à leur date d’expiration. Il choisit un concombre et commence à le couper alors que le jeu Fruit Ninja se lance.

Au fur et à mesure que le film avance, il apparait clair que la plupart des affaires de Patrick appartiennent plus à la fiction qu’à la réalité. Les murs de son appartement sont vides mais lorsqu’il les regarde avec ses lentilles, ils sont couverts de tableaux de score de jeux et d’œuvres d’art hors de prix.

La vie de Patrick, à première vue remplie et parfaite, commence rapidement à apparaitre comme une existence vide et sans inspiration.

Lire la suite

jQuery : sélectionner un élément dont l'ID ou la classe commence ou finit par une chaîne photo 1

jQuery : script toggle pour afficher et cacher de multiples blocs HTML

jquery

J’ai écrit il y a quelques temps un script jQuery utilisant la fonction toggle pour afficher/cacher un seul bloc HTML mais pas mal de gens m’ont demandé comment faire pour afficher plusieurs blocs HTML.

Voici comment s’y prendre, en utilisant les fonctions jQuery .slideup(), .slidedown() et .closest().

Démo


Article A

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam

Article B

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam

Article C
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam

Le script

1. Ajoutez jQuery dans l’entête de votre page (head), comme ceci :

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js" integrity="sha512-bLT0Qm9VnAYZDflyKcBaQ2gg0hSYNQrJ8RilYldYQ1FxQYoCLtUjuuRuZo+fjqhx/qtq/1itJ0C2ejDxltZVFg==" crossorigin="anonymous"></script>Code language: HTML, XML (xml)

Lire la suite

NAS Synology : récupérer les données d'un disque dur issu d'un RAID1 photo

NAS Synology : récupérer les données d’un disque dur issu d’un RAID1

Je possède un NAS Synology pour archiver mes données.

Pour simplifier, un NAS est un système à part entière qui gère des disques dur de sauvegarde accessibles par le réseau.

Synology en RAID1

Dans mon cas, il s’agit d’un Synology 212+ 2 baies qui accueille deux disques dur de 2 To chacun.

Je les ai mis en RAID1, ce qui signifie que tout ce qui est copié sur le volume est répliqué : les données du disque 1 sont recopiées à la volée sur le disque 2.

raid1

Le RAID1 est donc un système de redondance qui donne au stockage des données une certaine tolérance aux pannes matérielles.

En théorie, si un disque lâche, l’autre aura toutes les données intactes. Enfin, ça c’est la théorie !

Des données qui s’envolent

Au courant de l’année 2013, je sauvegarde quelques séries sur le NAS. Je crée un raccourci dans Nautilus pour pouvoir glisser/déposer facilement les fichiers, ce qui semble un chouilla plus rapide que via l’interface web du Synology.

Note : mes transferts semblent plafonner à 300 ko/s alors que j’utilise du CPL, si quelqu’un connaît un autre moyen d’augmenter ce débit, je suis preneur !

En décembre 2013, je vois les diodes du Syno qui clignotent comme un sapin de Noël : je me loggue et me rends compte qu’un de mes dossiers de sauvegarde est vide.

Incompréhension totale. Je suspecte d’abord une intrusion et vérifie les logs mais je n’ai rien trouvé d’inhabituel. Je penche maintenant pour une erreur de manipulation dans nautilus, même si j’y crois peu. Je débranche le Syno du réseau puis l’éteins.

Récupérer les données d’un disque dur issu d’un RAID1

En décembre 2014, c’est-à-dire la semaine dernière, je me dis que ce serait cool de remettre le Syno en route et de me pencher sur le mystère.

Je retire un disque dur d’une des baies et le branche en USB sur ma machine linux. Voici les étapes qui m’ont permis de lire ce disque.

Lire la suite

Ubuntu : installer Pepper Flash sous Chromium pour lire les vidéos Flash photo

Ubuntu : installer Pepper Flash sous Chromium pour lire les vidéos Flash

Suite à une mise à jour de Chromium, il y a quelques années, j’ai perdu la possibilité de lire les vidéos flash sous Chromium. Bon, étant utilisateur de FireFox, je ne trouvais pas vraiment cela gênant, sauf pour les vidéos YouTube et Dailymotion.

Et puis aujourd’hui, cela m’a un peu agacé alors je me suis un peu penché sur le problème.

Pepper Flash et Chromium

Si on utilise Chrome, pas de souci, le plugin Pepper Flash comme le lecteur PDF natif sont inclus. Si on utilise Chromium par contre, le navigateur est nu et il faut installer Pepper Flash soi-même.

Installer Pepper Flash sous Chromium avec Ubuntu

Si vous possédez Ubuntu 14.04+, un installeur Pepper Flash Player installer est disponible dans les dépôts, il suffit de l’installer avec :

sudo apt-get install pepperflashplugin-nonfree && sudo update-pepperflashplugin-nonfree --installCode language: JavaScript (javascript)

Lire la suite

Ubuntu logo within an update icon

Ubuntu : résoudre l’erreur “xulrunner-bin: error while loading shared libraries: libhunspell-1.2.so.0”

ubuntu-update

Aujourd’hui, j’ai mis à jour mon installation d’Ubuntu 12.04 LTS (precise) vers la version 14.04 LTS (trusty).

Vu qu’il y a quelques années entre les deux distributions, cela a pris quelques heures mais je trouve le système beaucoup plus réactif. J’ai quand même eu une petite erreur, histoire de justifier cet article.

Problème de dépendances avec le paquet xulrunner

Après l’installation, le nettoyage des paquets obsolètes et un petit redémarrage, apt-get m’a indiqué qu’il y avait un problème de dépendance avec ce message d’erreur :

/var/lib/dpkg/info/xulrunner-1.9.2.prerm: 8: /var/lib/dpkg/info/xulrunner-1.9.2.prerm: /usr/sbin/update-alternatives: not found
/usr/lib/xulrunner-1.9.2.9/xulrunner-bin: error while loading shared libraries: libhunspell-1.2.so.0: cannot open shared object file: No such file or directory
dpkg: error processing xulrunner-1.9.2 (--configure):
 subprocess installed post-installation script returned error exit status 127
Errors were encountered while processing:
 xulrunner-1.9.2
E: Sub-process /usr/bin/dpkg returned an error code (1)Code language: JavaScript (javascript)

Après avoir essayé de réinstaller et supprimer libhunspell et xulrunner sans succès, je me suis dit qu’il fallait passer à autre chose.

La solution : éditer le fichier xulrunner-1.9.2.prerm

En suivant à tâtons les liens du message d’erreur, il se trouve qu’il suffit d’éditer le fichier /var/lib/dpkg/info/xulrunner-1.9.2.prerm pour corriger le problème.

Lire la suite