Boot2docker OSX et networking

L'article lié explique déjà très bien les concepts, mais aujourd'hui boot2docker est le moyen préféré pour faire tourner nos containers en local, la route change donc de la façon suivante:

L'auteur montre ensuite comment utiliser skydns comme notre résolveur principal, ce serveur tourne dans une vm et il est peu probable qu'elle tourne en permanence (surtout pour les macbooks), on peut utiliser dnsmasq

ou simplement mettre à profit les méchanismes d'osx:

Open Source Sitemap Generator

This software is a platform-independent site map generator. It crawls a web site starting from a given URL and outputs XML sitemap file that you can use for Google (via Google Webmaster Tools) or other search engines. Site maps are useful for SEO — you can give the search engine hints about what pages it can index at web your site. The site map generator program is published under GNU General Public License.

J'avais un petit site a indexer, pas grand chose : une dizaine de pages et quelques fichiers pdf. Franchement ecrire un xml fait un peu trop de copier-coller pour moi, mais un petit tour sur google et je trouve ce petit crawler !
Ne reste plus qu'a faire un petit tour sur la doc sitemaps pour ajouter quelques metas, ajuster les priorites et zou.

J'exprime dans cet article une opinion strictement personnelle qui peut être partagée ou non par chacun, merci de repecter ce fait si vous choississez de commenter.

Boostrap un fléau ?

Tout d'abord, et dans un soucis de clarté, il faut bien comprendre que je considère Bootstrap comme un outil très pratique qui fait bien le travail pour lequel il à été conçu.
Je ne reproche pas ici à Bootstrap ces qualités, le problème que je relate ici est lié à l'utilisateur.

Le layout

Depuis l'arrivée de Bootstrap, son utilisation n'a fait que croître et de plus en plus de sites en production l'utilisent saveur nature.
De fait, tous ces sites ont ainsi la même apparence (au détail près de la mise en page) et réutilisent très souvent l'un des layouts proposées par défaut.
Un détail étrange de la documentation me donne l'impression que Bootstrap n'est pas recommandé pour une utilisation hors pistes. C'est la raison pour laquelle je préfère les autres frameworks, et peut-être l'une des raison de la réutilisation massive du layout.

Les styles

Le web se retrouve en état de surpopulation de clones Bootstrap auxquels aucun effort particulier de style n'a été apporté.
Twitter à tenté d'apporter une solution avec le passage à Less, mais ce n'est pas suffisant sans outil adapté à la personnalisation via les variables fournies.

Nota: il existe des outils qui ont étés conçus par la communauté mais il y a un problème récurrent d'ergonomie. Une telle quantité de colorpickers n'est pas ergonomique.

La communication

C'est là le point essentiel de ma réflexion, il manque un aspect que je juge capital dans la documentation de Bootstrap :

Bootstrap à originellement été conçus pour faciliter le prototypage d'un site web, afin d'avoir un aperçu de qualité du produit fini.
Il reste toutefois possible d'utiliser Bootstrap pour la création d'un produit fini, mais il faut y apporter des efforts de personnalisation des styles selon chaque cas.

Comment peut-on y remédier ?

  1. La solution à troll : il faut tuer Bootstrap
  2. Apporter des précisions sur le bon usage de Bootstrap dans sa documentation (un guide pas à pas sur la personnalisation peut apporter une grande aide)
  3. Faire évoluer Bootstrap (ceci fera l'objet d'un prochain article)

Nota final: Bootstrap reste à mes yeux un outil pratique pour un prototypage ou pour la rédaction d'une documentation (ou autre outil interne au développement en cours) .

PHP rencontre l'elegance et la beaute, intro a Laravel 3.0

Il est là !

Laravel est un framework dont la motivation première est la beauté du code. Cette nouvelle version, qui arrive moins d'un an après la création de ce framework apporte tout son lot de nouveautées, toutes plus intéressantes les unes que les autres. On y trouvera entre autres les migrations de base de données, l'intégration native des tests unitaires et les modules.

Toutes les notions mentionnées ici sont très bien documentées

Les routes

Voila à quoi ressemble l'utilisation la plus basique de Laravel.

Les sessions

Les sessions servent à faire transiter des données entre les pages, Laravel en tire très avantageusement l'utilité.

Les modules (aka. Bundles)

La plus importante innovation apportée par cette version est incontestablement le retour des modules avec une nouvelle intégration bien plus efficace que la précédente. Un module fonctionne exactement comme l'application principale (votre application est en réalité un module), il devient ainsi très aisé de partager un code à la communautée. Retrouvez les modules ici et apprenez en plus ici

Les migrations

Les migrations permettent de définir le schéma de notre base de donnée, et de modifier celui-ci. Il est ainsi possible d'ajouter une colonne à une table, par exemple à partir d'un module afin d'étendre le profil utilisateur.

Retrouvez les migrations ici

La ligne de commande : Artisan

Laravel se dote d'un outil en ligne de commande qui permet de faciliter un bon nombre d'intéractions avec l'application, comme lancer des tests, installer un module, ou exécuter une migration :

Retrouvez artisan ici

Les tests unitaires

Laravel propose une intégration inédite et très efficace de PHPUnit, rendant possible de lancer aisément les tests de votre application, d'un module, du framework, ou encore de l'ensemble.

Retrouvez les tests ici

Les événements

Un système de gestion des événements simple est inclut dans Laravel, permettant de construire une application encore plus flexible.

Mangez-en !

J'espère que cet aperçu des nouveautés vous à donné envie de découvrir Laravel plus en profondeur. Merci de m'avoir lu!

Commentez vos RegEx avec CoffeeScript

Javascript, et par extension coffeescript nous permettent de réaliser, entres autres, une pré validation des formulaires côté client, pour améliorer l'expérience de celui-ci. Pour cela nous disposons d'un outil très utile : les regex (ou expressions régulières).

Cependant il faut bien reconnaitre que ce n'est pas toujours très lisible, surtout en équipe quand le collègue s'est chargé de ces regex.

Prenons l'exemple d'une validation d'adresse email :

En regardant uniquement la première ligne, il est très dur (voir impossible pour un débutant) de comprendre ce que fait ce code.

Et c'est là que CoffeeScript nous vient en aide !

Même si vous n'utilisez pas toutes les subtilités de ce précompileur, il peut vous être très utile !

Observons le même code que précedemment, cette fois ci écrit pour coffeescript :

Nous voyons dés le premier regard toute la différence qu'apporte ce compileur : nous pouvons écrire notre regex sur plusieurs lignes, ce qui nous permet de commenter facilement chaque morceau de cette regex.