PROJET AUTOBLOG


le hollandais volant

Site original : le hollandais volant

⇐ retour index

Mise à jour

Mise à jour de la base de données, veuillez patienter...

Du foutage de gueule dans la sécurité des sites web

mardi 3 juin 2014 à 21:13
password on a computer On ne rigole pas avec la sécurité. Il paraît.

Alors pourquoi certains sites nous pondent des blagues pareille ?

Un ordinateur qui fait grève :


Vu sur le site de ma banque :
Le service 3D-Secure est disponible du dimanche matin au vendredi soir.

Le service 3D Secure (certicode), c’est l’envoie d’un SMS avec un code qui renforce la sécurité lors des virements et achats en ligne. Ouais… Sauf le samedi. Car le samedi — comme tout le monde le sait — l’envoie des SMS n’est pas possible, bien-sûr Internet est également fermé le samedi tout la journée.

Un code d’authentification à 6 chiffres (aucune lettre) :


On apprend aux enfants que les mots de passe doivent être forts, mais ma banque utilise un mot de passe à 6 putains de chiffres. Vous savez combien de temps il faut pour décrypter un tel mot de passe avec un million d’essais par seconde ? Statistiquement, une demi seconde.
Oh bien-sûr, ceci uniquement dans le cas où la base de données de la banque est chiffrée et le mot de passe n’est pas stocké en clair (autrement c’est même pas 1/2 seconde qu’il faut, mais c’est instantané).
Et je ne parle même pas des trackers XiTi dans l’espace de gestion « sécurisé ». Putain…

Un mot de passe de 6 à 8 caractères, sans ponctuation :


Sur un autre site :
mot de passe entre 6 et 8 caractères
Pire, sur le site on peut taper dix ou douze caractères, c’est coupé à 8. Du coup, on pense avoir un long mot de passe alors qu’il est simplement coupé à 8 caractères, sans rien nous dire.

« Désolé le formulaire a expiré… »


À l’inverse des sites mal sécurisés, il y a les sites qui n’ont jamais été testés. Ça ne vous est jamais arrivé de remplir un formulaire à rallonges sur un site et au moment de poster, hop, il vous sort que le formulaire a expiré et vous devez tout remplir à nouveau ?
Le délai d’expiration est bien trop court pour qu’on puisse remplir le formulaire entièrement…

Autres foutages de gueule traduisant une incompétence de la part du programmeur



Image de Victor Bayon

Ubuntu 14.04 : partager l’image et le son sur une télé en HDMI

samedi 31 mai 2014 à 22:49
Il est particulièrement pratique d’utiliser son ordinateur pour regarder un film sur un écran de télévision ou simplement pour avoir deux écrans de travail.

Voici comment réaliser cette manœuvre sous Ubuntu 14.04 « Trusty Thar ».

1. Sur votre télé : configurez la source de l’image pour « HDMI ».

2. Branchez le câble HDMI sur votre ordinateur. Normalement l’image s’affiche directement sur la télé, mais il y a de grandes chances que l’image soit coupée : les deux écrans (la télé et celui de votre ordinateur) n’ayant pas la même définition.

Il suffit pour corriger cela d’ouvrir les propriétés de l’affichage en cherchant « affichage » dans le menu d’Unity.
Dans la fenêtre, cliquez sur l’icône représentant l’écran de la télé (1), de changer la définition pour la même que celle de votre écran d’ordinateur (2 — si elle ne figure pas dans la liste, prenez celle qui rogne le moins l’image) et enfin de valider votre choix (3) et confirmer votre choix s’il vous convient :

changer la définition de l’écran
Voilà, l’image possède la même définition que sur votre ordinateur.

3. Maintenant que l’image est bonne, il faut changer le son. En effet, pour l’instant, le son sort toujours des hauts-parleurs de votre ordinateur.
Allez pour cela dans les paramètres du son :

ouvrir les paramètres du son
4. Dans l’onglet « Sortie » il suffit de cliquer sur la ligne représentant la carte HDMI (l’autre ligne étant les hauts parleurs) :

changer sortie sonore
5. Voilà, c’est tout !
Notez que les deux écrans sont complémentaires : l’image est partagée entre les deux écrans et n’affichent pas la même chose. Si vous lancez une instance de VLC pour voir un film, n’oubliez pas que vous pouvez glisser la fenêtre de VLC d’un écran à un autre.

Notez également que si vous souhaitez uniquement regarder un film sur un écran large, il est préférable de n’activer que le grand écran dans sa définition la plus grande et d’éteindre l’écran de l’ordinateur.

Enfin, quand vous débranchez le câble HDMI, n’oubliez pas de rétablir la sortie son sur les hauts-parleurs si le son ne revient pas tout seul.

Le hoax du jour : les panneaux solaires épuisent le Soleil

mercredi 28 mai 2014 à 21:18
un panneau solaire
Les sites satyriques (du style du Gorafi.fr) sont de plus en plus nombreux mais ce n’est pas sans quelques petits problèmes.

Si parfois un canular est déguisé en véritable information (je tombe moi-même parfois dans le panneau), ces sites racontent des blagues simplement pour l’humour. Encore faut-il le comprendre et quand on ne sait pas et que personne ne sait… Ben… ça fait mal.

Le site National Report avait partagé une blague selon laquelle l’usage des panneaux solaires épuisaient le Soleil, et qu’il ne resterait que quelques siècles au Soleil avant que celui-ci soit complètement épuisé, mettant alors fin à toute existence de vie sur Terre.

L’article a été partagé en masse sur les réseau sociaux…

Ce genre de phénomène arrive très souvent, mais il faut avouer que celui-ci est quand même vraiment très gros.
Après, certains disent que plus c’est gros, mieux ça passe… Mais bon y’a des limites quand même.


Pour le côté scientifique : bien-sûr que non, l’usage des panneaux solaires n’a aucune incidence sur l’épuisement du Soleil !
Tout comme le fait de retirer une casserole du gaz (en laissant le gaz brûler) n’aura aucune incidence sur la consommation de gaz : casserole ou pas, ça brûlera autant jusqu’à ce que vous coupiez l’arrivée de gaz.

En fait, l’énergie solaire qui arrive sous forme de lumière et rayonnement électromagnétique sur les panneaux solaires arrive dans tous les cas sur Terre : les panneaux ne sont que des capteurs qui attrapent cette énergie pour la transformer en électricité au lieu de la laisser filer sur le sol.

(Via Nagumo)

Sinon voilà deux autres sites satyriques, en plus du Gorafi cité plus haut :

image de Chandra Marsono

Les touches de clavier devenues inutiles avec le temps

lundi 26 mai 2014 à 20:09
Vous savez vous servir d’un ordinateur et donc d’un clavier. Mais savez-vous à quoi servent toutes les touches ? Par exemple la touche Syst ou Pause ? Je parie que non : en effet, ces touches ne sont plus jamais utilisés sur les ordinateurs actuels…
Je vous liste ici quelques-unes de ces touches et leur usage.


Touches de fonction : F1, F2, F3…


Ces touches sont rarement utilisées, mais quand on les utilise c’est souvent encore dans le sens originel : alors que les touches A ou Z affichent toujours une lettre à l’écran, les touches de fonction de F1 à F12 sont utilisées par les programmes pour effectuer des actions prédéterminées et propres à ce programme. Généralement la touche F1 correspond à l’interface d’aide, mais ce n’est pas systématique.

Par exemple, dans le logiciel Htop (sous Linux), l’action associée à chacune de ces touches est affichée en bas, tel un menu :
capture d’écran de htop en console
Sur un ordinateur portable, elles ne sont pas à confondre avec les touches bleues qui s’utilisent en combinaison avec la touche Fn qui signifie fonction aussi, mais qui sert à activer le son ou la lumière de l’écran : ce sont les touches de fonction matériel propre à l’ordinateur (quelque soit le système d’exploitation) et souvent reliés au Bios directement.

Les touches Pause et ArrêtDéf


Ces deux touches ne sont pratiquement jamais utilisées non plus. La touche ArrêtDef signifie « arrêt défilement » et active une Del du clavier (comme les touches de verrouillage numérique et majuscule).
La touche de pause est très ancienne et remonte à l’époque du télégraphe : il permettait au récepteur d’une communication de signaler à l’émetteur qu’il désirait une pause dans la transmission.

Quand les ordinateurs n’avaient pas encore d’interface graphique, les lignes défilaient à l’écran très rapidement. Les touches Pause et ArrêtDéf permettaient de stopper temporairement le défilement pour pouvoir lire ce qui est écrit : il était souvent impossible de remonter le texte pour lire ce qu’il y avait au dessous.
Appuyer de nouveau sur la touche permettait de reprendre le défilement du texte.

Aujourd’hui ces touches fonctionnent encore dans les terminaux GNU/Linux ou Unix (les TTY) et peut-être aussi dans Windows sans interface graphique. Certains jeux utilisent aussi la touchent Pause pour mettre le jeu en pause.

La touche Attn


Cette touche — dite « Attention » — est également très peu voire pas du tout utilisée. Sur certains systèmes d’exploitations presser ce bouton permettait de lancer la procédure de connexion.

Sous Windows il faut parfois faire la combinaison CtrlAltSuppr pour afficher l’écran de connexion et taper le nom d’utilisateur de le mot de passe. Cette combinaison a le même rôle que la touche d’attention.

La touche Syst


À l’instar des touches des pauses du défilement, la touche Syst date également des vieux ordinateurs : elle permettait de donner la main au système d’exploitation quand les ordinateurs n’étaient pas encore multitâches en envoyant directement une instruction au Bios (et non au pilote logiciel du clavier).

Cette touches n’est pratiquement plus utilisé aujourd’hui. Les systèmes Linux l’utilisent dans la combinaison de touches dite « magiques » pour envoyer des instructions directement au noyau Linux, par exemple pour redémarrer l’ordinateur d’urgence ou pour arrêter tous les accès disque.

La touche AltGr


Cette touche est le raccourcis de « alternate graphic » (il y a aussi une touche Alt « alternate »). Sur les vieux claviers, cette touche (comme la touche majuscule) permettait d’afficher un caractère différent de celui affiché sur la touche. C’est avec cette touche qu’on affiche le croisillon « # » sur la touche 3.

Il était à l’époque considéré que les caractères affichés à l’aide de cette touche était plus fantaisistes, plus « graphiques » que les caractères normaux comme les lettres ou la ponctuation.
Aujourd’hui, sous Windows et par défaut, il permet d’afficher les caractères en bas à droite des touches numériques au dessus des lettres, ainsi que le signe de l’euro « € ».
Sous GNU/Linux, il permet d’ajouter beaucoup plus de caractères, comme les points de suspensions « … » avec AltGrMaj; ou la ligature A-E « æ » avec AltGrA.


Outre les touches d’un clavier, il y a quelques autres éléments que les ordinateurs ou les systèmes d’exploitation actuels ont hérités des vieux systèmes.
Citons par exemple les économiseurs d’écrans (qui n’ont rien d’économique) : sur les écrans cathodiques l’image était affichée à l’aide d’un faisceau d’électrons qui excitaient une couche de poudre fluorescente. Si l’écran affichait toujours la même image, c’est toujours la même zone qui est bombardée par les électrons et ceci finissait par abîmer l’écran.
Il était donc préférable d’afficher une image bidon et qui changeait souvent en forme et en couleurs lorsque l’ordinateur n’était pas utilisé depuis un certain délai : l’économiseur d’écran sert à ça.
Parlons aussi des caractères de fin de ligne (que l’on ne voit jamais en fait, mais que les programmeurs utilisent parfois) : « \r » ou « \n ». Les deux datent de l’époque de la machine à écrire : le premier les l’abréviation de « carriage returns » dans le sens du retour chariot : le chariot (la partie qui tient le papier) de la machine à écrire se remettait au début de la ligne ; et le second vient de « newline » qui signifie « nouvelle ligne » : en plus du retour chariot, il fallait descendre sur une nouvelle ligne du papier. Logiquement donc, un retour à la ligne correspond donc à la séquence « \r\n », mais les systèmes d’exploitation informatique actuels ne s’accordent pas tous sur quel caractère utiliser pour coder un retour à la ligne : « \r\n » (Windows), « \r » (Mac-OS) ou « \n » (Unix).

[PHP] Faire plusieurs requêtes HTTP simultanées avec cURL

mardi 20 mai 2014 à 21:21
two elephants Toujours en développement de mon lecteur RSS en PHP, je me suis heurté au problème de la mise à jour des 154 flux auquel je suis abonné. Si le file_get_contents() fonctionne avec les URL, il ne peut les télécharger que les uns après les autres. Ainsi, même en ne mettant qu’un délai d’attente d’une seconde, la mise à jour prendrait au minimum 2 minutes 34 secondes. C’est bien trop long.

Une solution aurait pu être de faire 154 requêtes depuis les navigateur, pour ouvrir 154 instances de file_get_contents(), mais ça me semblait trop lourd.

La meilleure solution est à mon avis d’utiliser le module curl : lui, il peut faire 154 requêtes simultanées, et la durée de l’opération totale sera simplement la durée de la plus longue des requêtes et non la somme de toutes les requêtes. Avec cette méthode, je met à jour tous mes flux en moins d’une minute, toutes opérations incluses.

En pratique, pour récupérer le contenu de plusieurs URL, ça se présente comme suit.

On initialise une liste de sessions curl « $multihandler » : chacune correspondra à une instance de curl qui ira se connecter à une URL :
// init multi handler
$multihandler = curl_multi_init();
$handlers = $result = array();

On peuple la liste des sessions : chaque session est initialisée individuellement (avec une option CURLOPT_RETURNTRANSFER qui force curl à retourner le contenu plutôt que de l’afficher) puis on ajoute la session $handler[$i] à la liste des sessions $multihandler
// init each url
foreach ($urls as $i) {
	$handlers[$i] = curl_init($i);
	curl_setopt($handlers[$i], CURLOPT_RETURNTRANSFER, TRUE);
	curl_multi_add_handle($multihandler, $handlers[$i]);
}

Il n’y a plus qu’à établir toutes les connexions aux URL et télécharger les données.
Le $pendingConnex est une variable donnée par curl qui donne le nombre de connexions actives. Ce nombre diminuera progressivement jusqu’à zéro quand toutes les URL auront été téléchargées.

Les 10 ms d’attente sont là pour éviter que PHP ne fasse trop de tests, et permet de réduire la charge serveur (si on ne le met pas, la charge serveur explose — une méthode plus propre, mais dont le gain par rapport au sleep() n’est pas énorme est visible dans la doc).
10ms, pour un temps d’exécution de 10 seconde sur un processeur qui fait une boucle par nanoseconde (proc à 1 GHz) permet de réduire le nombre d’itérations par un facteur 10'000'000, ce qui est colossal : le serveur a dix millions de fois moins de puissance à allouer.

Dans mon lecteur RSS, je mets dans cette boucle do/while le code qui m’affiche à intervalle régulier le nombre de requêtes restantes.

// exec connexions + download
do {
	curl_multi_exec($multihandler, $pendingConnex);
	usleep(10000); // 10 ms
} while ($pendingConnex > 0);

À ce stade, les requêtes sont faites, les données récupérées en mémoire.
Il suffit de les parser et de les récupérer dans le tableau $result. Ce tableau contiendra les données en valeur et les URL en clés :

// parse responses
foreach ($urls as $i) {
	$result[] = curl_multi_getcontent($handers[$i]);
}

Le code ci-dessus devrait être suffisant.
Néanmoins, je conseille d’ajouter quelques options, avec curl_setopt() :

image de Jim Frost

Feed is invalid - XML error: --^ Fatal Error 68: StartTag: invalid element name Line: 2 Column: 2 - --^ Fatal Error 5: Extra content at the end of the document Line: 2 Column: 2