header

Cocktailand - Ajouter du cache HTTP dans mon symfony

C’est quoi un ESI ? Les ESI ou Edge Side Includes sont un balisage supporté par Varnish qui permet de gérer des temps de cache différents pour des blocs de la même page. Dans le cadre de Cocktailand, certains blocs sont actualisés régulièrement comme le “Cocktail du jour” mais d’autres ne changent quasiment jamais comme la liste des catégories. Voici donc le découpage que j’ai fait sur la page principale. Pour la barre de menu, c’est bien évidemment le contenu du méga menu que j’ai voulu mettre en évidence. ...

1 juin 2018 · 3 min · arnaud
header

Cocktailand - La stack technique

A la vue de cet article, on me dira surement que la stack technique du site Cocktailand est overkill. Ma réponse est simple: " Ouaip carrément !" Au-delà du plaisir de travailler sur la thématique des cocktails, je travaille sur ce projet aussi pour me faire plaisir techniquement et pour tester des technologies ou des services en mode SAS. Comme j’ai toujours la flemme de documenter mes sides projects, cet article fera office de documentation “technique”. ...

25 mai 2018 · 4 min · arnaud
header

Cocktailand - Monitorer les performances d'un site web

Les outils Monitorer les performances WEB d’un site web est vraiment indispensable, mais ce n’est pas simple de le faire gratuitement. Il existe des outils en ligne comme SpeedCurve mais c’est relativement cher. L’idée ici est d’avoir un suivi, certes plus simple, mais de façon gratuite. Il se trouve que j’ai déjà une stack graphite/grafana qui tourne en production. Si ce n’est pas votre cas et que vous avez un serveur avec docker qui tourne dessus vous pouvez toujours démarrer un container avec l’image docker-grafana-graphite pour tester la suite de cet article. Une fois que votre graphite est en ligne on va pouvoir commencer à pousser des metrics dedans. Un outil est très connu pour obtenir des metrics de performance sur un site web. Webpagetest, dont j’ai déjà parlé dans un billet précédent sur la mise en place de varnish et des ESIs. Il se trouve que webpagetest fournie une api. ...

6 mai 2018 · 3 min · arnaud
Performance site wordpress

Booster votre wordpress

Augmenter les performance pour diminuer le temps de réponse de son site devrait être la préoccupation de tout webmaster, afin d’améliorer au maximum l’expérience utilisateur mais aussi pour être mieux référencé sur Google. Nous allons voir dans cet article comment optimiser Wordpress pour obtenir un temps de réponse minimal. Il existe une kyrielle de plugins Wordpress qui permettent de réduire le temps de réponse de Wordpress. Un des plus connus est w3 Total Cache car il possède énormément de fonctionnalités. ...

5 novembre 2013 · 4 min · arnaud
header

Configurer shorewall sous debian

Le tuto fonctionne aussi sous Ubuntu 12.04 (oui c’est article qui date) Le pare-feu “Shoreline Firewall”, plus communément appelé “Shorewall”, est un outil qui permet de configurer plus facilement Netfilter (IpTable). Shorewall est un outil qui permet de configurer Netfilter, son travail est fini. L’avantage de Shorewall est qu’il est très flexible, une fois que l’on a compris la syntaxe. Si vous avez d’autres firewalls il faut les désinstaller avant de commencer (ex: firestarter) ...

6 novembre 2012 · 2 min · arnaud
rawpixel-790897-unsplash

Afficher des graphiques avec JQPlot

JQPlot est un plugin JQuery qui permet de dessiner des graphiques dans vos pages HTML. Si vous faites des pages de statistiques sur vos pages Internet vous comprendrez rapidement quelles sont les applications et surtout en quoi il vous simplifie les choses. En effet, il vous suffit de lui donner les données et de décider quel type de graphique vous voulez obtenir en sortie et le tour est joué ! On peut facilement imager une fonction PHP (ou autre) qui va générer les données qu’il faut mettre en entrée de JQPlot à partir de votre base de données. ...

16 août 2011 · 1 min · arnaud
rawpixel-1054575-unsplash

Framework JQuery mobile

Jqmphp, framework JQuery mobile

16 août 2011 · 2 min · arnaud
matthew-henry-87142-unsplash

Faire un audit de sécurité

Hacker Target est un site Internet qui vous propose de tester les vulnérabilités de votre application web. Le site vous propose plusieurs types de tests selon votre site Internet. Voici la liste complète des tests proposés gratuitement par le site (limité à 4/jours) : les injections SQL les CMS Drupal, Joomla et WordPress les ports de votre serveur les vulnérabilités de vos services les problèmes de configuration ou de scripts faire du fingerprint (déterminer les versions de vos librairies et logiciels) en savoir plus sur votre domaine par le biais de whois par exemples obtenir des infos sur vos CMS, fameworks, serveur, emplacement géographique…Etc Nous allons ici détailler le test concernant WordPress car c’est celui que je viens de réaliser sur localhost:8080. ...

12 août 2011 · 2 min · arnaud
chuttersnap-776317-unsplash

Charger vos scripts en asynchrone

Le chargement de vos fichiers Javascript ralentit le chargement de page. Ceci est logique car le navigateur doit télécharger les fichiers avant de faire l’affichage. Grâce à Require.js vous allez pouvoir charger vos JavaScript en asynchrone. C’est-à-dire charger le texte, les images, les styles puis seulement une fois que la page est affichée correctement, et que le lecteur peut commencer à lire le contenu, le JavaScript. Require.js permet aussi de détecter les fichiers qui ont déjà été chargés afin de ne pas les recharger. ...

10 août 2011 · 1 min · arnaud
stella-de-smit-977349-unsplash

Menu contextuel en JavaScript

Le plugin JQuery contextMenu vous permet de faire des menus contextuels sur des images, du texte ou tout autre contenu. L’utilisation de contextMenu peut être utile pour permettre de partager un contenu sur les réseaux sociaux, pour gérer du contenu dynamique ou simplement pour afficher des informations à l’utilisateur. Voici un exemple de menu contextuel généré par le plugin : Pour obtenir ce genre de résultat voici comment appeler le plugin : $.contextMenu({selector: '#id_de_votre_objet_html', items: { edit: {name: "Edit", icon: "edit", callback: $.noop}, cut: {name: "Cut", icon: "cut", callback: $.noop}, copy: {name: "Copy", icon: "copy", callback: $.noop}, paste: {name: "Paste", icon: "paste", callback: $.noop}, "delete": {name: "Delete", icon: "delete", callback: $.noop}, sep1: "---------", quit: {name: "Quit", icon: "quit", callback: $.noop} }}); Comme vous pouvez le voir son utilisation est très simple. ...

8 août 2011 · 1 min · arnaud