Les extensions à réinstaller sur Firefox

A chaque fois que je réinstalle firefox sur une nouvelle install/machine je ne me souviens jamais des bons plugins à installer.

Je fais donc ce tit post pour les lister et ne plus jamais les oublier ainsi qu’une petite description pour vous lecteurs.

uBlock Origin

AdBlocker en version opensource et donc un peu plus “safe” que la version de base qui est maintenant pilotée par des intentions dont la noblesse est très discutable.

154548

uBlock Origin

 

Lightbeam

Afin d’effectivement suivre où et par qui vous êtes effectivement tracké. Parce que oui vous être tracké, en avoir conscience et connaître ses ennemis c’est mieux.

116420

Read More…

Posted in Web at October 10th, 2016. 11 Comments.

Réussir sa certification PHP

Parfois par défi personnel, parfois par demande de la société qui vous emploie, cette certification est régulièrement demandée.
Notre société moderne de plus en plus cloisonné par le besoin d’avoir des diplômes pour prouver ce qu’on est, ce qu’on vaut ne nous laisse pas le choix: vous devez passer votre certification PHP.

La question qui vient donc à l’esprit c’est comment la réussir pour la mettre définitivement derrière vous, pouvoir l’exhiber fièrement dans votre CV, linkedIn et autres.

Read More…

Posted in Web at February 22nd, 2016. No Comments.

Javascript reference

Ce post sera actualisé régulièrement en fonction de mes lectures ayant attrait au JS.

Mes liens

C’est con mais au final c’est la base du JS moderne: le module pattern

Brunch, c’est quoi à quoi ça sert… le guide

Comment ça du templating coté client c’est bizarre? C’est vrai que c bizarre, mais si ça vous dérange trop coté serveur c’est bon aussi pour Jade

On ne peut pas parler de vues coté client sans imaginer que les modèles y sont aussi grâce à backbone (comme c’est un peu ardu au premier abord allez vers les tuto ici)

La partie la plus impressionnante pour moi de backbone étant la sync entre modèle et backend.

Dans ce cas vous pouvez mettre en place un routage très simple avec un nodejs mais surtout du PHP: Yii remplit pour moi assez bien cette tâche

Avec backbone vous n’échapperez pas à underscore. Et vous aurez beau vous en défendre backbone stickit est et reste dur à contourner (lier vue && modèle)

 

Parce que les dates et le javascript c’est … spécial. Quelle idée de faire commencer les mois à 0 quand meme: il existe moment.js

Parce qu’on a pas tjrs besoin du gros et baveux bootstrap et/ou jQuery pour faire tout et n’importe quoi: microjs vous aidera a choisir la lib qui va bien

Les select c’est vieux c’est has been mais parfois c’est bien utile. Mais ce sera plus sympa et plus intuitif/vendeur avec select2

 

Les ressources externes:

Ressources pour une veille technologique web front de qualité

Une semaine un mail sur le JS

Posted in Web at December 29th, 2015. No Comments.

Modern PHP – Les liens composer

Mes motivations pour cet article sont les mêmes qu’évoquées dans Modern PHP: Donc juste un bloc-note pour ne rien n’oublier:

Gestion des erreurs:

  • filps/whoops: remonte et montre une éventuelle erreur ainsi que toute la stacktrace facilitant le debug
  • monolog/monolog: logguer implémentant la fameuse PSR3.

Http requests:

  • guzzle/guzzle: l’API curl en component
  • modernphp/scanner tester la validité de liens

Validation:

  • aura/filter
  • respect/validation

Construction d’infrastructures VM:

Posted in Web at May 25th, 2015. No Comments.

Modern PHP

Si vous voulez lire une remarque appréciative du bouquin voilà la seule chose que j’ai à vous conseiller: Foncez l’acheter

Mon idée pour ce post est juste de créer un petit mémo sur ce que j’ai appris, les “nouvelles” façon de faire. Mais également de relater les ressources à ne pas oublier.

Je n’ai aucunement l’envie de cannibaliser le travail de l’auteur, ce pourquoi je resterai volontairement évasif. De nouveau si vous voulez en savoir plus achetez le bouquin !

Les nouvelles fonctionnalités et des existantes inusitées:

  • Les traits
  • Les générateurs
  • filter_input REMPLACE l’accès aux superglobales $_GET, $_POST, $_COOKIE
  • filter_var & FILTER_VALIDATE_* est capable de valider série de chose sans devoir directement sortir les regexps.
  • l’API password_* (si vous utilisez une version PHP < 5.5 vous pouvez l’importer: ircmaxell/password-compat)

Les dates et leur gestion:

  • DateTime, DateInterval, DateTimeZone, DatePeriod (il existe également une librairie vous facilitant la gestion des dates nesbot/carbon)

Les non-classés:

  • Utilisation des PDO::PARAM_* pour spécifier les types des paramètres attachés dans une requête préparée PDO.
  • Les fonctions de string multibytes mb_* pour toute chaîne de caractères utf8
  • Les streams sont partout et très puissants (Il est possible de gunzipper un fichier à la volée pendant sa lecture)

Les exceptions et leur utilisation:

  • Les exceptions à utiliser (au lieu de tout baser sur Exception):
    • Les classiques: Exception, ErrorException,
    • LogicException et ses enfants: BadFunctionCallException, BadMethodCallException, DomainException, InvalidArgumentException, LengthException, OutOfRangeException,
    • RuntimeException et ses enfants: OutOfBoundsException, OverflowException, RangeException, UnderflowException, UnexpectedValueException
  • Le try catch finally existe aussi en php
  • Il n’est pas très dur (et est une bonne pratique) de transformer toute erreur en ErrorException avec set_error_handler

Les components:

  • Les components et composer sont le futur et tellement simples à utiliser que ça en deviendrait honteux de ne pas en manger.
  • Les frameworks ne sont pas une mauvaise chose en soit, mais ils doivent évoluer et devenir une agrégation de components plutôt que continuer à implémenter les leurs.
  • Toujours exposer des interfaces à la communauté.
  • Utilisation des PSR (1 & 2 pour le style, 3 pour la LoggerInterface, 4 pour le chargement des classes)

Tests:

    • phpunit évidemment
    • SpecBDD
    • StoryBDD (Behat)
    • XDebug pour le code coverage (utilisation de la balise whitelist pour définir le coverage)
    • TravisCI

Profiling:

  • XDebug
  • XHProf & XHGUI

Benchmarking:

  • Apache Bench
  • Siege

Les optimisations non relatives au code à proprement parler

  • Zend OPcache est dispo à partir de la version .5.5
  • Built-in HTTP server: php -S localhost:4000 -c /path/to/php.ini front.php
  • Session handling : memcache & redis, les IO sur le disque sont souvent un mauvais choix.
  • Déployer son code ça ne se fait plus avec (s)ftp. Capistrano est une bonne alternative. Mais aussi Deployer, Magalanes, Rocketeer
Posted in Web at May 23rd, 2015. 2 Comments.

Child theme

ça fait déjà un bout de temps que j’utilise le thème Adventure customisé par mes soins.

Avant évidemment je modifiais le style.css et les pages du thème en fonction de ce que je voulais. mais à chaque mise à jour du thème j’étais reparti pour tout refaire. Plutôt pénible évidemment, mais c’était sans compter sur la (relativement nouvelle) fonction child-theme de wordpress. Celui ci permet de tuner son thème sans devoir tout recopier.
Read More…

Posted in Graphisme, Web at January 24th, 2013. No Comments.

Script init.d pour php-cgi (spawn-fcgi-php)

J’ai longtemps galéré pour trouver un script décent pour lancer php-cgi via init.d utilisant start-stop-daemon.

Intérêt de spawn-fcgi plutôt qu’un mod apache?

  • Privilege separation without needing a suid-binary or running a server as root.
  • You can restart your web server and the FastCGI applications without restarting the others.
  • You can run them in different chroot()s.
  • Running your FastCGI applications doesn’t depend on the web server you are running, which allows for easier testing of/migration to other web servers.

C’est ce dernier point qui m’a fait craquer, apache, nginx, cherokee, autres, tous ou presque supportent un accès à php de cette façon

Je voulais donc vous faire profiter de ma découverte.

Read More…

Posted in Web at January 2nd, 2012. 3 Comments.