<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Outweb</title><link>https://outweb.eu/</link><description>Recent content on Outweb</description><image><title>Outweb</title><url>https://outweb.eu/images/seo/outweb-default-og.svg</url><link>https://outweb.eu/images/seo/outweb-default-og.svg</link></image><generator>Hugo</generator><language>fr-FR</language><lastBuildDate>Fri, 07 Jan 2022 22:56:22 +0000</lastBuildDate><atom:link href="https://outweb.eu/feed.xml" rel="self" type="application/rss+xml"/><item><title>Sample Page</title><link>https://outweb.eu/sample-page/</link><pubDate>Fri, 07 Jan 2022 22:56:22 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/sample-page/</guid><description>&lt;p>This is an example page. It&amp;rsquo;s different from a blog post because it will stay in one place and will show up in your site navigation (in most themes). Most people start with an About page that introduces them to potential site visitors. It might say something like this:&lt;/p>
&lt;blockquote>
&lt;p>Hi there! I&amp;rsquo;m a bike messenger by day, aspiring actor by night, and this is my website. I live in Los Angeles, have a great dog named Jack, and I like piña coladas. (And gettin&amp;rsquo; caught in the rain.)&lt;/p></description></item><item><title>Sécurité informatique : quel est l'impact de la pandémie ?</title><link>https://outweb.eu/2021/08/26/securite-informatique-quel-est-limpact-de-la-pandemie/</link><pubDate>Thu, 26 Aug 2021 14:45:37 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2021/08/26/securite-informatique-quel-est-limpact-de-la-pandemie/</guid><description>&lt;p>Les entreprises ont dû mettre en place une nouvelle organisation pour poursuivre leur activité malgré la pandémie. Le télétravail a ainsi explosé depuis la crise sanitaire mondiale. Bien que cette transformation numérique leur ait permis de ne pas sombrer, les problèmes liés à la cybersécurité restent une préoccupation essentielle. Prévoir des solutions informatiques sécurisées est donc devenu une priorité.&lt;/p>
&lt;h2 id="une-augmentation-des-cyberattaques">Une augmentation des cyberattaques&lt;/h2>
&lt;p>Le &lt;strong>télétravail a connu un essor important&lt;/strong> depuis le début de la crise sanitaire. La transformation numérique était donc incontournable pour de nombreuses entreprises, tous secteurs d&amp;rsquo;activité confondus.&lt;/p></description></item><item><title>Internet : comment bien référencer son site ?</title><link>https://outweb.eu/2021/08/20/internet-comment-bien-referencer-son-site/</link><pubDate>Fri, 20 Aug 2021 08:26:24 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2021/08/20/internet-comment-bien-referencer-son-site/</guid><description>&lt;p>Si vous désirez faire connaître votre site, le rendre plus visible et augmenter le trafic, il est important de bien le référencer. La question du référencement d&amp;rsquo;un site est en effet cruciale, aussi bien pour une grande entreprise que pour une PME ou même un particulier. Alors, comment bien référencer son site ? Voici quelques conseils et astuces pour mener à bien votre mission et vous faire davantage connaître des internautes.&lt;/p></description></item><item><title>Monter un caisson réseau à la maison</title><link>https://outweb.eu/2020/09/15/monter-un-caisson-reseau-a-la-maison/</link><pubDate>Tue, 15 Sep 2020 16:01:03 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2020/09/15/monter-un-caisson-reseau-a-la-maison/</guid><description>&lt;p>Je viens d&amp;rsquo;emménager dans une nouvelle maison dans laquelle il n&amp;rsquo;y avait pas du tout de réseau filaire. Comme on avait pas mal de travaux de décoration à faire j&amp;rsquo;ai fait poser des prises réseaux dans les pièces principales de la maison.&lt;/p>
&lt;p>Avant de commencer les travaux j&amp;rsquo;ai donc fait venir des électriciens pour mettre le réseau électrique en sécurité et tirer des câbles réseau dans la plupart des pièces de la maison. Pensez bien à le faire avant de commencer les travaux de rénovation car, pour faire propre, il faut faire des saignées et des trous un peu partout.&lt;/p></description></item><item><title>Les articles récents</title><link>https://outweb.eu/blog-2/</link><pubDate>Wed, 08 Apr 2020 13:06:51 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/blog-2/</guid><description/></item><item><title>A propos</title><link>https://outweb.eu/about/</link><pubDate>Wed, 08 Apr 2020 13:06:49 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/about/</guid><description>&lt;figure>
&lt;img loading="lazy" src="https://lahaxe.fr/assets/photo-B8JYFnx6.png"
alt="Arnaud LAHAXE"/>
&lt;/figure>
&lt;h2 id="blog-tenu-par-arnaud-lahaxe">Blog tenu par Arnaud LAHAXE&lt;/h2>
&lt;p>Ce blog est tenu par Arnaud LAHAXE.&lt;/p>
&lt;p>CV: &lt;a href="https://lahaxe.fr">https://lahaxe.fr&lt;/a>&lt;/p></description></item><item><title>Comment fonctionne l'e-reputation ?</title><link>https://outweb.eu/2019/12/10/comment-fonctionne-le-reputation/</link><pubDate>Tue, 10 Dec 2019 08:42:00 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2019/12/10/comment-fonctionne-le-reputation/</guid><description>&lt;p>Lancer une activité ou créer votre société n&amp;rsquo;est pas toujours facile. En effet, outre sa création, il est aussi essentiel de maintenir la réputation et la notoriété de votre société. Cela permettra de vous faire connaître davantage afin d&amp;rsquo;attirer plus de clients. Depuis quelque temps, les outils digitaux ne cessent de connaître des évolutions si bien que les notions de notoriété et de réputation d&amp;rsquo;une entreprise se propagent aussi dans le monde virtuel. Alors, comment cela fonctionne et pourquoi est-ce si important ?&lt;/p></description></item><item><title>Développer rapidement votre activité grâce au webmarketing</title><link>https://outweb.eu/2019/07/24/developper-rapidement-votre-activite-grace-au-webmarketing/</link><pubDate>Wed, 24 Jul 2019 09:56:11 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2019/07/24/developper-rapidement-votre-activite-grace-au-webmarketing/</guid><description>&lt;p>Le développement de votre activité est votre finalité. Créer votre entreprise a été assez facile, mais pour la faire grandir
le chemin se révèle compliqué. Faire évoluer votre business plus rapidement nécessite ainsi des plans d&amp;rsquo;action bien pensés.
Je vais donc attirer votre attention sur le webmarketing aujourd&amp;rsquo;hui, un outil indispensable au fleurissement de votre boîte.&lt;/p>
&lt;h2 id="la-visibilité-sur-internet-un-levier-de-croissance-à-ne-pas-négliger">La visibilité sur internet, un levier de croissance à ne pas négliger&lt;/h2>
&lt;p>Pour faire grandir votre activité à Bordeaux, vous devez être visible et connu. Internet peut vous aider à atteindre cet
objectif. D&amp;rsquo;où le webmarketing. Ce dernier regroupe tous les dispositifs mis en œuvre pour faire la promotion en ligne de
votre activité.
&lt;strong>Pour booster la réussite de votre entreprise, vous devrez penser à vous faire accompagner par une agence de référencement&lt;/strong>
&lt;strong>naturel&lt;/strong>
de votre ville, que vous trouverez par exemple sur
&lt;a href="https://www.adf-referencement-bordeaux.com/">https://www.adf-referencement-bordeaux.com/&lt;/a>
.&lt;/p></description></item><item><title>Filtrer vos requêtes DNS sur votre réseau local</title><link>https://outweb.eu/2019/01/21/filtrer-vos-requetes-dns-sur-votre-reseau-local/</link><pubDate>Mon, 21 Jan 2019 09:00:45 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2019/01/21/filtrer-vos-requetes-dns-sur-votre-reseau-local/</guid><description>&lt;p>&lt;a href="https://pi-hole.net">Pi-hole&lt;/a> est un projet open-source prévu pour tourner sur un raspberry pi, qui permet de filtrer les requêtes DNS dans le but de bloquer les publicités et le tracking. L&amp;rsquo;idée est de faire ce filtrage au niveau du réseau afin de pouvoir bloquer aussi les publicités dans les applications et sur les navigateurs mobiles qui n&amp;rsquo;ont pas forcement d&amp;rsquo;Adblock.&lt;/p>
&lt;p>Pour mon installation j&amp;rsquo;ai ressorti un vieux raspberry 1 b+ et j&amp;rsquo;ai utilisé l&amp;rsquo;installation recommandé sur le site:&lt;/p></description></item><item><title>Test des solutions serverless</title><link>https://outweb.eu/2019/01/14/test-des-solutions-serverless/</link><pubDate>Mon, 14 Jan 2019 09:00:49 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2019/01/14/test-des-solutions-serverless/</guid><description>&lt;p>Il existe plusieurs solutions open sources ou hébergées pour monter sa propre architecture serverless. J&amp;rsquo;ai choisi de tester les deux solutions open sources plus populaires, ainsi que deux des plus gros acteurs actuellement sur le marché afin de me faire une idée du fonctionnement de chaque solution. Je vais déployer un simple hello world sur l&amp;rsquo;ensemble des outils afin de tester l&amp;rsquo;utilisation et les temps de réponses.&lt;/p>
&lt;p>Je ne connais aucunes des solutions, mais je vais me faire mon analyse autour des 5 points suivants :&lt;/p></description></item><item><title>C'est quoi le serverless ?</title><link>https://outweb.eu/2019/01/07/cest-quoi-le-serverless/</link><pubDate>Mon, 07 Jan 2019 09:00:28 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2019/01/07/cest-quoi-le-serverless/</guid><description>&lt;p>Le serverless, je ne connais pas du tout. L&amp;rsquo;idée est de faire une série d&amp;rsquo;articles découvertes sur cette architecture. L&amp;rsquo;idée est d&amp;rsquo;aller jusqu&amp;rsquo;à la création d&amp;rsquo;une petite application.&lt;/p>
&lt;p>Depuis deux ans on parle de plus en plus de &lt;em>serverless&lt;/em> mais il n&amp;rsquo;est pas toujours simple de voir exactement de ce que cela implique pour une application d&amp;rsquo;être &lt;em>serverless&lt;/em>. Autre point, est-ce qu&amp;rsquo;être serverless implique qu&amp;rsquo;il n&amp;rsquo;y ait pas de serveur du tout ?&lt;/p></description></item><item><title>Monter un registry docker privé</title><link>https://outweb.eu/2018/12/31/monter-un-registry-docker-prive/</link><pubDate>Mon, 31 Dec 2018 09:00:18 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2018/12/31/monter-un-registry-docker-prive/</guid><description>&lt;p>Si vous n&amp;rsquo;avez pas de compte payant sur docker hub mais que vous ne voulez pas publier publiquement une image docker il va falloir trouver des solutions pour pouvoir héberger vos images docker. Par exemple en montant un registry docker privé pour héberger vos images docker.&lt;/p>
&lt;p>Dans cet article nous allons voir comment monter un registry docker et comment y accéder en HTTPs sans avoir à déployer de certificat.&lt;/p>
&lt;p>Pour cet exemple je vais utiliser un petit serveur START1-S chez scaleway à moins de 2 euros par mois.&lt;/p></description></item><item><title>Gérer ses tunnels SSH avec Mole</title><link>https://outweb.eu/2018/12/24/gerer-ses-tunnels-ssh-avec-mole/</link><pubDate>Mon, 24 Dec 2018 13:00:35 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2018/12/24/gerer-ses-tunnels-ssh-avec-mole/</guid><description>&lt;p>&lt;a href="https://github.com/davrodpin/mole">Mole&lt;/a> est une application en ligne de commande qui permet de simplifier la création de tunnels SSH.&lt;/p>
&lt;p>Il est parfois utile de monter un tunnel pour accéder à un service qui n&amp;rsquo;est pas ouvert sur le WEB. Par exemple si votre serveur MYSQL, n&amp;rsquo;est accessible que depuis votre serveur web ou votre serveur de backup. Ou encore pour contourner un firewall qui bloquerait un port en particulier.&lt;/p>
&lt;figure>
&lt;img loading="lazy" src="https://outweb.eu/wp-content/uploads/2018/11/ssh-local1-1024x628.png"/>
&lt;/figure>
&lt;p>Sur cet exemple le serveur bleu ne peut pas accéder au port 80 (application web) du serveur rouge car un firewall le bloque. Mais le port 22 (ssh) est accessible. Il est donc possible de créer un tunnel qui forward le port 80 sur serveur rouge sur le port 8080 du serveur bleu. Une fois le tunnel mis en place il sera possible d&amp;rsquo;accéder à l&amp;rsquo;application web du serveur rouge via l&amp;rsquo;url: http://blue:8080.&lt;/p></description></item><item><title>Explorer vos json dans le terminal avec fx</title><link>https://outweb.eu/2018/12/17/explorer-vos-json-dans-le-terminal-avec-fx/</link><pubDate>Mon, 17 Dec 2018 09:00:39 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2018/12/17/explorer-vos-json-dans-le-terminal-avec-fx/</guid><description>&lt;p>&lt;a href="https://github.com/antonmedv/fx">Fx&lt;/a> est une application node installable via npm ou yarn qui permet de visualiser et d&amp;rsquo;interagir avec un json directement dans le terminal.&lt;/p>
&lt;figure>
&lt;img loading="lazy" src="https://user-images.githubusercontent.com/141232/47933350-f0f22900-df06-11e8-9cf2-88492c1be774.gif"/>
&lt;/figure>
&lt;p>Ce qui est intéressant c&amp;rsquo;est qu&amp;rsquo;il est possible d&amp;rsquo;explorer le json en précisant un path à afficher.&lt;/p>
&lt;p>Voici un exemple sur un fichier package.json :&lt;/p>
&lt;p>Il est même possible d&amp;rsquo;aller un peu plus loin et de lui donner une ou plusieurs fonctions anonymes en paramètre.&lt;/p>
&lt;p>Un petit outil sympa qui va vous éviter de copier/ coller votre json dans un IDE pour le remettre en forme et naviguer dedans.&lt;/p></description></item><item><title>Monter un cluster swarm avec des Raspberry pi et HypriotOS</title><link>https://outweb.eu/2018/12/10/monter-un-cluster-swarm-avec-des-raspberry-pi-et-hypriotos/</link><pubDate>Mon, 10 Dec 2018 09:00:20 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2018/12/10/monter-un-cluster-swarm-avec-des-raspberry-pi-et-hypriotos/</guid><description>&lt;p>HypriotOs est une version de &lt;a href="https://www.raspberrypi.org/downloads/raspbian/">raspbian&lt;/a> dans laquelle docker, et docker swarm sont pré installés. La particularité est que HypriotOs tourne sur des architectures ARM telles que les Raspberry, le Nvidia shield et quelques autres cartes comme les ODROID C2.&lt;/p>
&lt;p>Dans cet article, nous allons voir comment monter un petit cluster swarm avec trois noeuds (1 manager et 2 workers). Une fois la partie serveur montée, nous ferons tourner des services dessus à la fois en lignes de commandes et via une interface graphique.&lt;/p></description></item><item><title>Analyse de code statique avec phpstan</title><link>https://outweb.eu/2018/12/03/analyse-de-code-static-avec-phpstan/</link><pubDate>Mon, 03 Dec 2018 09:00:25 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2018/12/03/analyse-de-code-static-avec-phpstan/</guid><description>&lt;p>&lt;a href="https://github.com/phpstan/phpstan">Phpstan&lt;/a> est un outil en ligne de commande qui va vous permettre de détecter automatiquement les erreurs les plus simples en scannant l&amp;rsquo;intégralité de votre projet.&lt;/p>
&lt;figure>
&lt;img loading="lazy" src="https://github.com/phpstan/phpstan/raw/master/build/phpstan.gif"/>
&lt;/figure>
&lt;p>De base, l&amp;rsquo;outil va analyser une application PHP sans tenir compte des spécificités des différents frameworks et librairies. C&amp;rsquo;est pourquoi il existe des extensions comme &lt;a href="https://github.com/phpstan/phpstan-symfony">PHPstan Symfony&lt;/a> pour affiner l&amp;rsquo;analyse.&lt;/p>
&lt;p>Si comme moi vous voulez l&amp;rsquo;utiliser sur un projet qui a beaucoup de legacy (plus de 10 ans) vous allez avoir un rapport gigantesque. Il faut trouver des solutions pour réduire le rapport à la pull request (merge request) que l&amp;rsquo;on doit relire.&lt;/p></description></item><item><title>Comment vérifier le contenu d'une image docker</title><link>https://outweb.eu/2018/11/26/securite-verifier-le-contenu-d-une-image-docker/</link><pubDate>Mon, 26 Nov 2018 09:00:49 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2018/11/26/securite-verifier-le-contenu-d-une-image-docker/</guid><description>&lt;p>Au travail nous avons pour politique de builder et de maintenir nos propres images docker. Mais pour &lt;a href="https://outweb.eu/cocktailand-la-stack-technique/">un projet perso&lt;/a> j&amp;rsquo;utilise des images docker publiques. Je m&amp;rsquo;efforce d&amp;rsquo;utiliser au maximum des images officielles mais certaines contributions de la communauté sont parfaites pour mes besoins. Le problème est de savoir avec certitude ce que contient un image. Une image téléchargée sur un hub est une boîte noire qu&amp;rsquo;il faut inspecter avant de l&amp;rsquo;utiliser.&lt;/p></description></item><item><title>Intervention à Epitech Nancy</title><link>https://outweb.eu/2018/11/19/intervention-a-epitech-nancy/</link><pubDate>Mon, 19 Nov 2018 09:00:12 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2018/11/19/intervention-a-epitech-nancy/</guid><description>&lt;p>Avec le boulot, on a décidé de partager notre expérience dans les écoles et événements autour du WEB sur la région Nancéienne &lt;strong>.&lt;/strong> Il n&amp;rsquo;est pas exclu, par la suite, de participer à des événements plus grands comme le forum PHP, le PHP Tour, le blendmix web ou autres événements du genre. Mais comme nous ne sommes pas très habitués à ce genre d&amp;rsquo;événements autant commencer plus modestement. Depuis des années nous assistons aux conférences, mais passer de l&amp;rsquo;autre côté du pupitre n&amp;rsquo;est pas une chose que l&amp;rsquo;on improvise.&lt;/p></description></item><item><title>Symfony Messenger et rabbitmq</title><link>https://outweb.eu/2018/11/12/symfony-messenger-et-rabbitmq/</link><pubDate>Mon, 12 Nov 2018 15:00:54 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2018/11/12/symfony-messenger-et-rabbitmq/</guid><description>&lt;p>Symfony 4 apporte un nouveau composant qui va nous permettre de brancher notre application sur un, ou des, brokers de messages. Grâce à ce composant, on va pouvoir accélérer notre application en traitant de façon asynchrone tout ce qui n&amp;rsquo;est pas strictement nécessaire à l&amp;rsquo;affichage de nos pages. Ce module maintenu par la Core Team Symfony va à terme remplacer les bundles existants.&lt;/p>
&lt;h2 id="use-case">Use case&lt;/h2>
&lt;p>Un exemple couramment utilisé pour expliquer pourquoi c&amp;rsquo;est nécessaire d&amp;rsquo;utiliser ce genre de technique est le suivant:&lt;/p></description></item><item><title>Du machine learning dans mes cocktails</title><link>https://outweb.eu/2018/11/08/du-machine-learning-dans-mes-cocktails/</link><pubDate>Thu, 08 Nov 2018 07:37:00 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2018/11/08/du-machine-learning-dans-mes-cocktails/</guid><description>&lt;p>Dans cet article, nous allons parler Mojitos, machine learning et PHP, trois sujets que l&amp;rsquo;on mélange assez rarement, mais qui dans le cas du site &lt;a href="https://cocktailand.fr">Cocktailand&lt;/a> sont rassemblés.&lt;/p>
&lt;h2 id="use-case">Use case&lt;/h2>
&lt;p>Je souhaite afficher la recette de cocktail qui ressemble le plus à celle que le visiteur est en train de lire. Comme je suis finalement quelqu&amp;rsquo;un d&amp;rsquo;assez fainéant, je n&amp;rsquo;ai pas envie de maintenir des listes de cocktails associés manuellement. Il faut donc trouver un moyen de calculer automatiquement cette liste pour les quelques 600 recettes et que cette liste soit mise à jour automatiquement pour intégrer les nouvelles recettes.&lt;/p></description></item><item><title>Cocktailand - Gérer ses images sous symfony</title><link>https://outweb.eu/2018/06/05/cocktailand-gerer-ses-images-sous-symfony/</link><pubDate>Tue, 05 Jun 2018 05:54:45 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2018/06/05/cocktailand-gerer-ses-images-sous-symfony/</guid><description>&lt;p>La page d&amp;rsquo;accueil de &lt;a href="https://cocktailand.fr/">cocktailand&lt;/a> affiche en moyenne 35 images. Dans sa première version, je n&amp;rsquo;avais pas pris la peine de soigner la gestion des images. J&amp;rsquo;avais pour objectif de sortir le &lt;a href="https://fr.wikipedia.org/wiki/Produit_minimum_viable">produit minimum viable&lt;/a>, je me suis donc attardé sur les fonctionnalités principales:&lt;/p>
&lt;ul>
&lt;li>L&amp;rsquo;ajout des recettes de cocktail&lt;/li>
&lt;li>L&amp;rsquo;affichage des recettes de cocktails&lt;/li>
&lt;li>La catégorisation&lt;/li>
&lt;li>Le moteur de recherche&lt;/li>
&lt;/ul>
&lt;p>Cette méthodologie permet de sortir rapidement un site de base et de l&amp;rsquo;enrichir de façon successive.&lt;/p></description></item><item><title>Cocktailand - Ajouter du cache HTTP dans mon symfony</title><link>https://outweb.eu/2018/06/01/cocktailand-ajoute-du-cache-http-dans-mon-symfony/</link><pubDate>Fri, 01 Jun 2018 05:45:42 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2018/06/01/cocktailand-ajoute-du-cache-http-dans-mon-symfony/</guid><description>&lt;h2 id="cest-quoi-un-esi-">C&amp;rsquo;est quoi un ESI ?&lt;/h2>
&lt;p>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.&lt;/p>
&lt;p>Dans le cadre de &lt;a href="https://cocktailand.fr/">Cocktailand&lt;/a>, certains blocs sont actualisés régulièrement comme le &amp;ldquo;Cocktail du jour&amp;rdquo; mais d&amp;rsquo;autres ne changent quasiment jamais comme la liste des catégories.&lt;/p>
&lt;p>Voici donc le découpage que j&amp;rsquo;ai fait sur la page principale. Pour la barre de menu, c&amp;rsquo;est bien évidemment le contenu du méga menu que j&amp;rsquo;ai voulu mettre en évidence.&lt;/p></description></item><item><title>Cocktailand - La stack technique</title><link>https://outweb.eu/2018/05/25/cocktailand-la-stack-technique/</link><pubDate>Fri, 25 May 2018 05:24:04 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2018/05/25/cocktailand-la-stack-technique/</guid><description>&lt;p>A la vue de cet article, on me dira surement que la stack technique du site &lt;a href="https://cocktailand.fr/">Cocktailand&lt;/a> est overkill.&lt;/p>
&lt;p>Ma réponse est simple: &amp;quot; &lt;strong>Ouaip carrément !&lt;/strong>&amp;quot;&lt;/p>
&lt;p>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.&lt;/p>
&lt;p>Comme j&amp;rsquo;ai toujours la flemme de documenter mes sides projects, cet article fera office de documentation &amp;ldquo;technique&amp;rdquo;.&lt;/p></description></item><item><title>Cocktailand - Monitorer les performances d'un site web</title><link>https://outweb.eu/2018/05/06/cocktailand-monitorer-les-performances-dun-site-web/</link><pubDate>Sun, 06 May 2018 05:34:25 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2018/05/06/cocktailand-monitorer-les-performances-dun-site-web/</guid><description>&lt;h2 id="les-outils">Les outils&lt;/h2>
&lt;p>Monitorer les performances WEB d&amp;rsquo;un site web est vraiment indispensable, mais ce n&amp;rsquo;est pas simple de le faire gratuitement. Il existe des outils en ligne comme &lt;a href="https://speedcurve.com/">SpeedCurve&lt;/a> mais c&amp;rsquo;est relativement cher.&lt;/p>
&lt;p>L&amp;rsquo;idée ici est d&amp;rsquo;avoir un suivi, certes plus simple, mais de façon gratuite. Il se trouve que j&amp;rsquo;ai déjà une stack graphite/grafana qui tourne en production. Si ce n&amp;rsquo;est pas votre cas et que vous avez un serveur avec docker qui tourne dessus vous pouvez toujours démarrer un container avec l&amp;rsquo;image &lt;a href="https://github.com/kamon-io/docker-grafana-graphite">docker-grafana-graphite&lt;/a> 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&amp;rsquo;ai déjà parlé dans un billet précédent sur la mise en place de &lt;a href="https://outweb.eu/cocktailand-ajoute-du-cache-http-dans-mon-symfony/">varnish et des ESIs&lt;/a>. Il se trouve que webpagetest fournie une api.&lt;/p></description></item><item><title>Booster votre wordpress</title><link>https://outweb.eu/2013/11/05/booster-wordpress/</link><pubDate>Tue, 05 Nov 2013 21:28:38 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2013/11/05/booster-wordpress/</guid><description>&lt;p>Augmenter les performance pour diminuer le temps de réponse de son site devrait être la préoccupation de tout webmaster, afin d&amp;rsquo;améliorer au maximum l&amp;rsquo;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.&lt;/p>
&lt;p>Il existe une kyrielle de plugins Wordpress qui permettent de réduire le temps de réponse de Wordpress. Un des plus connus est &lt;a href="http://wordpress.org/plugins/w3-total-cache/">w3 Total Cache&lt;/a> car il possède énormément de fonctionnalités.&lt;/p></description></item><item><title>Configurer shorewall sous debian</title><link>https://outweb.eu/2012/11/06/configurer-shorewall-sous-debian/</link><pubDate>Tue, 06 Nov 2012 05:55:01 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2012/11/06/configurer-shorewall-sous-debian/</guid><description>&lt;p>&lt;em>Le tuto fonctionne aussi sous Ubuntu 12.04&lt;/em> (oui c&amp;rsquo;est article qui date)&lt;/p>
&lt;p>Le pare-feu &amp;ldquo;Shoreline Firewall&amp;rdquo;, plus communément appelé &amp;ldquo;&lt;a href="http://shorewall.net/">Shorewall&lt;/a>&amp;rdquo;, est un outil qui permet de configurer plus facilement &lt;a href="http://www.netfilter.org/">Netfilter&lt;/a> (&lt;a href="http://fr.wikipedia.org/wiki/Iptables">IpTable&lt;/a>).&lt;/p>
&lt;p>&lt;a href="http://shorewall.net/">Shorewall&lt;/a> est un outil qui permet de configurer &lt;a href="http://www.netfilter.org/">Netfilter&lt;/a>, son travail est fini.&lt;/p>
&lt;p>L&amp;rsquo;avantage de &lt;a href="http://shorewall.net/">Shorewall&lt;/a> est qu&amp;rsquo;il est très flexible, une fois que l&amp;rsquo;on a compris la syntaxe.&lt;/p>
&lt;p>Si vous avez d&amp;rsquo;autres firewalls il faut les désinstaller avant de commencer (ex: &lt;a href="http://www.fs-security.com/">firestarter&lt;/a>)&lt;/p></description></item><item><title>Afficher des graphiques avec JQPlot</title><link>https://outweb.eu/2011/08/16/afficher-des-graphiques-avec-jqplot/</link><pubDate>Tue, 16 Aug 2011 06:28:46 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2011/08/16/afficher-des-graphiques-avec-jqplot/</guid><description>&lt;p>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&amp;rsquo;il faut mettre en entrée de JQPlot à partir de votre base de données.&lt;/p></description></item><item><title>Framework JQuery mobile</title><link>https://outweb.eu/2011/08/16/framework-jquery-mobile/</link><pubDate>Tue, 16 Aug 2011 06:28:45 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2011/08/16/framework-jquery-mobile/</guid><description>Jqmphp, framework JQuery mobile</description></item><item><title>Faire un audit de sécurité</title><link>https://outweb.eu/2011/08/12/faire-un-audit-de-securite/</link><pubDate>Fri, 12 Aug 2011 08:00:24 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2011/08/12/faire-un-audit-de-securite/</guid><description>&lt;p>&lt;a href="http://hackertarget.com/free-security-vulnerability-scans/">Hacker Target&lt;/a> est un site Internet qui vous propose de tester les vulnérabilités de votre application web.&lt;br>
Le site vous propose plusieurs types de tests selon votre site Internet.&lt;/p>
&lt;p>Voici la liste complète des tests proposés gratuitement par le site (limité à 4/jours) :&lt;/p>
&lt;ul>
&lt;li>les injections SQL&lt;/li>
&lt;li>les CMS Drupal, Joomla et WordPress&lt;/li>
&lt;li>les ports de votre serveur&lt;/li>
&lt;li>les vulnérabilités de vos services&lt;/li>
&lt;li>les problèmes de configuration ou de scripts&lt;/li>
&lt;li>faire du fingerprint (déterminer les versions de vos librairies et logiciels)&lt;/li>
&lt;li>en savoir plus sur votre domaine par le biais de whois par exemples&lt;/li>
&lt;li>obtenir des infos sur vos CMS, fameworks, serveur, emplacement géographique…Etc&lt;/li>
&lt;/ul>
&lt;p>Nous allons ici détailler le test concernant WordPress car c&amp;rsquo;est celui que je viens de réaliser sur localhost:8080.&lt;/p></description></item><item><title>Charger vos scripts en asynchrone</title><link>https://outweb.eu/2011/08/10/charger-vos-scripts-en-asynchrone/</link><pubDate>Wed, 10 Aug 2011 08:00:22 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2011/08/10/charger-vos-scripts-en-asynchrone/</guid><description>&lt;p>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&amp;rsquo;affichage. Grâce à &lt;a href="https://requirejs.org/">Require.js&lt;/a> vous allez pouvoir charger vos JavaScript en asynchrone. C&amp;rsquo;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.&lt;/p></description></item><item><title>Menu contextuel en JavaScript</title><link>https://outweb.eu/2011/08/08/menu-contextuel-en-javascript/</link><pubDate>Mon, 08 Aug 2011 19:21:24 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2011/08/08/menu-contextuel-en-javascript/</guid><description>&lt;p>Le plugin JQuery &lt;a href="https://swisnl.github.io/jQuery-contextMenu/">contextMenu&lt;/a> 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&amp;rsquo;utilisateur.&lt;/p>
&lt;p>Voici un exemple de menu contextuel généré par le plugin :&lt;/p>
&lt;p>Pour obtenir ce genre de résultat voici comment appeler le plugin :&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-fallback" data-lang="fallback">&lt;span style="display:flex;">&lt;span>$.contextMenu({selector: &amp;#39;#id_de_votre_objet_html&amp;#39;, items: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> edit: {name: &amp;#34;Edit&amp;#34;, icon: &amp;#34;edit&amp;#34;, callback: $.noop},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> cut: {name: &amp;#34;Cut&amp;#34;, icon: &amp;#34;cut&amp;#34;, callback: $.noop},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> copy: {name: &amp;#34;Copy&amp;#34;, icon: &amp;#34;copy&amp;#34;, callback: $.noop},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> paste: {name: &amp;#34;Paste&amp;#34;, icon: &amp;#34;paste&amp;#34;, callback: $.noop},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;delete&amp;#34;: {name: &amp;#34;Delete&amp;#34;, icon: &amp;#34;delete&amp;#34;, callback: $.noop},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> sep1: &amp;#34;---------&amp;#34;,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> quit: {name: &amp;#34;Quit&amp;#34;, icon: &amp;#34;quit&amp;#34;, callback: $.noop}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}});
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Comme vous pouvez le voir son utilisation est très simple.&lt;/p></description></item><item><title>Rendre votre CSS compatible sur tous les navigateurs</title><link>https://outweb.eu/2011/08/08/rendre-votre-css-compatible-sur-tous-les-navigateurs/</link><pubDate>Mon, 08 Aug 2011 08:00:13 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2011/08/08/rendre-votre-css-compatible-sur-tous-les-navigateurs/</guid><description>&lt;p>&lt;a href="http://prefixr.com/">Prefixr&lt;/a> est un outil, en version alpha, qui vas vous aider dans le développement de vos designs. En effet, le site vous propose de prendre n&amp;rsquo;importe quel code CSS et de vous en ressortir un code CSS compatible sur tous les navigateurs.&lt;/p>
&lt;p>Voici un exemple d&amp;rsquo;utilisation :&lt;/p>
&lt;p>Vous avez écrit :&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-fallback" data-lang="fallback">&lt;span style="display:flex;">&lt;span>.example {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> border: 10px solid #000000;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> width: 500px;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> height: 500px;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> -moz-border-radius: 10px 200px 200px 10px;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Malheureusement -moz-border-radius ne fonctionne pas sur tous les navigateurs&amp;hellip; On vas donc passer le code dans Prefixr pour le rendre compatible.&lt;/p></description></item><item><title>Les extensions Wordpress</title><link>https://outweb.eu/2011/08/06/les-extensions-wordpress/</link><pubDate>Sat, 06 Aug 2011 08:00:38 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2011/08/06/les-extensions-wordpress/</guid><description>&lt;p>Wordpress est un des CMS les plus utilisés dans le monde. Il permet de créer rapidement et très simplement un blog, mais aussi des sites Internet en tous genres. Avec les bonnes extensions, vous pouvez même en faire un site de e-commerce. Son avantage est principalement son optimisation pour le référencement. En effet, si vous avez du contenu intéressant, il sera facilement et rapidement indexé sur les moteurs de recherche. Un des autres avantages de Wordpress est sa grande flexibilité. Vous pouvez réussir à faire énormément de choses juste en ajoutant des extensions. Voici donc une liste des extensions que vous pourrez directement installer depuis votre interface administrateur. Pour installer une extension, rendez-vous dans Extensions&amp;gt;Ajouter.&lt;/p></description></item><item><title>Système de tag d'images avec JQuery image annotate</title><link>https://outweb.eu/2011/08/05/systeme-de-tag-dimage-avec-jquery-image-anotate/</link><pubDate>Fri, 05 Aug 2011 19:07:40 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2011/08/05/systeme-de-tag-dimage-avec-jquery-image-anotate/</guid><description>&lt;p>Vous souhaitez mettre en place un système de tag d&amp;rsquo;image comme sur Flickr ou Facebook, mais vous ne savez même pas par où commencer. &lt;a href="http://blog.flipbit.co.uk/2009/03/jquery-image-annotation-plugin.html">jQuery Image Annotation Plugin&lt;/a>, couplé à Jquery et JQuery UI, vous permet de faire ceci sans aucune difficulté.&lt;/p>
&lt;p>Le plugin permet d&amp;rsquo;ajouter, de modifier, et de supprimer des annotations sur l&amp;rsquo;image. J&amp;rsquo;ai fait le test avec la dernière version 3.2 et le résultat obtenu est plutôt soigné. Voici le code HTML / JavaScript nécessaire pour utiliser cette librairie.&lt;/p></description></item><item><title>Faire un indexof travaillé avec H5AI</title><link>https://outweb.eu/2011/08/04/faire-un-indexof-travaille-avec-h5ai/</link><pubDate>Thu, 04 Aug 2011 08:00:17 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2011/08/04/faire-un-indexof-travaille-avec-h5ai/</guid><description>&lt;p>H5AI est un projet développé avec HTML5 qui a pour but de remplacer la page indexof par défaut de apache. C&amp;rsquo;est dans cette optique que H5AI propose plusieurs types de vue, un moteur de recherche interne ou encore un bandeau cliquable nous indiquant notre position dans l&amp;rsquo;arborescence de fichiers, depuis le root du dossier où H5AI est mis en place.&lt;/p>
&lt;p>Voici un exemple en images du type de rendu que vous pouvez avoir sur un dossier contenant plusieurs types de fichiers différents. Vous pouvez remarquer que le projet détecte le type de chacun des fichiers afin d&amp;rsquo;afficher la bonne icône.&lt;/p></description></item><item><title>Sécurité PHP</title><link>https://outweb.eu/2011/08/02/securite-php/</link><pubDate>Tue, 02 Aug 2011 18:21:33 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2011/08/02/securite-php/</guid><description>&lt;blockquote>
&lt;p>Les informations de cet article datent&lt;/p>&lt;/blockquote>
&lt;p>L&amp;rsquo;actualité étant chargée niveau hack, il est temps de sortir un petit article présentant différentes méthodes de sécurisation d&amp;rsquo;une application PHP.&lt;br>
Je vais donc brièvement vous présenter différentes librairies ou classes PHP orientées sécurité.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://phpids.org/">PHPIDS&lt;/a>&lt;br>
Un monitoring complet des actions de l&amp;rsquo;utilisateur avec évaluation de la dangerosité de chaque requête, et de la session. L&amp;rsquo;outil indispensable pour détecter les recherches de failles.&lt;/li>
&lt;li>&lt;a href="http://www.phpclasses.org/package/2189-PHP-Filter-out-unwanted-PHP-Javascript-HTML-tags-.html">Input filter&lt;/a>&lt;br>
Cette librairie permet de filtrer les tableaux $_GET, $_POST, $_REQUEST pour y detecter le PHP, JavaScript et HTML.&lt;/li>
&lt;li>&lt;a href="http://code.google.com/p/anticsurf/">Anti csrf&lt;/a>&lt;br>
Permet d&amp;rsquo;ajouter un token dans ses formulaires afin de ne pas se les faire détourner. Le but étant que chaque formulaire ne soit soumis qu&amp;rsquo;une seule fois.&lt;/li>
&lt;/ul>
&lt;p>L&amp;rsquo;utilisation des librairies précédentes est un complément mais elles ne constituent pas une sécurité optimale à elles seules.&lt;/p></description></item><item><title>Galerie de photos élégante</title><link>https://outweb.eu/2011/08/02/galerie-de-photos-elegante/</link><pubDate>Tue, 02 Aug 2011 08:00:44 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2011/08/02/galerie-de-photos-elegante/</guid><description>&lt;p>Vous êtes photographe, amateur ou professionnel et vous vous demandez comment mettre en valeur vos photos sur votre site web ?&lt;/p>
&lt;p>&lt;a href="https://tympanus.net/codrops/2011/02/02/3d-wall-gallery/">3D Wall Gallery&lt;/a> vous permet de les mettre en page sous forme d&amp;rsquo;un slider plutôt attractif.&lt;/p>
&lt;p>Voici comment les images se présentent dans votre navigateur. La barre sur le dessus de la page vous permet de faire glisser la &amp;ldquo;pellicule&amp;rdquo; afin de voir d&amp;rsquo;autres images.&lt;/p>
&lt;p>Sur le bas de la page, vous avez un widget qui vous permet de prévisualiser vos images et ainsi de choisir directement celle qui vous intéresse.&lt;/p></description></item><item><title>Une aide au débogage javascript : blackbird</title><link>https://outweb.eu/2011/07/30/une-aide-au-debogage-javascript-blackbird/</link><pubDate>Sat, 30 Jul 2011 18:04:59 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2011/07/30/une-aide-au-debogage-javascript-blackbird/</guid><description>&lt;p>&lt;a href="https://github.com/pockata/blackbird-js">BlackBird&lt;/a> est une librairie Javascript qui permet de générer un système de log visuel.&lt;br>
Grâce à cet outil, plus besoin de faire des alertes toutes les 5 lignes de code pour trouver la source de vos bogues.&lt;br>
La librairie permet de chronométrer vos applications afin d&amp;rsquo;en trouver les parties lentes.&lt;/p>
&lt;p>Voici les principales fonctions de la librairie :&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-gdscript3" data-lang="gdscript3">&lt;span style="display:flex;">&lt;span>log&lt;span style="color:#f92672">.&lt;/span>debug( &lt;span style="color:#e6db74">&amp;#39;this is a debug message&amp;#39;&lt;/span> );
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>log&lt;span style="color:#f92672">.&lt;/span>info( &lt;span style="color:#e6db74">&amp;#39;this is an info message&amp;#39;&lt;/span> );
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>log&lt;span style="color:#f92672">.&lt;/span>warn( &lt;span style="color:#e6db74">&amp;#39;this is a warning message&amp;#39;&lt;/span> );
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>log&lt;span style="color:#f92672">.&lt;/span>error( &lt;span style="color:#e6db74">&amp;#39;this is an error message&amp;#39;&lt;/span> );
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">//&lt;/span> pour le profilage
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>log&lt;span style="color:#f92672">.&lt;/span>profile( &lt;span style="color:#e6db74">&amp;#39;generate test string&amp;#39;&lt;/span> );
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">var&lt;/span> testContent &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#39;&amp;#39;&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">for&lt;/span> ( &lt;span style="color:#66d9ef">var&lt;/span> i &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">0&lt;/span>; i &lt;span style="color:#f92672">&amp;lt;&lt;/span> &lt;span style="color:#ae81ff">3000&lt;/span>; i&lt;span style="color:#f92672">++&lt;/span> ) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> testContent &lt;span style="color:#f92672">+=&lt;/span> &lt;span style="color:#e6db74">&amp;#39;-&amp;#39;&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>log&lt;span style="color:#f92672">.&lt;/span>profile( &lt;span style="color:#e6db74">&amp;#39;generate test string&amp;#39;&lt;/span> );
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Et voici le résultat obtenu dans la petite fenêtre de débogage :&lt;/p></description></item><item><title>Faire des popups non intrusives avec Fancybox</title><link>https://outweb.eu/2011/07/30/faire-des-popups-non-intrusives-avec-fancybox/</link><pubDate>Sat, 30 Jul 2011 08:00:38 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2011/07/30/faire-des-popups-non-intrusives-avec-fancybox/</guid><description>&lt;p>Aujourd&amp;rsquo;hui, je vais vous présenter un plugin JQuery très connu mais qui est un des meilleurs dans son style. &lt;a href="http://fancybox.net/">Fancybox&lt;/a> permet de faire des popups non-intrusives avec un design à la MAC OS. Vous l&amp;rsquo;aurez compris, le design est épuré et sans couleur.&lt;br>
Du fait de sa simplicité apparente, on peut facilement l’intégrer sur nos sites Internet, elle ne choquera pas comme pourrait le faire lightbox avec ses bordures épaisses.&lt;/p>
&lt;p>Je serai relativement court sur cette présentation, car la documentation est très fournie sur le site suivant &lt;a href="http://fancybox.net/">Fancybox&lt;/a>. Vous y trouverez aussi une suite d&amp;rsquo;exemples qui pourront vous convaincre d&amp;rsquo;utiliser ce plugin plutôt qu&amp;rsquo;un autre.&lt;/p></description></item><item><title>Sortie de Symfony 2</title><link>https://outweb.eu/2011/07/29/sortie-de-symphony-2/</link><pubDate>Fri, 29 Jul 2011 05:22:59 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2011/07/29/sortie-de-symphony-2/</guid><description>&lt;p>La nouvelle mouture tant attendue de Symfony 2 est sortie hier matin en version stable. Après de nombreux mois de tests, de versions releases, beta et RC, la version stable et définitive est enfin accessible.&lt;/p>
&lt;p>Au programme, énormément de changements et une simplification apparente du framework. Les bundles font leur apparition, ils vont vous permettre d&amp;rsquo;insérer dans votre site Internet des modules que vous pouvez télécharger avec composer. Il existe déjà un grand nombre de bundles tout faits et prêts à l&amp;rsquo;emploi, comme un forum ou une gestion des membres par exemple. Le but est réellement à court terme de fournir tous les codes de base pour un site Internet, afin de se focaliser seulement sur le coeur de votre application.&lt;/p></description></item><item><title>Présenter votre site Internet à vos utilisateurs</title><link>https://outweb.eu/2011/07/28/presenter-votre-site-internet-a-vos-utilisateurs/</link><pubDate>Thu, 28 Jul 2011 08:00:44 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2011/07/28/presenter-votre-site-internet-a-vos-utilisateurs/</guid><description>&lt;p>Si votre site possède une partie un peu complexe, comme une zone membre avec des menus et des zones d&amp;rsquo;informations, vous souhaitez peut-être expliquer à vos utilisateurs la logique et le fonctionnement de tout cela. Habituellement, vous faites une vidéo ou un tutoriel expliquant à l&amp;rsquo;aide d&amp;rsquo;images votre projet.&lt;/p>
&lt;p>&lt;a href="http://clu3.github.io/bootstro.js/">Bootstro&lt;/a> va vous permet de faire une suite d&amp;rsquo;infobulles, expliquant étape par étape, directement dans la page web, le fonctionnement de votre site. Ceci offre une multitude d&amp;rsquo;avantages. Le simple fait que l&amp;rsquo;utilisateur puisse à tout moment, sans quitter la page, accéder à l&amp;rsquo;aide, est déjà beaucoup.&lt;/p></description></item><item><title>Spriter</title><link>https://outweb.eu/2011/07/27/spriter/</link><pubDate>Wed, 27 Jul 2011 17:14:51 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2011/07/27/spriter/</guid><description>&lt;p>Pour faire suite à l&amp;rsquo;article sur l&amp;rsquo;optimisation, voici comment gagner du temps sur le chargement des images de vos pages web.&lt;/p>
&lt;p>En général, les développeurs débutants, ou peu soucieux du temps de chargement de la page, utilisent un nombre conséquent d&amp;rsquo;images différentes. Chaque image est donc téléchargée une à une lors de l&amp;rsquo;affichage de la page web. Donc s&amp;rsquo;il y a 100 images sur la page il faudra 100 requêtes HTTP pour toutes les afficher.&lt;/p></description></item><item><title>Des tooltips élégants avec tipTip</title><link>https://outweb.eu/2011/07/26/des-tooltips-elegantes-avec-tiptip/</link><pubDate>Tue, 26 Jul 2011 08:00:29 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2011/07/26/des-tooltips-elegantes-avec-tiptip/</guid><description>&lt;p>Quand vous souhaitez donner des informations à la volée, vous utilisez sûrement l&amp;rsquo;attribut title sur vos liens. Cependant, le rendu ne sera pas le même d&amp;rsquo;un navigateur à l&amp;rsquo;autre. De plus, les infos bulles basiques du navigateur ou du système d&amp;rsquo;exploitation sont rarement belles. Mais grâce au plugin JQuery &lt;a href="https://github.com/drewwilson/TipTip">tipTip&lt;/a> vous allez pouvoir mettre en place des tooltips élégants. TipTip est fourni avec un CSS par défaut noir, mais libre à vous de le changer car il n&amp;rsquo;est pas très complexe.&lt;/p></description></item><item><title>Détecter des visages avec JQuery</title><link>https://outweb.eu/2011/07/24/detecter-des-visages-avec-jquery/</link><pubDate>Sun, 24 Jul 2011 08:00:14 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2011/07/24/detecter-des-visages-avec-jquery/</guid><description>&lt;p>Vous souhaitez mettre en place un système d&amp;rsquo;avatar sur votre site Internet, et vous souhaitez que l&amp;rsquo;utilisateur puisse envoyer sa photo, puis puisse la recadrer selon son désir ? Le problème réside dans la détection du visage. Comment faire pour pré-cadrer le ou les visages ?&lt;/p>
&lt;p>&lt;a href="https://github.com/jaysalvat/jquery.facedetection">Face Detection&lt;/a> est un plugin JQuery qui vous permettra de récupérer les coordonnées des visages présents sur la photo, et ainsi permettre de recadrer celle-ci.&lt;/p></description></item><item><title>Modèle de page "en maintenance"</title><link>https://outweb.eu/2011/07/22/modele-de-page-en-maintenance/</link><pubDate>Fri, 22 Jul 2011 08:00:14 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2011/07/22/modele-de-page-en-maintenance/</guid><description>&lt;p>Si vous avez une mise à jour à faire qui risque de provoquer des erreurs, de type 404 ou autre, pendant le temps de la mise en place, il vaux mieux afficher une page d&amp;rsquo;avertissement expliquant brièvement la situation à l&amp;rsquo;utilisateur.&lt;/p>
&lt;p>Grâce au plugin JQuery &lt;a href="https://github.com/winwinfantasy/jquery-lwtcountdown">lwtCountdown&lt;/a>, vous pouvez très simplement ajouter un compte à rebours propre et animé, afin d&amp;rsquo;éviter la page toute simple et moche. Bien sûr, il vous faudra connaître au préalable la date de retour en ligne. Pensez à prévoir toujours un peu plus que nécessaire. :)&lt;/p></description></item><item><title>Rendre votre HTML5 compatible sur tous les navigateurs</title><link>https://outweb.eu/2011/07/20/rendre-votre-html5-compatible-sur-tous-les-navigateurs/</link><pubDate>Wed, 20 Jul 2011 08:00:54 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2011/07/20/rendre-votre-html5-compatible-sur-tous-les-navigateurs/</guid><description>&lt;p>Comme vous le savez, le HTML5 est assez récent et donc pas encore pris en charge par tous les navigateurs. Cependant, il permet de faire des choses assez intéressantes sans y passer des heures, et le code est plus ordonné. Bref, je ne vais pas faire la présentation complète de HTML5, ce n&amp;rsquo;est pas le sujet de cet article. Mais voilà, même si le HTML5 a l&amp;rsquo;air génial, on ne peut pas l&amp;rsquo;utiliser tant que l&amp;rsquo;on n&amp;rsquo;est pas sûr que l&amp;rsquo;utilisateur pourra avoir le résultat voulu.&lt;/p></description></item><item><title>Personnaliser vos menus déroulants avec DropKick</title><link>https://outweb.eu/2011/07/18/personnaliser-vos-menu-deroulant-avec-dropkick/</link><pubDate>Mon, 18 Jul 2011 10:00:01 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2011/07/18/personnaliser-vos-menu-deroulant-avec-dropkick/</guid><description>&lt;p>Vous trouvez que vos menus select sont trop simples ? Le plugin JQuery &lt;a href="http://dropkickjs.com/">DropKick&lt;/a> vous permet de faire des menus déroulants élégants sans perdre de temps à changer le css, et à travailler sur la compatibilité.&lt;/p>
&lt;p>Si les thèmes par défaut ne vous conviennent pas, vous avez la possibilité de vous faire le vôtre assez simplement.&lt;/p>
&lt;p>De tels plugins rendent plus attirants des formulaires qui d&amp;rsquo;habitude rebutent un peu les utilisateurs.&lt;/p></description></item><item><title>Améliorer le référencement d'un site Internet</title><link>https://outweb.eu/2011/07/15/ameliorer-le-referencement-dun-site-internet/</link><pubDate>Fri, 15 Jul 2011 08:15:00 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2011/07/15/ameliorer-le-referencement-dun-site-internet/</guid><description>&lt;blockquote>
&lt;p>Sur Internet, faire un lien d&amp;rsquo;une page A vers une ressource B, c&amp;rsquo;est y faire référence et donc référencer la ressource B depuis la page A. Par vulgarisation, l&amp;rsquo;action générique d&amp;rsquo;inscription dans les moteurs de recherche s&amp;rsquo;est vue appelée référencement. Aujourd&amp;rsquo;hui sa pratique s&amp;rsquo;articule autour des outils de recherche, plus particulièrement des moteurs et des annuaires de recherche, en tentant d&amp;rsquo;améliorer le positionnement d&amp;rsquo;un site (et donc sa visibilité) dans leurs pages de résultats.&lt;/p></description></item><item><title>Ajuster la taille de vos textareas en fonction du contenu</title><link>https://outweb.eu/2011/07/14/ajuster-la-taille-de-vos-textarea-en-fonction-du-contenu/</link><pubDate>Thu, 14 Jul 2011 08:00:12 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2011/07/14/ajuster-la-taille-de-vos-textarea-en-fonction-du-contenu/</guid><description>&lt;p>&lt;a href="https://amaury.carrade.eu/projects/jquery/autoResize">AutoResize&lt;/a> est un plugin JQuery qui permet de faire un textarea extensible en fonction du contenu, comme le fait actuellement Facebook pour les commentaires. Ceci évite les pages de formulaire où un textarea fait 15cm sur 8, le truc pas esthétique quoi&amp;hellip;&lt;/p>
&lt;p>Voici comment appliquer le plugin sur un textarea ayant pour id &amp;ldquo;comment&amp;rdquo;.&lt;/p>
&lt;p>Après, libre à vous de changer le sélecteur pour l&amp;rsquo;appliquer à tous vos textareas, ou juste à ceux d&amp;rsquo;une classe précise.&lt;/p></description></item><item><title>Créer un site Internet pour mobile avec JQuery mobile</title><link>https://outweb.eu/2011/07/12/creer-un-site-internet-pour-mobile-avec-jquery-mobile/</link><pubDate>Tue, 12 Jul 2011 19:46:24 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2011/07/12/creer-un-site-internet-pour-mobile-avec-jquery-mobile/</guid><description>&lt;p>Avez-vous déjà pensé à faire une application mobile, ou une version mobile de votre site Internet ?&lt;br>
Si oui, vous avez dû vous confronter à des centaines de problèmes de compatibilité entre les navigateurs mobile.&lt;/p>
&lt;p>L&amp;rsquo;article va vous montrer comment faire des pages HTML compatibles sur tous les téléphones et tablettes.&lt;/p>
&lt;p>Afin de bien comprendre l&amp;rsquo;article, il vous faudra connaître les bases du HTML ainsi que JQuery.&lt;/p>
&lt;p>Dans un premier temps, il va falloir télécharger la libraire JQuery mobile. Donc rendez-vous à la page suivante : &lt;a href="https://jquerymobile.com/download/">Télécharger&lt;/a>.&lt;/p></description></item><item><title>Commencer un petit site Internet avec Instant Blueprint</title><link>https://outweb.eu/2011/07/12/commencer-un-petit-site-internet-avec-instant-blueprint/</link><pubDate>Tue, 12 Jul 2011 08:00:48 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2011/07/12/commencer-un-petit-site-internet-avec-instant-blueprint/</guid><description>&lt;p>Instant Blueprint est un service en ligne qui vous permet en quelques clics de mettre en place une architecture de base pour votre nouveau projet de site Internet. En effet, après avoir renseigné quelques informations, il va vous générer automatiquement le squelette de votre site Internet.&lt;/p>
&lt;p>Pour utiliser cet outil, il vous faut renseigner :&lt;/p>
&lt;ul>
&lt;li>Titre du projet&lt;/li>
&lt;li>Le doctype désiré&lt;/li>
&lt;li>Le framework javascript à inclure&lt;/li>
&lt;li>Comment inclure le framework (local ou distant, compressé ou normal)&lt;/li>
&lt;li>L&amp;rsquo;extension du fichier index (html, htm, php, asp)&lt;/li>
&lt;li>Que mettre dans le dossier include (config.php et/ou fonction.php)&lt;/li>
&lt;li>Centrer ou non le contenu du site&lt;/li>
&lt;li>Les principales div de la page&lt;/li>
&lt;/ul>
&lt;p>Voici le squelette généré :&lt;/p></description></item><item><title>Google plus invitation</title><link>https://outweb.eu/2011/07/11/invitation-google/</link><pubDate>Mon, 11 Jul 2011 19:49:45 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2011/07/11/invitation-google/</guid><description>&lt;p>Google vient de mettre en ligne la nouvelle mouture de son réseau social Google+.&lt;/p>
&lt;p>Très peu de personnes ont eu des invitations, cependant, j&amp;rsquo;ai eu la chance d&amp;rsquo;en faire partie.&lt;/p>
&lt;p>J&amp;rsquo;apprécie tout particulièrement la gestion de la confidentialité de nos informations et les cercles de confidentialité en un simple clic.&lt;/p>
&lt;p>En effet, on peut décider de divulguer un statut, une image ou une information personnelle à un ou plusieurs cercles. Les autres ne le verront pas. L&amp;rsquo;avantage c&amp;rsquo;est que l&amp;rsquo;on peut choisir au cas par cas.&lt;/p></description></item><item><title>Listes triées et animées avec Quicksand</title><link>https://outweb.eu/2011/07/06/listes-triees-et-animees-avec-quicksand/</link><pubDate>Wed, 06 Jul 2011 13:26:21 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2011/07/06/listes-triees-et-animees-avec-quicksand/</guid><description>&lt;p>&lt;a href="https://razorjack.net/quicksand/">Quicksand&lt;/a> est un plugin JQuery qui peut être utile pour l&amp;rsquo;affichage un peu travaillé d&amp;rsquo;une liste d&amp;rsquo;images ou sur une boutique en ligne.&lt;br>
Le plugin vous permet de trier et filtrer des listes (d&amp;rsquo;images par exemple) selon des critères, le tout avec des effets de transition à la JQuery. Le résultat est assez agréable pour l&amp;rsquo;utilisateur mais il ne faut pas en abuser car cela peut vite devenir lourd.&lt;/p>
&lt;p>Pour l&amp;rsquo;appliquer à une liste vous pouvez utiliser le code suivant :&lt;/p></description></item><item><title>Aider les webmasters avec UpgradeBrowsers</title><link>https://outweb.eu/2011/07/04/aider-les-webmasters-avec-upgradebrowsers/</link><pubDate>Mon, 04 Jul 2011 20:00:01 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2011/07/04/aider-les-webmasters-avec-upgradebrowsers/</guid><description>&lt;p>Vous en avez marre de devoir faire des designs pour des versions non mises à jour de navigateur ? Oui, moi aussi. Alors insérez le plugin UpgradeBrowsers dans votre site Internet, dans votre page d&amp;rsquo;accueil par exemple. Le plugin indiquera simplement à l&amp;rsquo;utilisateur que son navigateur n&amp;rsquo;est pas à jour en l&amp;rsquo;invitant à le mettre à jour. Les autres utilisateurs ne se douteront même pas de la présence du plugin sur votre site.&lt;br>
Voici les quelques lignes de code à insérer dans votre page pour mettre en place le plugin, avant la fermeture du body.&lt;/p></description></item><item><title>Zoomer sur des images avec Cloud Zoom</title><link>https://outweb.eu/2011/07/03/zoomer-sur-des-images-avec-cloud-zoom/</link><pubDate>Sun, 03 Jul 2011 09:46:30 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2011/07/03/zoomer-sur-des-images-avec-cloud-zoom/</guid><description>&lt;p>&lt;a href="http://www.amazingthings.in/2011/07/cloud-zoom-jquery-image-zoom-plugin.html">Cloud Zoom&lt;/a> est un plugin JQuery qui permet de faire simplement des zooms sur des images. En plus de son style soigné, il propose plusieurs types de zooms, selon l&amp;rsquo;intégration que vous voulez faire de celui-ci.&lt;/p>
&lt;p>Voici l&amp;rsquo;exemple le plus basique, mais aussi le plus commun :&lt;/p>
&lt;p>Et pour metttre en place cet effet, il vous suffit d&amp;rsquo;inclure le fichier javascript cloud-zoom.1.0.2.js (dans le dossier images).&lt;/p>
&lt;p>Puis pour chacune des images où vous voulez ajouter un zoom, vous devez définir les paramètres pour le zoom :&lt;/p></description></item><item><title>Convertir des formules Latex en HTML</title><link>https://outweb.eu/2011/07/01/convertir-des-formules-latex-en-html/</link><pubDate>Fri, 01 Jul 2011 12:49:07 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2011/07/01/convertir-des-formules-latex-en-html/</guid><description>&lt;p>Le Latex est à mis chemin entre le langage de programmation et le traitement de texte. Il permet de rédiger des documents officiels sans avoir à mettre en forme manuellement le texte. En effet, avec de simples instructions, on peut ajouter des paragraphes, des titres ou des chapitres avec une mise en forme automatique.&lt;/p>
&lt;p>Le point fort de Latex est qu&amp;rsquo;il permet d’insérer des formules mathématiques complexes.&lt;/p>
&lt;p>C&amp;rsquo;est d&amp;rsquo;ailleurs pour cela que la plupart des mathématiciens l&amp;rsquo;utilisent régulièrement dans leurs articles ou leurs rapports.&lt;/p></description></item><item><title>Calcul de temps à la Facebook ou Twitter</title><link>https://outweb.eu/2011/06/30/calcul-de-temps-a-la-facebook-ou-twitter/</link><pubDate>Thu, 30 Jun 2011 16:16:45 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2011/06/30/calcul-de-temps-a-la-facebook-ou-twitter/</guid><description>&lt;p>Si vous avez déjà développé un chat, un livre d&amp;rsquo;or ou tout autre type de moyen de feedback, vous avez été confronté au problème de l&amp;rsquo;affichage de la date de publication du message. Comment faire pour qu&amp;rsquo;elle soit affichée sans avoir une date classique et barbante comme : 29/06/2011 15h26 mais plutôt quelque chose du style : &amp;ldquo;il y a moins d&amp;rsquo;une minute&amp;rdquo;, comme le font Twitter ou Facebook par exemple ?&lt;/p></description></item><item><title>Gestionnaire de fichiers en ligne : elFinder</title><link>https://outweb.eu/2011/06/28/gestionnaire-de-fichiers-en-ligne-elfinder/</link><pubDate>Tue, 28 Jun 2011 13:16:26 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2011/06/28/gestionnaire-de-fichiers-en-ligne-elfinder/</guid><description>&lt;p>Si d&amp;rsquo;une manière ou d&amp;rsquo;une autre vous êtes amené à partager un espace d&amp;rsquo;échange de fichiers avec plusieurs personnes via une interface web, mais que vous n&amp;rsquo;avez pas envie d&amp;rsquo;avoir la simple vue &amp;ldquo;Index of&amp;rdquo; par défaut, voici un projet très complet de gestion de documents en ligne.&lt;/p>
&lt;p>&lt;a href="https://github.com/Studio-42/elFinder">ElFinder&lt;/a> permet de parcourir les dossiers à partir d&amp;rsquo;un racine bien définie (coté PHP ou Python), de télécharger, de visualiser et de modifier des fichiers distants sans avoir à les télécharger pour la plupart.&lt;/p></description></item><item><title>Fenêtres de dialogue JavaScript avec Modialog</title><link>https://outweb.eu/2011/06/27/fenetres-de-dialogue-javascript-avec-modialog/</link><pubDate>Mon, 27 Jun 2011 17:42:41 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2011/06/27/fenetres-de-dialogue-javascript-avec-modialog/</guid><description>&lt;p>&lt;a href="https://github.com/claudioc/modialog">Modialog&lt;/a> est un plugin JQuery qui permet de faire des popups &amp;ldquo;à la twitter&amp;rdquo; (la transparence en moins) très simplement.&lt;br>
N&amp;rsquo;importe quel évènement peut être le déclencheur (click ou mouseover par exemple). La popup peut contenir tous types de contenus images, boutons, formulaire&amp;hellip;&lt;br>
On pourrait très bien imaginer y mettre un formulaire de contact par exemple.&lt;/p>
&lt;p>Le style de base de la popup est soigné et très sobre à la fois, il peut donc s&amp;rsquo;adapter à beaucoup de designs, mais s&amp;rsquo;il ne vous convient pas, vous avez la liberté de le changer et/ou de l&amp;rsquo;améliorer simplement.&lt;/p></description></item><item><title>Générer QRCODE avec JQuery</title><link>https://outweb.eu/2011/06/24/generer-qrcode-avec-jquery/</link><pubDate>Fri, 24 Jun 2011 13:01:33 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2011/06/24/generer-qrcode-avec-jquery/</guid><description>&lt;p>Le code QR est un code-barres à deux dimensions.&lt;br>
Destiné à être lu par un lecteur de code-barres QR ou un smartphone, il a l&amp;rsquo;avantage de pouvoir stocker plus d&amp;rsquo;informations qu&amp;rsquo;un code à barres simple , et surtout des données directement reconnues par des applications. Ainsi le QR permet par exemple d&amp;rsquo;ouvrir un navigateur à une page prédéfinie, de lancer une application ou encore décoder un message. &lt;a href="http://jeromeetienne.github.com/jquery-qrcode/">JQuery Qrcode&lt;/a> est un plugin JQuery qui permet de générer des code QR simplement.&lt;/p></description></item><item><title>Adapter sa taille de police à la résolution avec fitText</title><link>https://outweb.eu/2011/06/24/adapter-sa-taille-de-police-a-la-resolution-avec-fittext/</link><pubDate>Fri, 24 Jun 2011 07:25:29 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2011/06/24/adapter-sa-taille-de-police-a-la-resolution-avec-fittext/</guid><description>&lt;p>Tous les développeurs qui ont déjà travaillé sur des sites Internet qui doivent être visibles depuis plusieurs types de supports (comme une tablette ou un smartphone) ont déjà eu le problème des lignes de textes qui se superposent quand la résolution devient trop petite. &lt;a href="http://fittextjs.com/">fitText&lt;/a> est justement pensé pour ne plus avoir ce type de problème.&lt;/p>
&lt;p>Il sait adapter la taille de la police en fonction de la résolution de l&amp;rsquo;écran. Un peu comme le fait JQuery mobile.&lt;/p></description></item><item><title>Optimisation de pages web</title><link>https://outweb.eu/2011/06/10/optimisation-de-pages-web/</link><pubDate>Thu, 09 Jun 2011 22:00:29 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2011/06/10/optimisation-de-pages-web/</guid><description>&lt;p>Google tient maintenant compte de la vitesse de chargement des pages pour leur moteur de recherche. Les pages rapides ont tendances remonter dans la liste des résultats, tandis que les autres se perdent dans les fins fonds des listes de résultats&amp;hellip; :P&lt;/p>
&lt;p>Tout d&amp;rsquo;abord, revenons aux fondamentaux. Une page web c&amp;rsquo;est un texte structuré qui est compris et afficher d&amp;rsquo;une certaine manière par notre navigateur. Le visiteur demande une page, par le biais de requête HTTP et le serveur construit la page et l&amp;rsquo;envoie au client.&lt;br>
On remarque que nous pouvons agir sur la construction de la page, en optimisant nos codes PHP, JSP ou autre et sur le temps de transfert de la page au client.&lt;br>
En effet le temps de transfert de la page et dépend entre autre taille de celle-ci, donc au nombre de caractères qu&amp;rsquo;elle contient. Nous allons donc mener une chasse aux caractères :P&lt;/p></description></item><item><title>Système de pagination sous CodeIgniter</title><link>https://outweb.eu/2011/06/08/systeme-de-pagination-sous-codeigniter/</link><pubDate>Wed, 08 Jun 2011 09:45:58 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2011/06/08/systeme-de-pagination-sous-codeigniter/</guid><description>&lt;p>Avec Codigniter vous pouvez mettre en place simplement un système de pagination pour afficher vos informations par paquets. Tout cela sans se prendre la tête et se noyer dans des dizaines de lignes de code.&lt;/p>
&lt;p>Nous allons créer la base de donnée de l&amp;rsquo;article : &lt;a href="https://outweb.eu/2011/06/04/installation-et-configuration-de-codeigniter/">Installation et Configuration de CodeIgniter&lt;/a> .&lt;/p>
&lt;p>Dans un premier temps il créer le model. Pour cela nous allons utiliser la classe active record de CodeIgniter.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-gdscript3" data-lang="gdscript3">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">class&lt;/span> model &lt;span style="color:#66d9ef">extends&lt;/span> CI_Model {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> function __construct()
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">//&lt;/span> Call the Model constructor
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> parent::__construct();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> public function getAll(&lt;span style="color:#f92672">$&lt;/span>debut&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#ae81ff">0&lt;/span>) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">return&lt;/span> &lt;span style="color:#f92672">$&lt;/span>this&lt;span style="color:#f92672">-&amp;gt;&lt;/span>db&lt;span style="color:#f92672">-&amp;gt;&lt;/span>select(&lt;span style="color:#e6db74">&amp;#39;*&amp;#39;&lt;/span>)&lt;span style="color:#f92672">-&amp;gt;&lt;/span>from(&lt;span style="color:#e6db74">&amp;#39;message&amp;#39;&lt;/span>)&lt;span style="color:#f92672">-&amp;gt;&lt;/span>order_by(&lt;span style="color:#e6db74">&amp;#34;id&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;desc&amp;#34;&lt;/span>)&lt;span style="color:#f92672">-&amp;gt;&lt;/span>limit(&lt;span style="color:#ae81ff">30&lt;/span>, &lt;span style="color:#f92672">$&lt;/span>debut)&lt;span style="color:#f92672">-&amp;gt;&lt;/span>get()&lt;span style="color:#f92672">-&amp;gt;&lt;/span>result();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> public function count(&lt;span style="color:#f92672">$&lt;/span>where &lt;span style="color:#f92672">=&lt;/span> array()) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">return&lt;/span> (&lt;span style="color:#a6e22e">int&lt;/span>) &lt;span style="color:#f92672">$&lt;/span>this&lt;span style="color:#f92672">-&amp;gt;&lt;/span>db&lt;span style="color:#f92672">-&amp;gt;&lt;/span>where(&lt;span style="color:#f92672">$&lt;/span>where)&lt;span style="color:#f92672">-&amp;gt;&lt;/span>count_all_results(&lt;span style="color:#e6db74">&amp;#39;message&amp;#39;&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Puis nous allons créer notre contrôleur.&lt;/p></description></item><item><title>Installation et Configuration de CodeIgniter</title><link>https://outweb.eu/2011/06/04/installation-et-configuration-de-codeigniter/</link><pubDate>Sat, 04 Jun 2011 12:32:39 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2011/06/04/installation-et-configuration-de-codeigniter/</guid><description>&lt;h2 id="pré-requis">Pré requis&lt;/h2>
&lt;ul>
&lt;li>Un serveur Apache ( lamp, wamp, easy php, mamp, &amp;hellip; )&lt;/li>
&lt;li>Un SGBD mysql&lt;/li>
&lt;/ul>
&lt;h2 id="la-base-de-données">La Base de données&lt;/h2>
&lt;p>Dans un premier temps voici un exemple de petite base de données. Par exemple la base de données suivante&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-mysql" data-lang="mysql">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">CREATE&lt;/span> &lt;span style="color:#66d9ef">DATABASE&lt;/span> &lt;span style="color:#f92672">`&lt;/span>tuto&lt;span style="color:#f92672">`&lt;/span> &lt;span style="color:#66d9ef">DEFAULT&lt;/span> &lt;span style="color:#66d9ef">CHARACTER&lt;/span> &lt;span style="color:#66d9ef">SET&lt;/span> latin1 &lt;span style="color:#66d9ef">COLLATE&lt;/span> latin1_swedish_ci;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">USE&lt;/span> &lt;span style="color:#f92672">`&lt;/span>tuto&lt;span style="color:#f92672">`&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">CREATE&lt;/span> &lt;span style="color:#66d9ef">TABLE&lt;/span> &lt;span style="color:#66d9ef">IF&lt;/span> &lt;span style="color:#66d9ef">NOT&lt;/span> &lt;span style="color:#66d9ef">EXISTS&lt;/span> &lt;span style="color:#f92672">`&lt;/span>message&lt;span style="color:#f92672">`&lt;/span> (
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">`&lt;/span>id&lt;span style="color:#f92672">`&lt;/span> &lt;span style="color:#66d9ef">int&lt;/span>(&lt;span style="color:#ae81ff">8&lt;/span>) &lt;span style="color:#66d9ef">NOT&lt;/span> &lt;span style="color:#66d9ef">NULL&lt;/span> &lt;span style="color:#66d9ef">AUTO_INCREMENT&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">`&lt;/span>sujet&lt;span style="color:#f92672">`&lt;/span> &lt;span style="color:#66d9ef">varchar&lt;/span>(&lt;span style="color:#ae81ff">255&lt;/span>) &lt;span style="color:#66d9ef">NOT&lt;/span> &lt;span style="color:#66d9ef">NULL&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">`&lt;/span>message&lt;span style="color:#f92672">`&lt;/span> &lt;span style="color:#66d9ef">text&lt;/span> &lt;span style="color:#66d9ef">NOT&lt;/span> &lt;span style="color:#66d9ef">NULL&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">PRIMARY&lt;/span> &lt;span style="color:#66d9ef">KEY&lt;/span> (&lt;span style="color:#f92672">`&lt;/span>id&lt;span style="color:#f92672">`&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>) &lt;span style="color:#66d9ef">ENGINE&lt;/span>&lt;span style="color:#f92672">=&lt;/span>MyISAM &lt;span style="color:#66d9ef">DEFAULT&lt;/span> &lt;span style="color:#66d9ef">CHARSET&lt;/span>&lt;span style="color:#f92672">=&lt;/span>latin1 &lt;span style="color:#66d9ef">AUTO_INCREMENT&lt;/span>&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#ae81ff">1&lt;/span> ;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Maintenant que la base est prête nous alors configurer CodeIgniter pour qu&amp;rsquo;il puisse s&amp;rsquo;y connecter.&lt;/p>
&lt;p>Rendez-vous dans le fichier : application/config/database.php&lt;/p></description></item><item><title>Peity</title><link>https://outweb.eu/2011/06/02/peity/</link><pubDate>Wed, 01 Jun 2011 22:00:39 +0000</pubDate><guid isPermaLink="false">https://outweb.eu/2011/06/02/peity/</guid><description>Faites vos graphiques avec JQuery</description></item></channel></rss>