Archives pour la catégorie Programmation

Tous ce qui à attrait la programmation ^^

Debug PHP XDebug + VSCode

Salut à tous,

M’attaquant actuellement à de gros projets PHP avec des architectures logiciels complexe impliquant de nombreux designs patterns différents pas forcément facile à débugger (factory d’observer pour des plugins d’éditions, etc ….

Débugger à base de dump et var_dump prend du temps et n’est pas du tout performant, j’ai toujours tendance à oublié le contexte, des variables, … et je dois recommencer le debug à la main.

Continuer la lecture de Debug PHP XDebug + VSCode

Symfony, créer son propre générateur d’ID (Code jetable, …)

Salut à tous,

Dans un récent projet, j’ai dû générer des codes jetables qui n’étaient pas « devinable », j’ai découvert pour ce faire, le AbstractIdGenerator, qui permet de générer ses propres clés. (J’aurais pû le faire sur un champs à part et filtrer dessus, mais bon 🙂 … c’est d’un manque totale d’élégance intellectuelle …).

Continuer la lecture de Symfony, créer son propre générateur d’ID (Code jetable, …)

Documentation d’API automatique sur Symfony avec NelmioApiDoc

Plop à tous,

De retour en dev PHP, depuis quelques temps je me retrouve à faire des API sur Symfony (voir mon article sur FosRestBundle). Je cherchais un moyen d’automatiser la doc des API, mais aussi de pouvoir les tester côtés back sans avoir à faire de front, tout en ayant la possibilité d’utiliser des token d’authentifications, …

C’est justement ce que permet NelmioApiDoc !!

Continuer la lecture de Documentation d’API automatique sur Symfony avec NelmioApiDoc

Python : environnement de developpement local

Hello,

J’ai repris le dev python pour mes intelligences artificielles et avec la tonne de dépendances pour faire des tests (libs d’extractions diverses avec leurs dépendances, …), on peut très vite se retrouver avec un environnement de dev crade. (surtout quand certaine lib ne sont dispo que en 2.6, 2.7, 3.1 ou 3.3 … ça fait vite masse fichiers inutiles d’installé).

Il y a plusieurs solutions pour palier à ce problème :


Cloisement de l’environnement : virtualenv

Il vous faudra virtualenv ou venv (à partir de python 3.3)

virtualenv .
bin/pip install nompaquet
bin/python monscript.py

Inconvénient

Nécessite de pouvoir installer virtualenv, ou de l’installer via la méthode suivante en local pour ensuite utiliser virtualenv pour développer en local …. seems legit xD.

Méthode crade mais rapide : le dossier local

Installation des libs dans le dossier locale (sous dossier lib ou ce que vous voullez) :

pip install -t lib/

ou install des prerequis de votre soft depuis un fichier requirement :

pip -r requirements.txt -t lib/

Execution du script avec les libs en locale :

PYTHONPATH=lib/ python monscript.py

Et c’est bon, vous êtes désormais dans votre dossier local, avec des libs qui ne sont dispo que dans ce projet (pas de système cradossé \o/).

Conclusion

Il existe encore d’autres méthodes (docker, buildbot, … ? xD).

A vous de choisir la méthode qui vous convient 😉 et qui permet de développer le plus rapidement.

Disunity: Extraction de fichiers .unity3d

Salut à tous

Je m’essai depuis quelques temps à la programmation webgl avec Three.js et j’ai du extraire des fichiers d’un .unity3d, le format binaire d’unity pour les ressources web, format qui selon les forums d’unity n’est pas censé être « extractible » (au final de nombreux logiciels permettent l’extraction :)).
Continuer la lecture de Disunity: Extraction de fichiers .unity3d

Mouse binding, jeux vidéos et R.A.T MMO7 sous linux

Bonjour à tous

Aujourd’hui, c’est mouse binding!! Il y a 1 an je faisais l’acquisition d’une R.A.T MMO7 (une souris avec une 21 boutons pour un total d’une 40aine de combinaisons de contrôle (sans compter le switch de profile)).

Le soucis sous linux c’est que la souris n’est pas reconnu comme il faut par défaut, et la plupart des tutoriaux (1,2,3) se contentent de « fix » crade contre performant à base de driver « mouse » dans la config Xorg résultant d’une consommation de CPU > 30% par Xorg lorsque l’on ne fait que déplacer la souris!!!
Continuer la lecture de Mouse binding, jeux vidéos et R.A.T MMO7 sous linux