ps : au delà des trucs de geek, ce qui est sympa à la technique chez PMSIpilot, c’est l’ambiance et la qualité des collaborateurs côtoyés ; croyez moi, c’est pas partout comme ça.
Ceci fait, on pourrait imaginer appeler la fonction get_component présente dans PartialHelper.php histoire de générer le cache pour certains composants.
// charge le helper$configuration->loadHelpers('Partial');
get_component($moduleName,$componentName,$vars);// si le composant utilise du cache, le fichier de cache sera crée
Le probleme est que tous les appels à link_to ou image_tag vont générer des liens invalides. (avec des symfony/symfony dans les urls)
La solution que j’ai trouvée en regardant du coté de sfBrowserBase.class.php consiste à setter le tableau $_SERVER pour simuler complètement la navigation web. Il faut donc insérer les lignes suivantes avant la création du contexte :
Bien sur, il faut que votre task prenne host (par exemple ‘localhost’ pour vos test) et script_name (par exemple ‘/monalias/frontend.php’) en arguments.
Cela semble fonctionner dans mon cas. N’hésitez pas si vous avez des retours ou des remarques.
La liste des modestes contributions à symfony a été mise à jour sur pmsipilot.org. On a trouvé deux trois petites choses ;-) et proposé pas mal de patchs.
Lors du symfony live 2010 (non, je ne vous ferais pas un compte rendu de symfony live 2010, il y en a de très bien déjà partout sur l’internet) beaucoup de personnes ont interpellées la core team au sujet des problèmes de compatibilité descendante avec symfony.
Récemment, dans ma société, j’ai migré un projet de symfony 1.2 à 1.4. Pas un petit, 220 000 lignes de code (hors symfony, code généré et plugins). A vrai dire, vu comme ça, je me disais que ça marcherait jamais.
J’ai commencé par mettre à jour lib/vendor/symfony en 1.3 et fait tourner la tache ./symfony project:upgrade1.3. La plupart des YLM ont été modifiés correctement, tous les héritages des formulaires, la gestion de la disparition du common filter … tout ça a été fait automatiquement pour moi ! project:validate m’a ensuite indiqué la liste des méthodes et fonctions dépréciées. Un peu de surcharge de méthodes, de récupération de vieux helpers, et voila. En quelques heures le projet était d’équerre. Ceci fait, j’ai ensuite migré vers la 1.4.
Le plus pénible à gérer fut la fin de la gestion des tableaux dans les méthodes de sfParameterHolder. project:validate a bien indiqué les classes des contrôleurs à changer mais n’a pas pu chercher dans les autres classes les (maintenant) mauvaises utilisations des tableaux. Pour ça, les tests ont bien aidé, et le reste de l’équipe à résolu quelques occurrence de ce problème les jours suivant.
Pour ma part, des migrations comme ça j’en veux bien tout le temps !
Je travaille avec symfony depuis la version 0.6.3, et je ne l’ai jamais trouvé aussi facile à utiliser.
Le concept n’est pas plus compliqué qu’un carnet de santé en ligne :
inscription gratuite et anonyme (disons, pas plus que les autres réseaux sociaux),
saisie de vos données médicales horodatées,
possibilité de consulter (tableaux graphiques) et d’extraire ces données à tout moment.
Bénéfices immédiats :
suivi de votre santé (maladies, traitements, état général, …) sur le long terme,
fourniture simplifiée d’un historique complet et plus fiable que votre simple mémoire, à chaque rencontre avec un médecin (le nombre de fois ou on m’a demandé de réciter par cœur l’historique de la pathologie et les traitements de mon fils …),
prise de contact simplifiée avec les personnes souffrant d’affections similaires (échanges, prévention, soutien, partage).
Bénéfices induits :
consultation d’une base de données importante sur des évaluations de traitements (par exemple, le Cellcept pris par mon fils ou l’Inexium pour moi même) et de symptômes,
meilleure aperçu de l’évolution supposée d’une pathologie.
PatientsLikeMe est un véritable exemple de la puissance des données. Il n’y a pas d’administrations ni de médecins derrière la création de cet outil. Simplement des individus partageant des expériences. Bien sur, la plupart des professionnels de santé expliqueront doctement que ces analyses ne valent pas grand chose, car elles ne sont pas réalisées dans un cadre rigoureusement scientifique ; Jamie Heywood, le créateur du site, n’est pas de cet avis. Je vous invite à l’écouter (via TED).
Aujourd’hui, PatientsLikeMe n’existe qu’en anglais et n’accueille que les patients atteints de certaines maladie graves. Je rêve d’une initiative de ce genre plus ouverte et localisée en français … y a qu’a !
Mais c’est pour améliorer les performances de nos applications grâce à un plugin développé par un de mes brillants collègues : elXHProfPlugin.
Mon équipe l’utilise sans douleurs depuis plusieurs semaines et avec de nombreux gains à la clef. C’est la démocratisation du profiling qui, jusqu’alors, était plus réservé aux CP techniques tant sa mise en place, avec xdebug, était pénible.
La rumeur enflait enflait et finalement on a eu la confirmation de ce projet fou qu’une poignée de développeurs (un puis trois) menaient en secret chez Facebook.
Le but étant d’améliorer les performances globales de PHP. Et tout ce travail (300 000 lignes de code) va être distribué en open source. Même si on ne sait pas si ce système sera vraiment utilisable, chapeau Facebook !
On utilise couramment l’expression développeur web pour désigner le développeur travaillant à l’élaboration d’un site web ou d’une application en client léger. Même si cette expression ne me satisfait pas énormément, je vais m’en contenter pour ce modeste article.
Voici, selon moi, ce qu’il faut savoir pour être un bon développeur web.