PROJET AUTOBLOG


le hollandais volant

Site original : le hollandais volant

⇐ retour index

[CSS] Un effet label/input avec icône et flexbox

samedi 18 juillet 2015 à 09:23
Dans ce tutoriel, je vous montre comment faire des champs de saisie avec une icône de façon plutôt simple :

form
L’avantage du code qui suit, c’est qu’il est relativement propre, pure-CSS, accessible, très simple à comprendre et totalement flexible : l’ensemble reste manipulable avec vos propres styles sans tout foutre en l’air.
À ce jour, il est également très bien supporté par la majorité des navigateurs récents.

Commençons !

En HTML, un champ <input> devrait toujours être accompagnée de son étiquette <label> :

<label for="pseudo">Votre pseudo :</label>
<input id="pseudo" />

Plaçons l’ensemble dans un conteneur :

<div class="input-container">
    <label for="pseudo">Votre pseudo :</label>
    <input id="pseudo" />
</div>

Maintenant, il suffit d’utiliser les flex box pour les aligner côte à côte et de donner une hauteur au conteneur :

.input-container {
    display: flex;
    height: 24px;
}

input-container > input {
    flex: 1;
}

On veut une icône à la place du label. Très bien : on va placer en fond sur ce dernier.
Pour ne pas afficher le texte qu’il contient, on va également lui donner une largeur définie (celle de l’icône), masquer ce qui se dépasse (avec overflow) et faire en sorte que le texte soit entièrement sorti du champ de vision du label (avec box-sizing et padding).

Le CSS devient alors :

.input-container {
    display: flex;
}

input-container > input {
    flex: 1;
}

input-container > label {
    width: 24px;
    padding-left: 24px;
    box-sizing: border-box;
    overflow: hidden;
    background: url(icone.png);
}


Et c’est tout !
Vous n’avez pas besoin de vous occuper du centrage vertical (flex le fait pour vous), ni de la taille relative du champ et de son label (flex le fait tout seul aussi).
Vous n’avez pas non plus à souffrir en manipulant les ::before, le positionnement ou les flottants.

En plus de ça, vous pouvez évidemment ajouter vos propres styles, y compris des bordures et des marges : ça restera centré et aligné (merci flex !).
Cerise sur le gâteau : non seulement votre icône est cliquable comme doit l’être un bon label, mais si vous désactivez le CSS le formulaire reste entièrement accessible : le texte du label redevient alors visible :

formulaire sans css

(Inspiré de l’astuce ici)

Le merdier des prises électriques

vendredi 17 juillet 2015 à 17:32
Quoi de plus banale qu’une prise électrique, murale ou avec une multiprise ? Rien.
Pourtant j’ai rarement vu un truc qui soit autant le merdier, alors qu’à la base, c’est censé être un truc simple.

Déjà, dans le monde, il existe 14 types de prises différentes, nommées A, B, C, D, E, F, G, H, I, J, K, L, M et N. Tout du moins, il en existe 14 si on compte les types principaux, parce que sinon, il y en a au moins 27, variant en fonction du nombre de broches, de la présence de la fiche de terre, de la disposition des fiches et la forme des fiches :

plein de prises électriques différentes
Vous savez d’où vient cette image ? De cet article sur ce site. Non je n’ai pas été sponsorisé par eux, je veux juste vous faire réaliser qu’il existe des sites entiers dédiés aux prises électriques, y compris des guides dans Wikipédia, traduits en plus de 40 langues.

carte du monde des prises (source)


Tout ça pour des @%µ*#$ de prises électriques de £×!ø@ censées être standardisées, simples à utiliser et qui font pas chier leur monde. Car oui, certaines prises électriques font chier leur monde.


Il faut par exemple que la prise soit de la bonne taille et qu’elle entre dans la prise femelle :

une prise qui n’entre pas
C’est trop dur à vérifier lors de la conception ? SolidWorks® ne permet pas de faire ça, où vous n’êtes pas assez payés pour ça ?

Et si ça rentre (ce qui est un exploit, vu ce qui précède) il faut que la prise mâle soit conçue de telle sorte que les autres prises puissent rentrer dans les emplacements d’à côté :

prise, vous ne passerez pas
À quoi ça sert de faire des blocs si gros qu’ils prennent l’espace de 3 prises de courant ? Il n’est pas possible de faire un bloc un petit peu moins large mais plus haut ? Ou alors de faire comme les ordinateurs, et de déporter tout ce bousin dans un boîtier ?

En parlant de câbles d’ordi (et d’autres) : à quoi ça sert d’avoir des branchements qui soient droites et d’autres angulaires :

prises angulaires et droites
Putain, mettez-vous d’accord !
Là c’est juste super chiant votre truc : les câbles sans angle font ressortir le câble du mur de telle sorte qu’il est impossible de pousser un meuble contre le mur sans casser le fil.

Et si l’angle du câble est la solution pour éviter que les gens tirent sur les câbles, vous êtes des enfoirés car vous auriez pu utiliser un système qui empêche les gens de s’électrocuter ET qui facilite la vie quotidienne de tout le monde, en même temps (si si !) :

une prise facile à débrancher
Enfin, j’emmerde celui qui a fait ça :

prise à l’envers
Quoi, c’est pour brancher une télé plus haut que la prise ? Bah alors pourquoi c’est pas la prise de TV (le câble) qui est retourné ?!
Et pourquoi vous faites pas des prises européennes, basée sur les câbles allemands : ils sont réversibles, EUX, y’a pas de putain de prise de terre qui fait chier, ça passe sur les côtés sans sens.

Et y a pas moyen de faire une prise qui puisse s’orienter comme on veut ?


Sérieux arrêtez ces conneries !

On est en 2015 : on fait des fusées qui prennent des photos à 3 milliards de kilomètres, on fait des voitures qui roulent toutes seules, on fait revivre des espèces vivantes éteintes depuis 20000 ans, mais on ne sait pas se mettre d’accord pour simplifier le seul truc sans quoi le XXe siècle n’aurait pas eu lieu ?

#PlutoFlyby

mardi 14 juillet 2015 à 14:52
Ca ne marche qu'en Anglais, cette blague, mais je me devais de la faire. Here is Pluto :

pluto le chien
Plus sérieusement, après 9 ans 1/2 de voyage pour faire quelques 4 828 000 000 kilomètres (voyageant quand même à 14 km par secondes), la sonde New Horizons a permis de passer d'une image floue (prise par Hubble, le puissant télescope en orbite de la Terre) à quelque chose de net prise par la sonde New Horizons :


Les photos qui sont prises en grand nombre en ce moment vont être beaucoup plus nettes, d'une résolution de 100 mètres par pixels.

Après, il faudra néanmoins attendre un peu pour que toutes ces images soient envoyées jusqu'à la Terre : le débit de transfert se fait à 125 octets par seconde, ce qui est très faible, mais il est impossible de faire autrement vu l'éloignement de la sonde à la Terre et la taille de la sonde (équivalent à celle d'un piano à queue). Il faudra donc attendre environ 9 mois pour tout recevoir.

Durant ce temps, New Horizons continuera de s'éloigner de nous, du Soleil et même de Pluton, en direction d'autres astres, comme 1110113Y, qu'elle devrait survoler en 2019.

Démocratie : Que faire quand…

vendredi 10 juillet 2015 à 12:19
Question : que faire quand vous dites être en charge d’une démocratie et que :


Réponse : ben on passe la loi en force, sans demander l’avis de personne. Trois fois de suite.


Pour rappel : dans une démocratie, c’est le peuple qui est au pouvoir.
Quand c’est une seule personne qui est au pouvoir et qui fait un peu ce qu’il veut, ça porte un autre nom.

Installer son propre serveur DNS sous Ubuntu

mardi 7 juillet 2015 à 23:58
Ce tuto est valable pour Ubuntu et ses dérivés. Il fonctionne sans soucis sur Linux Mint 17.

Le serveur DNS, c’est ce qui permet de relier le nom d’un site (lehollandaisvolant.net) à un serveur ailleurs sur le net (5.39.16.10 pour ce site).

En général, vous utilisez les DNS de votre opérateur, mais ceux-ci vont devenir malsain au fur et à mesure que les gouvernements vont leur demande de bloquer des sites dérangeant.
Vous pouvez utiliser les serveurs DNS alternatifs, comme ceux de Google ou d’OpenDNS, mais ces serveurs DNS subiront le même problème que ceux des opérateurs, en plus de constituer un problème manifeste pour la vie privée.

Sachez qu’il est possible d’installer un serveur DNS directement sur votre ordinateur : quand vous voudrez vous connecter à un site, votre ordinateur contactera lui-même les serveurs DNS racine, sans passer par un serveur DNS intermédiaire.
Dans mon cas, la navigation est également devenu sensiblement plus rapide.


Sous Ubuntu et ses dérivés, il y a un paquet à installer. Ouvrez un terminal et copiez ceci :

sudo apt-get install unbound

Exécutez la commande par la touche Entrée, tapez votre mot de passe et validez de nouveau par la touché Entrée. Le paquet va alors s’installer.

Ensuite, changez les DNS dans le gestionnaire de réseau. Faites un clic droit sur l’icône réseau, puis « modification des connexions ». Sélectionnez sur votre connexion réseau puis cliquez sur « Modifier ».

Allez dans l’onglet IPv4, mettez « Adresses automatique seulement (DHCP) » et changez le serveur DNS pour 127.0.0.1 et enfin enregistrez :

changer ses DNS dans Mate
Quand c’est fini, copiez et exécutez successivement ces commandes  :

sudo sed -i 's/dns=dnsmasq/#dns=dnsmasq/g' /etc/NetworkManager/NetworkManager.conf
sudo service network-manager restart
sudo service unbound stop
sudo /etc/init.d/dns-clean restart
sudo unbound -c /etc/unbound/unbound.conf
sudo unbound-anchor -a "/var/lib/unbound/root.key"
sudo service unbound start

Voilà, vous pouvez surfer normalement et vous utilisez maintenant un serveur DNS directement sur votre ordinateur.

Vous pouvez vérifier par la commande suivante :

nm-tool | grep DNS

Qui devrait retourner ça :
DNS:             127.0.0.1

La présence du « 127.0.0.1 » indique que c’est bien votre ordinateur qui constitue le serveur DNS.

Les 6 commandes consécutives ci-dessus ont pour fonction respective :

Si vous vous amusez à refaire un :
sudo service unbound stop
Vous ne pourrez plus accéder à mon site via son nom (lehollandaisvolant.net) mais ça marchera encore via l’IP (5.39.16.10).

N’oubliez pas de réactiver unbound avec ça :
sudo service unbound start

Ça prouvera que vous utilisez bien le serveur DNS sur votre ordinateur et non celui de votre routeur ou d’un autre programme.

N’oubliez pas de faire en sorte que votre ordinateur ne serve de serveur DNS qu’à vous et pas au reste du réseau (y compris le net) si c’est ce que vous voulez :

Ouvrez le fichier de configuration :
gksudo gedit /etc/unbound/unbound.conf

Et ajoutez ceci à la fin pour limiter le service qu’à votre ordinateur :

access-control: 0.0.0.0/0 refuse
access-control: ::0 refuse
access-control: 127.0.0.0/8 allow
access-control: ::1 allow

Puis relancez unbound :
sudo service unbound restart


Liens :