Retour

Conférence PHP Québec 2007

2008-02-21 21:51:59 (ID: 53, Parent: 0, Type: page)
Voici les notes que j'avais prises lors des conférences php québec 2007 afin d'en faire un résumé à mes collègues chez Canoë au bureau de Saguenay. Dù à l'horaires des vols entre Saguenay et Montréal, j'ai manqué les derniers blocs de conférences.

Techniques d'estimation agile pour les applications Web

Louis-Philippe Huberdeau

Estimation du temps de réalisation d'un projet. Utiliser un calcul basé sur le nombre de fonctionnalités. "Taille de pt de fonction".

Estimation différentes pour des projets interne vs public.

Regarder la norme ISO 19761 - Cosmic ffp

http://www.isbsg.org/

Déterminer ce que l'on inclus dans l'estimé: doc, devel, tests, bugs, ...

Ajustement de l'estimé en cours de projet

Refs:

A self improvement process for software engineers / Watts s humphrey

Measuring and managing performances in organisation / Robert D. Austin

Peopleware... / Dorset House 1999

Conférence basé énormément sur l'expérience personnelle et dans l'estimation de petits projets avec un seul développeur. Aurait été intéressant de voir la méthode appliquée dans le cadre d'une gestion de projet d'équipe et avec un chargé de projet. Dans les exemples, les estimés étaient directement faites par les développeurs et non par un analyste ou chargé de projet.

Abstraction des données

Frédéric Schmitt

Use case d'abstraction de données chez fm2i.

Identifier les sources de données => Centraliser les données => Diffuser vers les applications

XML/Soap

php5/Soap

Fichiers WSDL

YAML (spyc, syck)

Symfony + Lime pour les tests unitaires de services web

Tests fonctionnnels au niveau applicatifs et non du service.

frschmitt@fm2i.com

Conférence intéressante. Bon use case d'implémentation de services web. Le sujet était finallement le développement d'un web service pour donner accès à une base de donnée centralisée à plusieurs applications web/php, delphi, c, etc.

PHP & Design Patterns

Gerald Croës

gerald@copix.com http://gcroes.com/conf/php/quebec/2007/design_patterns.pdf

Patterns du "Group of five"

Design patterns elements of reusable object oriented

j2ee

Patterns of enterprise application architecture / Martin Fowler http://www.martinfowler.com/

EZComponent

http://phppatterns.com

Conférence intéressante, présentant surtout les patterns les plus communs. Bon exemples en php d'utilisations des différents patterns. Mot clé de ne pas essayer de mettre des patterns partout, se limiter à en mettre quand on rencontre une problèmatique et qu'elle a déjà été réglé avec un pattern.

SOA: Beyond the Hype

Rob Richards

Développer of php xml extension

rrichards@ctindustries.net

http://xri.net/=rob.richards

OASIS SOA definition

http://soafacts.com

Discoverability

SPAP, WSDL, UDDI (Public UDDI MS/IBM/BEA), WS-* (security, address, ...)

<--- Service Consumer (Find) -> Registry <- (publish) Service Provider --->

Rest: Resource oriented (URL GET/POST/PUT/DELETE)

  • Resource Rule
  • Uniform interface
  • Data caching
  • Lightweight and easy to use
  • No formal contract

ex: /order or /orders/{c_id} or /customer or /customers/{c_id}

SOAP/SOA: Service oriented ex: getOrder(o_id) or getOrders(c_id)

Enterprise Bus, Java messaging, ... ;)

Abandon SugarCRM to build custom software for client management system

SOAP: ext/soap

Axis2 Wsf 4 php

http://osoa.org/display/PHP/SOA+PHP...

SCA

wsdl->soap and smd->json

Exemple:

$url='http://...'; $s = SCA:getService($url.'?wsdl'); $s->whoAmI(); $s = SCA:getService('/home/me/.../a.php'); $s->whoAmI();

WebSphere SAM: Simple Asynchronous Messaging (ActiveMQ equiv)

http://Project-sam.awardspace.com/index.html

PECL /package/sam http://pecl.php.net/

MQTT (MQ Telemetry) messaging protocol

Testing in the PHP world

Marcus Böerger

talks.somabo.de/talks/

phpt testing

  • integration testing
  • function testing
  • unit testing
  • acceptance testing
  • regression testing

Non fonctionnel testing

  • performance
  • stability
  • usability
  • stress-testing

phpt integrate with memcheck / valgrind

used on http://gcov.php.net/

file naming convention

bug<id>.phpt <functionName>.phpt <ext>_<num>.phpt

Configuration file section

  • --TEST--
  • --FILE--
  • --FILEEOF--
  • --CLEAN--
  • --EXPECT--
  • --EXPECTF--
  • __HALT_COMPILER();
  • --SKIPIF--
    • function_exists
    • extension_loaded
    • compare_version + phpversion
  • --REDIRECTTEST--
  • inputs
    • POST
    • GET
    • POST_RAW
    • STD_IN
    • ARGS
    • ENV

qa.php.net/write-test.php

PHPUnit, SimpleTest, PowerPHP Testing

Bigger and Faster

Rasmus Lerforf

php.corp.yahoo.com/show/yul07

php history since 1994 when mosaic was launched

Why people contribute to open source or to content

  1. Self interest
  2. Self expression
  3. Hormones (neuropeptide, oxytocin)
  4. improve the world

http://sla.ckers.org/forum/list.php?3

Callgrind -> valgrind / kcachegrind

XDebug / profiler

Javascript trojan

Browser zombie

filter input, don't use REQUEST_URI for echo back

flash is a good hacking tool

display pdf bug!

.......pdf#bar=javascript:alert("gogo");

Conférence très intéressante, plus axée finallement sur la sécurité, les manières de pirater que sur la rapidité. Naturellement les problèmes de sécurités étant de plus en plus présent dans de grosses applications, cela justifie le titre. La partie vitesse a été abordé sous l'angle des différents outils pour détecter les problèmes de performances.

Beyond PHP

Joe Stagner

Comparison launching Thread vs Process Unix: Med / Med Windows: Low / Very High

CodeGear (delphi for php)

phalanger autre interpréteur php (pour .net)

http://www.joeon.net/

winbinder formeditor

phped

phpgtk

php microsoft ajax library [1]

Windows Presentation Fundation

AzMan ADAM

patterns and practices

c#2005 express edition http://msdn.microsoft.com/express/

Cette conférence a été orientée sur "Pourquoi utiliser php sous windows". C'est naturellement pas dans notre orientation, mais les différentes possibilitées conjointes avec IIS et les API de windows sont tout de même intéressantes et peuvent permettre de solutionner différents problèmes (comme faire un GW avec le système de feuille de temps :) , manipuler des feuilles excell et d'autres dbs)

VIM for PHP Programmers

Andrei Zmievski

Did VI really need some introduction?

Vi Quick Ref [2]

quicks

:help
i_ insert mode v_ visual mode ], ^t ZZ ZQ  set showcmd
h, j, k, l
gg, G
set make = php
matchit.vim
-netrw-

http://vim.org/

presentation at the conference

Top 100 Chuck Norris Facts: http://reviews.ebay.com/Norris-Facts_W0QQugidZ10000000000690883

Conférence très intéressante sur la "Power Utilisation" de VI comme éditeur pour les développeurs. VI, le petit délaissé des éditeurs Unix, lorsqu'il est maitrisé est un des outils selon moi les plus puissants pour son emprunte en mémoire. Il mérite d'être mieux connu et c'était le but de cette conférence d'en présenter les volets moins connus.