Chambre d’Hôtes en Corse

Chambre d'Hôtes au Cap CorseJe tiens à vous faire découvrir la chambre d’hôtes au Cap Corse : Les 5 Arches. Je parle beaucoup Web & Tech mais je prend de temps à autre des vacances. La Corse est une destination que j’aime beaucoup.

La maison d’hôtes avec piscine Les 5 Arches vous propose 4 belles chambres d’hôtes de charme décorées avec soin et toutes équipées pour passer un agréable séjour dans la vallée de Sisco.

C’est l’endroit idéal pour passer des vacances au calme, se prélasser au bord de la piscine et réserver un massage par Pascal, déguster les plats locaux en table d’hôtes.

Située près de la mer, découvrez le charme et l’authenticité du Cap Corse en parcourant les nombreux villages typiques, arpenter les sentiers de randonnée pour découvrir les nombreuses tours génoises… ou profitant des activités proposées dans la commune et ses alentours (plongée sous marine, promenade en mer, location de bateaux…). Pour les connectés, les chambres d’hôtes sont équipés de wifi gratuit.

Pascal et mon pote Matthieu se feront un plaisir de vous conseiller pour que vos vacances soient réussies.

Découvrir les chambres d’hôtes

Ma console DIY de retrogaming

Cet article « C’est le moment de faire votre propre borne d’arcade » de l’excellent Korben a titillé ma nostalgie des veilles consoles de mon enfance et ces heures passées à jouer à pong, au casse-briques, tetris ou pacman (je sais, c’est très vieux) ou aux classiques Mario, Mario Kart, Sonic, …

Je me suis donc mis en tête de fabriquer une console de retrogaming digne de trôner fièrement sur la table basse du salon : il me fallait quelque chose de joli, d’épuré, mais aussi de lourd et massif. Après plusieurs idées plus ou moins ratées, je me suis fixé sur un design basé sur simple carré avec un plateau en bois massif, pour un look un peu vintage et un toucher organique. Voila le résultat :

Ma console de retrogaming

Le look

Ma première console était une Atari 2600, j’ai donc cherché à m’inspirer de ses couleurs : du noir, des touches d’orange et ce bandeau imitation chêne : j’ai écarté l’orange,  gardé le noir et mis du vrai chêne massif (bien lourd et bien dense).

Pour le controller je me suis rapidement tourné vers les bornes d’arcade des salles de jeux de mon enfance, après quelques recherches j’ai choisi un kit full noir acheté sur ebay  dans la boutique fabulousarcade  :  Tristan,  est très sympa, disponible. Il est incollable sur ses produits et a toujours répondu à mes questions chiantes (je débute !). Voici un petit zoom sur ces superbes boutons avec le fameux « clic, clic ».

J’ai complété le set pour jouer avec mes filles, les amis, la famille par deux manettes usb type super NES : c’est du plastique, du pas cher, mais ça reste utilisable.

Le hardware & software

Pour motoriser le tout, aucun hésitation, j’ai acheté un Raspberry Pi 3 Model B, avec une alimentation officielle (la générique m’a lâché au bout d’une semaine), un boitier de protection et une carte SD 16Go.

Côté software, j’ai suivi les conseils de Korben et opté pour l’excellent projet (français et open source) Recalbox mené de main de maître par  avec l’aide de  Fabrice (qui m’a incité à écrire cet article).
Recalbox est basé sur linux (ça j’aime) avec une interface très sympa, puissante, et un accès ssh (j’aime aussi) pour la configuration avancée. Un grand merci à la team recalbox qui fait un travail de dingue : le résultat est une distrib hyper simple à installer (copie sur sd, et c’est parti) et à configurer.
J’ai néanmoins fait quelques édits du fichier recalbox.conf pour notamment changer la résolution (ma tv crache des points rouges si elle n’a pas le bon couple (résolution/fréquence).

La liste des courses

Quelques composants

Voici la liste des composants :

  • Raspberry Pi 3 Model B
  • Alimentation Raspberry officielle 5V 2.5A
  • Boitier transparent de protection du Raspberry + dissipateurs
  • Planche en chêne massif lamellé-collé
  • Étagère en médium noire avec angles arrondis
  • Patins anti-glisse
  • Équerres métalliques
  • Vis, boulons et écrous
  • Tige en U en alu pour tenir le Raspberry

Le kit arcade :

  • Un joystick
  • 9 boutons (le kit a 11 boutons)
  • Les câbles pour relier les boutons et le joystick aux bornes gpio du Raspberry

L’outillage :

  • Vernis bois cuisine/salle de bain au téflon (j’ai mis 7 couches)
  • Mèche à bois de 28mm
  • Petites mèches pour faire les avant-trous des vis à bois (important pour ne pas éclater le bois)
  • Perceuse/visseuse achetée en vente privée chez Homyday
  • Scie circulaire ou à main pour découper le plateau
  • Dremel (facultatif)
  • Papiers de verre 40 à 240

Le montage

J’ai voulu un montage entièrement démontable et donc réparable ou upgradable : pas de colle, pas de clou.

La base est constituée d’une étagère en médium achetée en GSB déjà peinte en noir. La zone centrale est un carré presque parfait de 23x23cm.

L’envers du décor

La partie délicate commence : découper le plateau de 23x23cm sans faire d’éclat : après une première tentative à la scie à main pas vraiment droite, j’ai découpé une seconde planche à la scie circulaire : bingo, découpe parfaite. Quelque éclats sont apparus mais je les ai ratrappés en effectuant un chanfrein à la dremel + papier de verre.
Pour les trous des boutons/joystick, une mèche de 28mm a parfaitement fait le job. J’ai également percé un trou de 28 sur le devant de la console pour faire passer les câbles (hdmi, alim, manettes secondaires).

Le plan de positionnement des boutons est celui de l’excellent site bambooarcade.com : lui-même basé sur le layout original des cabinet d’arcade de type Mame. J’ai uniquement, modifié les 3 boutons du haut qui correspondent à : l’hotkey, select et start.
Le positionnement est vraiment ergonomique, les boutons tombent facilement sous la main, c’est top.

Après vissage, assemblage de l’ensemble, vient le branchement final : relier tous les boutons et les 4 switchs du joystick au Raspberry : ça fait un sacré paquet de fils mais aucune difficulté particulière avec le plan de la doc recalbox.

 

Voila, après quelques dimanches de bricolage et de tâtonnements, la console est terminée et a très bien trouvé sa place dans le salon. Elle plait à tout le monde : enfants, ados, adultes (nostalgiques) et même au chat (sic).

Résultat final

N’hésitez pas à réagir ou poser vos questions dans les commentaires ou sur twitter @jfviguier

Booster les performances d’un site Internet ?

Quelques pistes que je met souvent en œuvre chez Creabilis pour optimiser les performances d’un site Internet, que ce soit un site internet de vente en ligne, un site vitrine, corporate ou un blog, mais également un site mobile, ou le back end d’une application mobile.

Le cache de page

L’exécution des scripts php, la connexion à la base de données (mysql généralement) et l’exécution des requêtes sql prennent du temps processeur et de la mémoire serveur Le fonctionnement d’un cache de page est le suivant :

  • Lors du premier appel le serveur « génère la page » une première fois en exécutant le php, les requêtes  sql, les appels fichiers, …
  • Le système de cache capture la page html résultat et la stocke sur disque.
  • Pendant la durée de vie du cache (à ajuster en fonction de la fréquence de changement) le système de cache sert la page « statique » aux internautes réduisant drastiquement la charge serveur et le temps de réponse.

Nous avons pu constater sur certaines pages un temps de réponse divisé par 50 ! Nous réglons en général la durée de vie des pages entre 12H et 3 jours.

Le seul inconvénient : le e-marchand doit prendre en compte ce composant et vider le cache des pages concernées s’il souhaite que l’actualisation soit immédiate.

Bien entendu, les pages dynamiques par essence (caddie, disponibilité de produit, formulaire de contact) ne seront pas mises en cache.

Techniquement, le système de cache dépend du logiciel que vous utilisez, voici nos recommandations :

Compression gzip

La compression gzip des données lors du transfert http permet de réduire la quantité de données transférée pour les éléments de type texte : pages html, css, javascript, web fonts, …

La compression réduit d’environ 50 à 60% le poids et donc le temps de téléchargement.

Elle n’a pas contre aucun impact sur les images car elles sont déjà compressées : jpeg, png, gif.

Pour le mettre en place, on utilise le module apache mod_deflate via la directive AddOutputFilterByType, exemple :

AddOutputFilterByType DEFLATE text/html text/css application/x-javascript

Pour vérifier que la compression fonctionne, il suffit de vérifier la présente du header Content-Encoding:gzip dans la réponse http.

Minify javascript et css

Cette technique côté serveur permet de combiner plusieurs fichiers javascript et CSS en un seul, limitant le nombre de requêtes HTTP nécessaires.  Minify supprime également les caractères non indispensables comme les espaces et les sauts de lignes mais également les commentaires. Minify peut également réécrire les variables pour les raccourcir.

Le fichier généré est beaucoup plus petit que l’original.

Nous utilisons le projet Minify en php5 https://code.google.com/p/minify/

Soigner le cache navigateur

Le cache navigateur (Internet explorer, Chrome, Safari, Firefox) n’est pas forcément un ennemi 😉 Il peut être très utile pour accélérer le chargement des pages d’un site internet complet : la seconde page visitée comporte généralement une bonne partie d’éléments déjà chargés : logo, image de fond, css, icones, javascripts, webfonts .

Pour cela, il convient de le soigner et de lui indiquer les durées de vie des différents éléments du site et donc le « forçer » à mettre en page ces éléments :

  • Les pages html : durée de vie courte, voir nulle pour les pages dynamiques php non mise en cache.
  • Les images : durée de vie longue
  • Les css et javascripts : durée de vie longue

Pour cela, le module apache mod_expires permet de le définir facilement :

ExpiresByType text/html                 « access plus 0 seconds »
ExpiresByType image/jpeg                « access plus 1 week »
ExpiresByType text/css                  « access plus 1 week »

Mettre en œuvre un CDN ou Content Delivery Network

Cette technique un peu pointue consiste à déporter les ressources statiques (images, css, javascript, web fonts) sur un domaine différent (ou un sous-domaine différent) qui peut être sur le même serveur web ou (encore mieux) sur un second serveur.

Plusieurs avantages :

  • Les navigateurs sont limités à X téléchargements simultanés par nom de domaine (HTTP 1.1 limité à 2 connexions et HTTP 1.0 limité à 4 connexions), en multipliant les noms de domaines (sans abuser) vous augmentez le nombre de téléchargements en parallèle.
  • Ce second domaine n’ayant pas à lancer le module php (5 à 10Mo par processus) il est plus léger.
  • Les cookies et en particulier les cookies de session ne transitent plus inutilement : gain de bande passante mais également de ressource serveur qui n’a pas à monter en mémoire les données de session.
Attention à ne pas provoquer de surchauffe si les différents noms de domaine sont sur le même serveur physique : à ajuster donc finement.
Exemple à découvrir chez Label Art ou les images sont sur http://img.label-art.fr/

Images gérées en Sprites CSS

Plusieurs images (en général les icones du site) sont regroupées dans une seule image et sont par la suite découpées et ajustées en css.

Cela permet de réduire le nombre d’images à charger et donc de gagner sur la latente nécessaire à chaque connexion http. Cela allège également le nombre de processus serveur.

Pour finir

Il est possible de mesurer le niveau de performance d’un site via l’excellent service GT Metrix : http://gtmetrix.com/

Il combine les outils de Yahoo (Yslow) et de Google (Page speed).

L’ensemble de ces optimisations permettent d’augmenter drastiquement le nombre de visiteurs simultanés de votre site internet, mais également de réduire leur temps d’attente. Souvenez vous qu’un internaute lambda n’attends généralement pas plus de 4 secondes avant de décider de … changer de site, s’il est trop long.

JF