Migration de technologie J2EE vers PHP
Je reprends ici les slides que j'ai utilisé lors de ma conférence au dernier Forum PHP organisé par l'AFUP à la Cité des Sciences de Paris :
Je reprends ici les slides que j'ai utilisé lors de ma conférence au dernier Forum PHP organisé par l'AFUP à la Cité des Sciences de Paris :
Après la migration d'une blog, j'ouvre une nouvelle catégorie dans le blog : mobile. En effet, ce domaine me prend actuellement un grande partie de mon temps de veille... Autant donc partager mes avis, remarques etc dans le domaine. Je suis utilisateur principalement d'iPhone actuellement, mais il m'arrive de tester le fonctionnement et les applications sous Android et Symbian (Nokia).
Cette catégorie regroupera toutes informations, remarques, pensées à propos de l'univers mobile : nouveaux terminaux, nouvelles technologies, développements, conférences.
J'ai démarré sur le web à la fin des années 90. Mon parcours pro est parsemé par l'innovation et les nouvelles technologies : vagues de l'internet début 2000, nouveaux écrans et streaming dans les années 2010 et maintenant l'intelligence artificielle. J'aime apprendre en pratiquant et en bidouillant... Vous pouvez me trouver également sur LinkedIn.
Je suis content car je viens enfin de terminer la lecture du livre dont j'avais parlé dans un précédent billet

Même si beaucoup de chose m'était déjà connu, j'ai pu compléter mes connaissances ou approfondir certains points. Je pense plus généralement que les livres sont un excellent complément aux informations que l'on pourrait trouver sur le net.
Bref, je suis content d'avoir enfin terminé cela. Je pense maintenant m'attaquer au développement de module ou librairies qui pourraient être utiles dans des cas divers et variés...
Avant tout, je pense qu'il faut séparer les frameworks PHP et ceux en Javascript.
Les Frameworks Javascript sont une véritable révolution dans le "petit" monde du web. Il en existe plusieurs mais deux sont réellement utilisés à grande ampleur :
C'est en grande partie grâce à ces frameworks que les applications web2.0 sont apparus (mais pas uniquement, on remerciera également Adobe).
J'en viens maintenant aux frameworks PHP. Actuellement, je dirais qu'il en existe 2 :
Ces derniers sont pour moins un véritable problème. En effet, ils répondent, il est vrai, à tous les besoins possibles et imaginables. Cependant, ils chargent beaucoup d'élément qui demande du support et dont on ne sait pas toujours comment le déroulement s'effectue.
Je préfère donc réutiliser les briques que j'ai développé moi-même (par exemple pour la gestion des templates ou encore pour la connexion à la base de donnée). Je garde ainsi le contrôle du code, tout en répondant trés précisément au besoin des applications que j'ai à développer.
Je concluerais en disant que pour utiliser un Framework quel qu'il soit, il faut véritablement se poser la question de ce que l'on veut faire et comment on veut le réaliser. On utilisera ensuite l'outils le plus adapté.
Après avoir explosé le record de téléchargement en une journée (8 millions qui seront inscrit dans le Guiness des records), je reviens sur l'utilisation de Firefox 3.
Première étape, l'installation ! L'installeur est un fichier très léger (moins de 8Mo ), trés rapide à installer. Un seule bémol mais cela est corrigé progressivement dans le temps : les plug-ins qui n'étaient pas encore disponible pour FF3...
Deuxième étape, l'utilisation ! C'est ici que ça commence réellement. Mon tout premier test fût Gmail plutôt lente sur FF2. Résultat, j'ai été scotché sur mon siége, je croyais difficilement possible de rendre l'interface aussi "instantanée". On clique, la page s'affiche ! Bref, Tristan Nitot ne nous avait pas menti en indiquant que l'application serait 4 fois plus rapide. Le reste du surf sur le net, même avis, les pages contenant de l'Ajax sont plus rapides et la gestion et performance du Javascript est augmentée !
Pour résumé, j'aurais beaucoup de mal à repasser sur Firefox 2... A noter également que Firefox 3 intégre une partie du draft de spécification du HTML5
J'ai abordé le sujet dans mon précédent billet. Les expressions régulières ou rationnelles sont puissantes et rapides, une fois qu'elles sont maitrisés. En PHP, il existe deux types d'expressions régulières :
C'est le second type qui est le plus performant mais plutôt que de faire un long laïus dessus, je propose de lire ce tutoriel qui les explique très clairement : Les expressions régulières PCRE (Perl Compatible Regular Expressions).
Les expressions régulières me permettent de tester les variables qui proviennent de formulaires en POST ou en GET, tout particulièrement lorsque ces dernières vont "attaquer" ensuite une base de donnée. Cela évite tout problème d'injection SQL. J'ai, par ailleurs, mis en place une librairie avec différents types de données (nom, prénom, titre, email, ville, etc...) que je réutilise pour valider les informations récoltées.
Je n'ai pas, pour le moment, trouvé de meilleure solution pour tester des variables que les expressions régulières. Pourquoi m'en priverais-je si elles sont en plus performantes ? ;-)
J'ai fait ce billet pour deux raisons principales :
Avant tout, la première chose à faire est d'effectuer ses développements avec le niveau le plus haut d'erreur E_ALL. Très souvent cela indique énormément d'erreur mais la contre partie est que l'on aura par la suite moins de problème d'erreur et de compréhension au niveau du code.
Premier exemple que je rencontre très régulièrement : la non initialisation d'une clé d'un tableau. Ce type d'erreur se voit par un Notice :
Notice: Undefined index 'champ' in 'fichier.php' on line 10
Ce type d'erreur est très simple à corriger. J'utilise pour ma part la fonction isset(). Cela donne le bout de code suivant :
if (isset($tableau['champ'])) {
traitement normal
} else {
on assigne une valeur par défaut
}
On peut appliquer le même type de traitement pour les données des variables \$_GET, \$_POST, ...
Le second exemple concerne plus la sécurisation des données venant provenant des formulaires et / ou URL pour valider en utilisant les expressions régulières. Mais ce second exemple fera l'objet d'un prochain billet.
J'ai participé à une conférence mardi dernier organisé par Bull, dans le cadre des Mornings du Libre. Deux conférenciers au programme :
Pour faire un résumé de NovaForge, j'utiliserais le terme d'agrégateur d'outils de gestion de projet dans le cadre d'une industrialisation globale des processus. En effet, ce dernier regroupe :
Pour le moment accès sur les développements en Java, la version PHP sera prochainement disponible.
C'est la raison pour laquelle Zend était également présent à cette conférence. Alban Henry nous a présenté les différents logiciels et contribution :
Bref tout un panel d'outils permettant d'industrialiser les développements.
Ce que je retiendrais de cette conférence, c'est surtout que toutes les sociétés qui sont passés dans un mode "Industrialisation des développements" a vu ses performances accrus et ses coûts réduits avec un gain de qualité... Je prêchais déjà la bonne parole, je vais continuer à le faire...
NB : je suis reparti de cette conférence avec quelques goodies (stylo, tapis de souris...) mais également avec un Livre Blanc intitulé : Les forces Logicielles, vers la révolution industrielle des développements applicatifs. Je vous en parlerais dans un prochain billet.
Et voilà, je viens de terminer ce livre, dont je parlais dans ce billet :
Accès sur PHP5, il peut également être appliqué à PHP4 (encore présent sur certaines plateformes). Côté base de donnée, c'est bien entendu MySQL qui est ciblé, cependant les différentes méthodes appliquées pourraient être transposés avec d'autres bases de données (Oracle, PostgreSQL...).
Mon impression générale est excellente, je ne suis pas déçu de l'investissement. Certains des points abordés m'ont permis :
Le livre m'a également permettre de mettre à jour des méthodes de "piratages" de site que je ne connaissais ou pensais presque impossible à mettre en place. Bref, un livre a posséder absolument !
Prochain livre "technique", le pavé PHP5 Avancé...