vendredi 23 septembre 2016

Mettre l'Installateur de macOS Sierra sur une clef USB

  1. Trouver une clef USB d'une capacité ≥ à 8 Go ;
  2. L'insérer dans un port USB disponible ;
  3. Télécharger macOS Sierra à partir de l'App Store ;
  4. Ne pas lancer l'installation de macOS Sierra ;
  5. Ouvrir un terminal ;
  6. Exécuter `sudo /Applications/Install\ macOS\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/<nom de la clef USB> --applicationpath /Applications/Install\ macOS\ Sierra.app ;
  7. Faire ce qui est indiqué à l'écran ;
  8. Profit!

Attention, le contenu de la clef USB sera évidemment perdu durant le processus.

mardi 21 juin 2016

Alan Kay about object

I've been constantly surprised about how what I called object-oriented and system-oriented got neutered into Abstract Data Types, etc. I think because people wanted to retain the old ways of programming with procedures, assignment statements, and data structures. These don't scale well, but enormous  […]

Lire la suite

mercredi 17 février 2016

C'est l'histoire d'un mec

C'est l'histoire d'un mec qui exécute dans son terminal la commande phpmetrics --report-html=~/metrics src, qui se retrouve en conséquence avec un répertoire ~/ dans son répertoire courant et qui fait donc un rm -rf ~/ pour le supprimer, pour aller ensuite faire une offrande à Steve Jobs pour avoir  […]

Lire la suite

mardi 1 décembre 2015

PHP et ./configure

Aujourd’hui, j’ai fait un brew install (je sais, je suis un dingue) qui a mis à jour la bibliothèque icu, utilisée par l’extension int de PHP.

Du coup, PHP est devenu inutilisable sur mon poste de travail puisque j’obtenais systématiquement la sympathique erreur suivante :

# php -v
dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.55.dylib
Referenced from: /usr/local/bin/php
Reason: image not found
Trace/BPT trap : 5

L’erreur peut semble quelque peu incompréhensible au premier abord, mais l’expérience m’a appris qu’elle veut tout simplement dire que l’exécutable PHP n’est pas capable de localiser la bibliothèque libicui18n.55.dylib à l’emplacement indiqué lors de sa compilation, ce qui est logique vu que brew a supprimé le fichier concerné au profit de libicui18n.56.dylib (et oui, les bibliothèques qui contiennent leur numéro de version dans leur nom sont une plaie).

Lire la suite

vendredi 6 novembre 2015

J'ai oublié de vous dire… #2

J’ai oublié de vous dire que je vais me livrer à un exercice inédit pour moi lors du prochain forum PHP les 23 et 24 novembre 2015.

En effet, l’AFUP, traditionnelle organisatrice de l’événement, me renouvelle à cette occasion sa confiance puisqu’elle a retenu ma proposition de conférence concernant atoum.

Cependant, cette conférence sera très différente de celle que j’ai déjà eu l’occasion de donner à son sujet, puisque contrairement aux précédentes, elle ne se focalisera pas sur l’outil en tant que tel, mais sur ce qu’il s’est passé au cours de son développement depuis sa naissance à aujourd’hui.

Je souhaite en effet parvenir à réaliser au cours de ma conférence ce que l’on pourrait appeler une rétrospective agile du projet de sa naissance à aujourd’hui, en temps réel et avec la participation active du public, dans l’optique de parvenir à définir collectivement les actions à mener pour l’améliorer à tout point de vue.

Lire la suite

jeudi 29 octobre 2015

Chronique sur mon voyage vers l'est, quatrième !

Comme je l’ai annoncé dans mon précédent billet, je viens de donner pour la quatrième fois ma conférence à propos de la programmation orientée objet « vers l’est » dans le cadre de Blend Web Mix.

La forme a légèrement évolué au cours de ces quatre itérations, mais le fond est resté exactement le même et ceux qui n’ont pu y assister pourront donc consulter l’histoire correspondante que j’avais publiée après le PHP Tour luxembourgeois.

Lire la suite

mercredi 28 octobre 2015

J'ai oublié de vous dire… #1

J’ai oublié de vous dire que je donnerais demain une conférence à la Blend Web Mix à propos de la programmation orientée « vers l’est », également connue sous le nom de programmation orientée objet. Cette conférence est la synthèse du (long et difficile) chemin que j’ai parcouru en 18 mois lorsque  […]

Lire la suite

mardi 27 octobre 2015

J'ai un emploi !

Le dernier billet de ce blog a été pendant bien trop longtemps je suis à la recherche d’un emploi.

Je dis bien trop longtemps, car depuis maintenant pratiquement six mois, je travaille pour la société Norsys.

Ceux qui me connaissent, qui prendraient la peine de faire une recherche sur cette entreprise et qui s’arrêteraient aux premiers résultats retournés par leur moteur de recherche favori seront potentiellement surpris de mon choix.

En effet, Norsys est ce que le Syntec Numérique a décidé de pudiquement renommer il y a deux ans Entreprise de Services du Numérique, ou ESN, l’abréviation SSII pour Société de Service en Ingénierie et Informatique étant certainement devenu trop négativement connotée à son goût.

Et ce n’est un secret pour personne, je ne porte vraiment pas ce type de société dans mon cœur, pour tout un tas de raisons dont je suis prêt à débattre autour de plusieurs bières (si c’est vous qui les offrez, parce qu’il me faudra une motivation assez forte pour que j’accepte de me lancer dans ce type de discussion).

Mais alors, pourquoi ai-je décidé de rejoindre cette société, me direz-vous ?

Lire la suite

mercredi 8 avril 2015

Je cherche un emploi !

Je sais bien que cela peut sembler un peu mesquin de sortir ce blog de son sommeil pour faire savoir qu’à la suite d’un licenciement économique, je suis à la recherche d’un travail sur Lyon et ses alentours, mais comme le dit l’adage populaire : aux grands maux, les grands remèdes. Donc, si  […]

Lire la suite

mardi 9 septembre 2014

Spécifiez agile !

Si les livres relatifs à l’agilité du point de vue du développeur sont légion, ceux l’abordant du point de vue fonctionnel sont assez rares.

Or, l’agilité mise avant tout sur la bonne collaboration de toutes les parties prenantes d’un projet pour parvenir à sa concrétisation.

Il est donc primordial que chaque intervenant dispose d’une vision claire des concepts agiles et sache les exploiter au mieux dans son domaine de compétence.

Le livre de Thierry Cros intitulé Spécifiez agile a donc éveillé très fortement ma curiosité lorsque j’ai découvert son existence, à tel point que je me le suis offert en me disant que cela me permettrait peut être de mieux faire passer l’agilité auprès des experts fonctionnels avec lesquels je tentais de travailler à l’époque.

Voici donc ma critique de ce livre qui, je l’espère, permettra à Thierry d’améliorer son ouvrage.

Lire la suite

vendredi 29 août 2014

À propos de phpng et de PHP 7

Il y a quelques jours, Johannes Shlüter a donné une conférence à propos du fonctionnement de phpng.

Pour ceux qui l’ignorerait, Johannes a été le « release master » de la version 5.3 du langage, et phpng sera le remplaçant du Zend Engine 2 dans ce qui sera PHP 7, qui correspond à la prochaine version majeure du système et qui prendra donc la suite de PHP 5.

Vous avez bien tout suivi ? Si ce n’est pas le cas, relisez le paragraphe précédent en faisant abstraction de vos connaissances en arithmétique élémentaire…

Le mariage de PHP 7 et de phpng devrait être consommé dans approximativement un an, d’après Zeev Suraski.

Grâce à phpng, PHP 7 devrait donc apporter un gain de performance très significatif, comme d’habitude avec chaque nouvelle version du langage…

Lire la suite

lundi 11 août 2014

Réussir dans la vie…

Il faut que tu travailles bien à l’école pour réussir dans la vie. Il faut que tu travailles bien et beaucoup pour réussir ta carrière. Il faut que tu aies une Rolex à ton poignet avant 50 ans pour réussir ta vie. Il faut… pour réussir… Je pense que nous avons tous entendu cette ritournelle à minima  […]

Lire la suite

vendredi 18 avril 2014

À propos de la programmation orientée objet #2

J’ai eu quelques commentaires à propos de mon dernier billet dans lequel je dis qu’il n’est pas prudent, lorsqu’on fait de la programmation orientée objet, de se baser à l’intérieur d’une méthode de classe sur une valeur retournée par ce qui est communément appelé un « getter » pour prendre une décision.

Étant donné que je suis un peu masochiste, j’ai pris le temps de coder quelques lignes pour démontrer qu’il s’agit d’une mauvaise pratique.

Étant amateur de (bonne) bière, je me suis permis de choisir comme cas d’usage la réalisation d’une commande par un client dans un bar à bière, de la demande au paiement.

De plus, afin de limiter la portée de l’exemple, j’ai fait quelques concessions sur la réalisation technique.

Ainsi, mon code ne contient pas d’interface, alors que dans un cas réel, afin d’augmenter le niveau d’abstraction, il faudrait y recourir afin de pouvoir par exemple remplacer le barman par une pompe à bière automatique, ou bien le client par un Autrichien sachant parler le français et payer en euro.

De plus, je n’ai pas utilisé d’injection de dépendance pour la création de mes objets et au moins une méthode assure une méthode qui ne devrait pas être de la responsabilité de la classe, mais j'ai choisi dans ce cas la facilité, car la méthode concernée est périphérique et n'apporte rien au propos.

Lire la suite

vendredi 11 avril 2014

À propos de la programmation orientée objet

Il y a quelque temps, un vieux serpent de mer est ressurgi puisque quelqu’un a demandé si atoum est aujourd’hui capable de tester des méthodes protégées.

J’ai tout d’abord laissé le rasta blanc ainsi que d’autres utilisateurs répondre à la question et justifier le fait qu’atoum ne propose pas cette fonctionnalité.

Cependant, du code censé me démontrer l’utilité de cette possibilité m’a été présenté, et je suis alors rentré dans le débat en expliquant que lorsque les concepts de base de la programmation orientée sont respectés, il est inutile de tester des méthodes protégées.

Et je ne justifierais pas ici et maintenant une nouvelle fois cela, car ce n’est pas l’objet de ce billet, d’autant que je l’ai déjà fait.

La discussion a en effet dévié du sujet initial pour se focaliser sur la programmation orientée objet et ses concepts, et je me suis rendu compte à cette occasion qu’en réalité nous ne faisions pas toujours de la programmation orientée objet, moi compris.

Lire la suite

mardi 1 avril 2014

PHP au Nirvana

Il y a encore peu de temps, dans un monde pas si vieux que cela, Zend régnait en maître dans l’écosystème PHP.

En effet, le Zend Engine était la seule et unique solution viable pour exécuter du code PHP, et si son code est libre et ouvert, Zend exerce suffisamment de contrôle sur son développement pour pouvoir le maîtriser plus ou moins ouvertement.

Mais depuis quelque temps, la situation a beaucoup évolué, puisqu’il existe maintenant des alternatives viables et surtout plus performantes.

J’avais déjà évoqué il y a deux ans le projet Bianca mis au point par Clever Cloud comme solution de remplacement au Zend Engine, mais depuis, d’autres solutions sont apparues, à commencer par HHVM, conçu par Facebook.

Lire la suite

vendredi 28 mars 2014

Nous devrions tous avoir les mêmes valeurs qu'Apple !

Régulièrement, de grandes entreprises américaines communiquent sur les valeurs de leur entreprise.

Et parmi elles, la plus scrutée est évidemment Apple puisqu’outre le fait que cette dernière a une culture du secret et que chaque information divulguée peut donner des indices sur ses futurs agissements, elle est attendue au tournant depuis la mort de Steve Jobs.

Ainsi, Tim Cook a par exemple indiqué au cours d’une interview qu’il a donnée au sujet du livre « Haunted Empire : Apple after Steve Jobs » qu’Apple n’a pas d’autres objectifs que de créer les meilleurs produits au monde afin de marquer l’univers de son empreinte et le laisser dans une meilleure condition qu’elle ne l’a trouvé.

Et à chaque fois, ce genre de diatribe est perçue plus ou moins négativement par certains, car ils trouvent bien souvent ce discours à minima présomptueux et à maxima digne du guru d’une secte qui n’a que pour seul et unique but de laver un peu plus le cerveau de ses ouailles présentes ou à venir.

Lire la suite

jeudi 20 mars 2014

Quelle est la cause de la disparition de l'esprit agile ?

Depuis quelque temps, l’agilité prend du plomb dans l’aile.

Entre le fait que ce concept soit devenu monnayable via des certifications sans valeur réelle et le fait que des projets continuent à échouer malgré que les équipes chargées de leur développement soient passées à l’agilité, il devient en effet très tentant de dire que l’esprit agile est en train de disparaître.

Et il faut dire que cela en arrangerait beaucoup.

En effet, dans la plupart des entreprises, l’agilité est une notion qui dérange fortement toute personne n’étant pas développeur.

Et si elle dérange, c’est parce qu’elle ne permet plus de rendre les développeurs seuls et uniques responsables de tous les maux, car elle met au contraire en face de leurs responsabilités des gens qui ont bien souvent développé (consciemment ou non) un véritable art de la déresponsabilisation.

Lire la suite

lundi 10 mars 2014

Les tests sont les panneaux routiers du développeur

Même si je me suis sevré du réseau pendant ma semaine de vacances, j’ai vu passer régulièrement cette citation sur twitter :

Be humble about what tests can achieve. Tests don’t improve quality: developers do.

Et même si je suis absolument d’accord, elle m’a fait réfléchir à la signification que je donne aux tests.

J’ai commencé par me dire que si les tests ne permettaient effectivement pas d’améliorer la qualité du code, ils permettaient cependant à minima de la maintenir au cours du temps.

Ils sont en effet les garants du fait qu’une modification effectuée sur le code n’a pas altéré son fonctionnement, du moins en ce qui concerne les fonctionnalités qu’ils prennent en compte.

À première vue, les tests sont donc pour moi un indicateur prenant la forme d’une alarme visuelle telle qu’un gyrophare géant qui passe du vert au rouge lorsqu’elle détecte une anomalie dans le comportement du code.

Arrivé à ce point de mes réflexions, j’aurais pu m’arrêter là, mais j’ai cependant continué à réfléchir à la nature des tests, car intuitivement, je savais qu’ils étaient pour moi plus qu’un simple système d’alarme, notamment dans le cadre du développement par les tests.

Lire la suite

dimanche 23 février 2014

À perception différente, incompréhension mutuelle #2

Malgré l’angine qui me ravage la gorge, je ne résiste pas à l’envie de poursuivre ma réflexion concernant la difficulté à communiquer la complexité du métier de développeur au néophyte.

J’ai émis précédemment à ce sujet l’hypothèse que l’origine de cette difficulté trouve sa source dans le fait que la plupart des gens ont une vision très simplifiée des concepts qu’ils manipulent au quotidien, comme le temps, justement parce qu’ils pensent les manipuler efficacement et surtout correctement quotidiennement et qu’en conséquence, cela doit être tout aussi facile pour un ordinateur et donc un développeur.

Cependant, j’ai également une autre hypothèse pouvant expliquer la vision déformée qu’ont la plupart des gens de notre métier.

Lire la suite

vendredi 14 février 2014

À perception différente, incompréhension mutuelle

Je me demande souvent pourquoi les personnes qui n’ont jamais tapé une seule ligne de code dans leur vie ne comprennent pas la complexité de notre métier.

Et si une réponse évidente est déjà dans la question en elle-même, je pense qu’il est tout de même intéressant de pousser la réflexion un peu plus loin, ne serait-ce que pour pouvoir améliorer notre communication, par exemple lors d’une planification de tâche ou une discussion à propos du nombre de jours nécessaire à un développement.

Et l’une des réponses que j’ai trouvées est que le non-informaticien a une vision extrêmement simplifiée de nos problématiques.

Lire la suite

- page 1 de 94