PROJET AUTOBLOG


le hollandais volant

Site original : le hollandais volant

⇐ retour index

Quelques rapides codes PHP, JS ou HTML

vendredi 20 septembre 2013 à 23:09
J’ai déjà une page où je met quelques fonctions PHP qui peuvent resservir au cas où, ici je vais mettre quelques codes beaucoup plus courts.
Idleman avait fait un article comme ça aussi, avec quelques petites astuces PHP.

PHP : Trier un tableau selon une sous-clé

Admettons qu’on ait un tableau $tableau à deux dimensions, dont une des sous-clés soit la_cle.

On veut trier ce tableau selon les valeurs de la_cle. Pour ça, on va créer un tableau $cles_tri ne contenant que les valeurs de la_cle, puis trier ceux-là en leur associant les valeurs de $tableau :

$cles_tri = array();
foreach ($tableau as $key => $entry) {
    $cles_tri[$key] = $entry['la_cle'];
}
array_multisort($cles_tri, SORT_DESC, $tableau);

On dispose maintenant de ce tableau, trié selon la valeur de la sous-clé la_cle et ré-indexé.

JavaScript & HTML5 : récupérer le code Base64 d’un fichier

Là aussi, ça se fait en quelques lignes avec le HTML5 :

Le HTML :
<input id="file" type="file" onchange="loadFile(this.files)" />

Le JS :
function loadFile(files) {
    var filename = files[0];
    var fr = new FileReader();
    fr.onload = function(e){alert(e.target.result);};
    fr.readAsDataURL(filename);
}

Ce qui importe ici, c’est le « readAsDataURL » : c’est lui qui permet de lire le fichier comme du code Base64.
Il est aussi possible de le lire comme du code binaire ou comme un arrayBuffer ; voir la doc pour ça.

Prenez note que le code Base64 d’un fichier pèse 33% plus lourd que le fichier lui-même. Mais ça peut être sympa quand même pour envoyer des fichiers sur un serveur sans utiliser le $_FILES. C’est le code que j’utilise sur cette page.

HTML5 : rendre instantanément vos pages lisibles sur les smartphones

Ajoutez juste ceci dans le <head> :

<meta name="viewport" content="initial-scale=1.0, user-scalable=yes" />

Ceci fixera le niveau de zoom et la largeur de la page pour qu’il soit à l’échelle de votre écran (le navigateur faisant un calcul avec la résolution de l’écran).
Attention, le premier qui me met un « no » au user-scalable je lui jette une malédiction digne du nom de ce site.

JavaScript : simuler un clic de la souris

Comment créer un clic de la souris sur un élément htmlElement, par exemple lors d’un :hover ? Comme ceci :

var evt = document.createEvent("MouseEvents");
evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
htmlElement.dispatchEvent(evt);
evt.preventDefault();

Si vous voulez qu’un simple :hover déclenche le clic, placez le code précédent dans htmlElement.onmouseover().

HTML & CSS : afficher une image au maximum de sa taille dans une lightbox

Voici une astuce CSS que j’ai mis au point il y a un petit moment, qui permet d’afficher une image dans une page :


HTML, CSS :
<div id="d1">
  <div>
    <img src="image.jpg"/>
  </div>
</div>
#d1 {/* dans le cas d’une lightbox, j’ai ça pour pas que ça dépasse de l’écran */
   position: fixed;
   top: 5%; right: 5%; bottom: 5%; left: 5%;
}

#d1 div img {
   max-width: 100%; max-height: 100%;
   width: auto;
   height: auto;
}

#d1 div {
   width: 100%; height: 100%;
   display: inline-block; /* lui il est important */
}

C’est ceci que j’utilise dans BlogoText pour le slideshow.
Seule impossibilité : centrer verticalement l’image. Là, il faut du JavaScript, je n’ai pas trouvé comment faire autrement.

Les formats de fichier à bannir

dimanche 15 septembre 2013 à 20:54
Il y a des formats de fichiers qui commencent à me casser les #@%*.

Le pire, c’est le format RAR pour les archives. Mais arrêtez d’utiliser ce format pourri !
Il est mauvais, son logiciel est payant, il ne gère ni les encodages de caractères, ni les droits sur les fichiers, et son pseudo-système de mots de passes est mauvais : on le fait sauter en deux secondes.
Ok, je comprend que l’excellent logiciel 7-zip vous déroute un peu (il n’est pas intuitif je trouve), mais utilisez le format Zip, qui est utilisable pratiquement partout et au moins les noms des fichiers ne seront pas massacrés et remplacés par des « ? » (et qu’on ne me dise pas que c’est dur à utiliser : juste un clic droit !).

Les formats .xlsx, .docx… Là aussi : ces machins ne sont lisible que par les personnes qui ont Microsoft Office 2007+ et Windows. Le support dans LibreOffice est moyen (il permet de lire, mais la mise en forme est foireuse).
Si vous voulez partager un document, bordel apprenez vos classiques et utilisez un PDF : c’est un format standard, utilisable partout (même sur les smartphones).
Oh, et ceux qui me font le plus rire avec ça, ce sont les DRH : ils te demandent un CV+Lettre en PDF u-ni-que-ment. Eux, ils ne se gênent pas pour répondre avec un fichier Excel 2010. Ça mériterait un châtiment…

Vient ensuite le format d’images BMP (et ICO).
Non, ce format n’est malheureusement pas mort. Il est néanmoins très largement en déclin, grâce à Windows qui, depuis Vista, propose le PNG comme format par défaut dans MsPaint. Le bitmap est horriblement lourd alors que le PNG est suffisant pour le remplacer.
Oh, et apprenez aussi à choisir un format d’images correct pour les applications : le JPG, c’est pour les photos et les dessins, le PNG pour les logos et les captures d’écran.

Ce n’est pas vraiment un format, mais dans les pages web, j’en ai raz le bol aussi de Flash. Putain, pourquoi faire ça en Flash ? HTML5 et JavaScript permettent de tout faire maintenant.
Flash c’est lourd, à la sécurité incertaine, et ça plante à la moindre occasion. Et par dessus de le marché, ce n’est plus disponible sous GNU/Linux (sauf si on installe Gogole Chrome).

Les formats de fichier à bannir

dimanche 15 septembre 2013 à 20:54
Il y a des formats de fichiers qui commencent à me casser les #@%*.

Le pire, c’est le format RAR pour les archives. Mais arrêtez d’utiliser ce format pourri !
Il est mauvais, son logiciel est payant, il ne gère ni les encodages de caractères, ni les droits sur les fichiers, et son pseudo-système de mots de passes est mauvais : on le fait sauter en deux secondes.
Ok, je comprend que l’excellent logiciel 7-zip vous déroute un peu (il n’est pas intuitif je trouve), mais utilisez le format Zip, qui est utilisable pratiquement partout et au moins les noms des fichiers ne seront pas massacrés et remplacés par des « ? » (et qu’on ne me dise pas que c’est dur à utiliser : juste un clic droit !).

Les formats .xlsx, .docx… Là aussi : ces machins ne sont lisible que par les personnes qui ont Microsoft Office 2007+ et Windows. Le support dans LibreOffice est moyen (il permet de lire, mais la mise en forme est foireuse).
Si vous voulez partager un document, bordel apprenez vos classiques et utilisez un PDF : c’est un format standard, utilisable partout (même sur les smartphones).
Oh, et ceux qui me font le plus rire avec ça, ce sont les DRH : ils te demandent un CV+Lettre en PDF u-ni-que-ment. Eux, ils ne se gênent pas pour répondre avec un fichier Excel 2010. Ça mériterait un châtiment…

Vient ensuite le format d’images BMP (et ICO).
Non, ce format n’est malheureusement pas mort. Il est néanmoins très largement en déclin, grâce à Windows qui, depuis Vista, propose le PNG comme format par défaut dans MsPaint. Le bitmap est horriblement lourd alors que le PNG est suffisant pour le remplacer.
Oh, et apprenez aussi à choisir un format d’images correct pour les applications : le JPG, c’est pour les photos et les dessins, le PNG pour les logos et les captures d’écran.

Ce n’est pas vraiment un format, mais dans les pages web, j’en ai raz le bol aussi de Flash. Putain, pourquoi faire ça en Flash ? HTML5 et JavaScript permettent de tout faire maintenant.
Flash c’est lourd, à la sécurité incertaine, et ça plante à la moindre occasion. Et par dessus de le marché, ce n’est plus disponible sous GNU/Linux (sauf si on installe Gogole Chrome).

Un vrac de la rentrée

samedi 14 septembre 2013 à 17:37
Un peu occupé en ce moment, je vous met ici quelques liens en vrac, concernant le numérique et la politique depuis la rentrée :


concernant l’image

Un vrac de la rentrée

samedi 14 septembre 2013 à 17:37
Un peu occupé en ce moment, je vous met ici quelques liens en vrac, concernant le numérique et la politique depuis la rentrée :


concernant l’image