Blog #Dev

Apprendre à utiliser les flexbox CSS (presque) en s’amusant

Un tutorial bien fichu qui fera enfin comprendre comment fonctionne les propriétés CSS de placement flex

Voir le site : Flexbox Froggy

C’est mon prénonyme Thomas Park qui a eu l’idée de cette appli web bien sympa, où il faut placer correctement des grenouilles sur des nénuphars en éditant une propriété CSS et on voit en live le résultat. La dernière étape (24 !) est la seule un peu ardue, autant dire que la progression est plutot sympa, et le fait de répéter pas mal de fois les mêmes commandes aident a mémoriser les propriétés.

Have fun !

(English) An alternative of Hungarian notation applied to PHP

On some cases, by example when you works on webservices, data import or an ETL, you can be a little lost between all the variables you use, specifically arrays.

Even if it’s not in the coding standard, I developed a derivative of the Hungarian notation to prefix my variables and find myself there. This notation can be applied in php, but also to any other languages, especially non-typed.

NOTE : I recommend NOT using hungarian notation everytime (for exemple, will be almost useless in a MVC context), but only when it’s really needed.

There is the prefixing I use with PHP variables in that specific cases, depending on their type and semantic meaning :

Scalar types prefix

  • $is, $b : boolean
  • $s : string
  • $i : int (signed)
  • $n : natural (unsigned int)
  • $f : float
  • $fd : float round to 1 decimals
  • $fc : float round to 2 decimals
  • $fm : float round to 3 decimals
  • $m : mixed.
  • $v : void / null.

Read more!

Un modèle de fichier .gitignore pour partir sur de bonnes bases sur tes projets PHP

Si tu versionnes tes projets PHP avec Git, voici des modèles de fichier .gitignore (voir documentation officielle) que j’utilise depuis longtemps et qui évite de versionner des fichiers qui n’ont rien à faire sur le dépôt (fichiers temporaires des OS, de l’IDE…).

Ces modèles diffèrent des autres modèles que tu pourra trouver sur des plus plus connus, comme Github ou gitignore.io, dans le sens ou j’utilise des expressions régulières faisant que les règles sont adaptés à la plupart des projets, tout en contenant moins de lignes. Plus d’intelligence, quoi.

Bien sûr ce fichier est un modèle, il faudra quand même sûrement que tu rajoutes des règles spécifiques a ton projet. Certains fichiers peuvent être versionnés ou non suivant ta vision du versioning et la phase de ton projet (dev initial, tma…) : les lignes dans ce cas sont son commentés par défaut (voir lignes commençant par un seul #), a toi de voir si tu les actives ou non.

Keep on reading!

Tuto : Installer Composer sur un projet web pour gérer facilement les libraires externes (et internes) de ton framework

Installer composer sur ton poste / serveur

Ton poste doit bien sûr avoir un serveur web qui tourne avec PHP.

Site officiel de Composer : getcomposer.org/download/

Si tu es sous Windows, je te recommande de l’installer via leur « Windows Installer », permettant d’éxécuter composer sur n’importe quel dossier de ton poste, juste en tapant « composer », car il aura correctement intialisé le PATH

Sur un autre OS, le plus simple c’est d’ouvrir une console positionnée dans le répertoire de projet et de taper :

curl -sS https://getcomposer.org/installer | php --filename="composer.phar"

Dans ce cas, il faudra taper « php composer.phar » au lieu de simplement « composer » pour le tuto qui va suivre.

Continuer la lecture de Tuto : Installer Composer sur un projet web pour gérer facilement les libraires externes (et internes) de ton framework

Les tests binaires – une fonctionnalité sous-estimée

Imaginons qu’en tant que développeur (dans le cas contraire, passe à un autre article), on doit réaliser plusieurs actions suivant plusieurs cas de figures possibles (disons, une quinzaine), qui peuvent se combiner.
Et suivant certains cas de figures, certains actions à éxécuter se répètent, et peuvent même se combiner suivant certains cas de figure. Pour ne pas dubliquer le code, on identifie donc 5 blocs d’actions différentes. La situation la plus simple serait donc d’utiliser plusieurs variables : (je vais mettre mes exemples en PHP, mais les tests binaires existent dans tous les langages de programmation dignes de ce nom – déjà si ça existe en PHP…)

Continuer la lecture de Les tests binaires – une fonctionnalité sous-estimée

Symfony versus Symphony, deux frameworks PHP homophones : plagiat ou concours de circonstance ?

Je suis tombé par hasard sur quelque chose plutôt étrange : Symphony, a « XSLT-powered open source content management system ». C’est aussi un framework PHP, qu’on pourrait donc positionner comme un concurrent au projet Symfony CMF.

getsymphony.com

Encore plus troublant, cette annnonce sur la page d’accueil de leur site  :

 Symphony 2.6 is now available  –  11 March 2015

Comme par hasard, le framework homophone suit exactement le même numéro de version que Symfony, à un mois d’intervalle…

Continuer la lecture de Symfony versus Symphony, deux frameworks PHP homophones : plagiat ou concours de circonstance ?

Anticiper la migration entre Symfony 2 et 3 en activant la nouvelle structure de répertoires

Symfony, le framework PHP made in France a le vent en poupe et amène dans son sillage le PHP à l’ère industrielle (bon, c’est vrai que Zend l’avait déja aidé à traverser). Sa version 2.6 est sortie depuis quelques semaines mais papa Sensiolabs a semble-t-il déjà bien entamé le travail sur la version 3…

Il y a toutes les chances que les projets v2 soient migrables assez facilement sur v3, mais que la structure des répertoires systèmes changent un peu, car pour l’instant ça reste assez mal structuré : par exemple il y a un peu trop tout et n’importe quoi dans /app/, du cache, des logs, la console, et l’emplacement des fichiers de config globaux ne suit pas la norme des bundles.

Lors d’une release  de Symfony 2.4 ou 2.5, l’assistant vous demandait si vous vouliez utiliser la « nouvelle structure de répertoire v3 » lors de la création d’un nouveau projet. Ça changeait pas mal de choses sur la structure, sans toutefois être documenté ; c’est sûrement pour ne pas embrouiller les esprits que Sensiolabs a vite retiré cette option. C’est dommage, car c’est la structure prévue pour le futur de Symfony.

Mais pourtant tu peux continuer à utiliser cette option en définissant la variable d’environnement SENSIOLABS_ENABLE_NEW_DIRECTORY_STRUCTURE=true avant de lancer l’assistant de création de projet.

Continuer la lecture de Anticiper la migration entre Symfony 2 et 3 en activant la nouvelle structure de répertoires