Kamelot Blog

Aller au contenu | Aller au menu | Aller à la recherche

samedi 31 octobre 2009

sam
31
oct '09

Agile Tour 2009. Quelques notes prises en vrac

Ce post n'a rien de structuré. C'est une suite de notes prises hier au cours des sessions de l'Agile Tour à Lille


Sprint raisonnable 2, 3, 4 semaines


Scrumm Master n'est vraiment pas le chef projet mais le gardien de l'agilité de l'équipe qui gère elle-même son projet vis-à-vis du product owner


Besoin d'un coach, et surtout pour la globalité des intervenants du projet (et surement pas penser que le coach n'est nécessaire que pour l'équipe de développement)


Qu'est-ce que d'une tâche terminée ? -> critères autorisant ce statut à définir entre les développeurs et le product owner, ensuite le scrumm master vérifie que les développeurs ont respecté leur engagement.


Le scrumm master n'est pas le "point de passage de la communication", la communication DOIT se faire en direct.


Pas de (casquette) manager pendant la rétrospective


Faire de l'Agile au niveau de l'équipe de développement alors que hors de celle-ci on est pas encore dans la méthode, ce n'est que farce C'est encore pire quand cette partie "non développeurs" PENSE faire de l'agile.


Faire des speedformations (viser 10minutes de présentations, 5 minutes de questions, ne stopper que quand tout le monde à compris)


AGILE et LEAN ont énormément de points/socles commun et pourtant n'ont pas les mêmes images, agile passant un peut pour du hippie et LEAN pour du sérieux


Cas présenté: Disponibilité du "client"

  • représentation par une personne du service informatique existant du client en permanence (parce que chance d'en avoir une)
  • représentation par une personne utilisatrice du client régulièrement. (difficile à obtenir)

Cas constaté : Conflit entre

  • décideur qui pense savoir ce dont les utilisateurs ont besoin (et/ou qui tente de faire passer dans l'outil construit ses règles de gestion)

et

  • l'utilisateur qui ne voit que ses tâches, son apporche, sa vue, mais qui n'a pas le "recul" sur les ambitions, les objectifs et les contraintes du projet global

note : pas de solution évoquée si ce n'est le "courage" cité dans le manifeste de remettre chacun à sa place.

  • Oser dire non au client (décideur) en évitant le "c'est moi qui paye, faites le"
  • Oser dire non à l'utilisateur en évitant le "ils vont encore nous faire un outil inutile"

refactoring : c'est aussi rendre les couches supérieures plus "lisibles" ( style lecture de pseudo code)


gouvernance éthique


relire le manifeste agile


Utilisation moyen des fonctionnalités d'un produit

  • 7% toujours
  • 13% jamais
  • 16% parfois
  • 19% rarement
  • 45% jamais

note : acceptable dans un logiciel générique (OOWriter, eclipse, ....) bcp moins dans un logiciel maintenu.


Pratique vue dans éclipse : Ecrire le code dans le test, puis utiliser la fonction "QuickFix" pour générer le squelette du code metier.


  • Ecrire un test jusqu'à ce que le framework de test s'exécute et donne du rouge -> phase de conception
  • Ecrire du code jusqu'à ce que le framework de test s'exécute et donne du vert -> phase de réalisation

Séparer les tests d'acceptance et unitaire pour présenter les premier comme "preuve de réponse à la demande initiale"


Dans php, utiliser SPL ArrayList pour les listes devant contenir des instance du même objet


vendredi 30 octobre 2009

ven
30
oct '09

Je suis en ce moment à L'agile Tour de Lille 2009

L'agile Tour 2009 passe peut-être dans votre région....

Agile Tour, une série d’événements à but non lucratif, répartis sur plusieurs villes pendant tout le mois d’octobre 2009.

Leurs objectifs :

Promouvoir massivement l’Agilité

Notre principale mission est de réaliser une communication massive sur nos pratiques de développement pendant tout le mois d'octobre. Nous voulons ainsi communiquer partout et en même temps afin de gagner en efficacité et attirer massivement l’attention sur notre nouvelle approche professionnelle.

Partager nos visions de l'agilité

L'agilité étant potentiellement évolutive, nous souhaitons nous ouvrir vers de nouveaux horizons et apprécier la compréhension, les interprétations et les évolutions que nous pouvons donner aux pratiques agiles.

Fédérer

Fédérer les acteurs de l'agilité dans toutes les régions du monde en même temps sur cette idée et inciter de nouvelles initiatives locales pour développer une culture de l’Agilité.

Soutenir

Nous souhaitons apporter notre soutien à nos confrères et aux entreprises locales pour les aider à adopter et à faire adopter ce savoir-faire.


lundi 26 octobre 2009

lun
26
oct '09

Local History dans Eclipse.

On va probablement me rire au nez mais j'ai découvert en journée, une fonctionnalité d'Eclipse, qui peut-être salvatrice. Donc je la partage pour ceux qui comme moi ont pris trop vite leur IDE sans trop lire le manuel.

L'historique local.

En fait un versionning interne des fichiers du projet, permet de retrouver les dernières modification du fichier même après fermeture du fichier et/ou redémarrage d'Eclipse.

Lire la suite...

dimanche 25 octobre 2009

dim
25
oct '09

Dernier rappel pour les propositions pour la conférence phpBenelux.

Dernier rappel pour les propositions des présentations pour la conférence PHPBenelux 2010 de PHPbenelux qui aura lieu le 30 Janvier à Anvers.

vendredi 23 octobre 2009

ven
23
oct '09

oAuth, authentification tiers

Qu'est ce que OAuth?

logo

OAuth permet aux utilisateurs de donner, à une application ou un site "consommateur", l'accès à des informations personnelles sur un site "fournisseur" de service.

OAuth permet de gérer ces autorisations sans avoir besoin de donner son identité. (Wikipedia)

An open protocol to allow secure API authorization in a simple and standard method from desktop and web applications. (oauth.net)

Ressources trouvées avant investigation

-- Edit -- suite à la question pertinente d'Hervé j'ajoute ceci

Extrait de Différences entre identification, autorisation et authentification

Identification : OpenID

Dans le cadre d'OpenID, l'identification permet uniquement de dire : cette URL est à moi et peut me représenter. Les providers proposent maintenant d'autres services mais la base c'est uniquement ça, aucune couche de confiance si ce n'est l'assurance d'avoir une URL derrière. Après si vous liez votre OpenID à votre page personnelle, vous ajoutez forcément un certain crédit à votre OpenID car vous garantissez l'appartenance de la page en question.

Il y a aussi des initiatives pour ajouter cette couche de confiance auprès de tiers dits de confiance (Etat, banques, etc) mais c'est une autre histoire.

Autorisation : OAuth

L'autorisation consiste à laisser l'accès ou pas à une donnée, que ce soit avec des tokens (comme OAuth), avec des URLs cachées, bref ce que vous voulez en fonction de la criticité de la donnée en question.

Aucune notion d'identité derrière ça, du moment qu'il a les clés on le laisse passer.

Ici aussi, il y a des initiatives pour combiner l'autorisation et l'identification, reste à voir comment prendre en compte l'ergonomie au passage.

mercredi 21 octobre 2009

mer
21
oct '09

Les codes ne sont pas des nombres.

Les nombres ne sont pas toujours des valeurs numériques. Quand dans un développement on utilise des nombres pour identifier, pour distinguer des valeurs "communes", il existe souvent une nomenclature qui les identifie de façon normalisée. Utiliser ces normes plutôt qu'une norme maison fait souvent peur parce qu'on pense ne pas avoir besoin de toute la liste. Puis vient un jour où on doit communiquer nos données ou étendre la liste, ...

Enfin de compte il est souvent intéressant d'utiliser ces normes et ne pas réinventer la roue.

Pour ceux d'entre vous qui stockent le "genre/sexe" dans leur table "user" ?

Connaissez vous l'ISO 5218 ? qui existe depuis 1976 :-)

Qui nous propose de normaliser nos applications en suivant les codes:

  • 0 = inconnu,
  • 1 = masculin,
  • 2 = féminin,
  • 9 = sans objet.

En voici d'autres plutôt courantes

Un exemple

Comment éviter la confusion lorsqu'une date comme 08/04/02 est interprétée de six façons différentes dans le monde?

La notation 01/02/03 peut signifier le 1 février 2003, le 2 janvier 2003 ou le 2 mars 2001. En général, la solution s'obtient par déduction. En général, certes, mais si tel n'est pas le cas, les complications risquent d'être multiples et de coûter fort cher. Le problème est que les dates exprimées en chiffres exclusivement ne sont pas univoques et dépendent beaucoup des habitudes locales. En général, tout se passe bien au niveau du pays ou de la région, même s'il y a quelques incohérences ponctuelles entre entreprises et administrations. Mais, qu'en est-il à l'extérieur?

Regardez la liste par domaines sur wikipedia ou par numéro vous trouverez sans doutes des normalisations pour des valeurs arbitraires que vous avez choisi de votre coté.

Les organismes majeurs publiant des normes (extrait de wikipedia)

Il existe différents organismes dont le rôle est de valider des normes que les industries, notamment, utiliseront comme support pour rendre leurs services et produits interopérables, et a fortiori, compatibles.

  • AFNOR : Association française de normalisation
  • ANSI : American National Standards Institute
  • CEN : Comité européen de normalisation
  • CENELEC : Comité européen de normalisation électrotechnique
  • ISO : Organisation internationale de normalisation
  • ITU : Union internationale des télécommunications

Pour les systèmes d'information :

Pour l'Internet

  • DMTF : Distributed Management Task Force
  • IETF : Internet Engineering Task Force
  • ISOC : Internet Society
  • OASIS : Organization for the Advancement of Structured Information Standards
  • W3C : World Wide Web Consortium

Les métadonnées (on s'éloigne des nombres mais c'est le même registre)

Avez vous aussi vos habitudes de ce coté ?

lundi 12 octobre 2009

lun
12
oct '09

Les mots réservés de mysql

ADD ALL ALTER
ANALYZE AND AS
ASC ASENSITIVE BEFORE
BETWEEN BIGINT BINARY
BLOB BOTH BY
CALL CASCADE CASE
CHANGE CHAR CHARACTER
CHECK COLLATE COLUMN
CONDITION CONNECTION CONSTRAINT
CONTINUE CONVERT CREATE
CROSS CURRENT_DATE CURRENT_TIME
CURRENT_TIMESTAMP CURRENT_USER CURSOR
DATABASE DATABASES DAY_HOUR
DAY_MICROSECOND DAY_MINUTE DAY_SECOND
DEC DECIMAL DECLARE
DEFAULT DELAYED DELETE
DESC DESCRIBE DETERMINISTIC
DISTINCT DISTINCTROW DIV
DOUBLE DROP DUAL
EACH ELSE ELSEIF
ENCLOSED ESCAPED EXISTS
EXIT EXPLAIN FALSE
FETCH FLOAT FLOAT4
FLOAT8 FOR FORCE
FOREIGN FROM FULLTEXT
GOTO GRANT GROUP
HAVING HIGH_PRIORITY HOUR_MICROSECOND
HOUR_MINUTE HOUR_SECOND IF
IGNORE IN INDEX
INFILE INNER INOUT
INSENSITIVE INSERT INT
INT1 INT2 INT3
INT4 INT8 INTEGER
INTERVAL INTO IS
ITERATE JOIN KEY
KEYS KILL LABEL
LEADING LEAVE LEFT
LIKE LIMIT LINES
LOAD LOCALTIME LOCALTIMESTAMP
LOCK LONG LONGBLOB
LONGTEXT LOOP LOW_PRIORITY
MATCH MEDIUMBLOB MEDIUMINT
MEDIUMTEXT MIDDLEINT MINUTE_MICROSECOND
MINUTE_SECOND MOD MODIFIES
NATURAL NOT NO_WRITE_TO_BINLOG
NULL NUMERIC ON
OPTIMIZE OPTION OPTIONALLY
OR ORDER OUT
OUTER OUTFILE PRECISION
PRIMARY PROCEDURE PURGE
RAID0 READ READS
REAL REFERENCES REGEXP
RELEASE RENAME REPEAT
REPLACE REQUIRE RESTRICT
RETURN REVOKE RIGHT
RLIKE SCHEMA SCHEMAS
SECOND_MICROSECOND SELECT SENSITIVE
SEPARATOR SET SHOW
SMALLINT SONAME SPATIAL
SPECIFIC SQL SQLEXCEPTION
SQLSTATE SQLWARNING SQL_BIG_RESULT
SQL_CALC_FOUND_ROWS SQL_SMALL_RESULT SSL
STARTING STRAIGHT_JOIN TABLE
TERMINATED THEN TINYBLOB
TINYINT TINYTEXT TO
TRAILING TRIGGER TRUE
UNDO UNION UNIQUE
UNLOCK UNSIGNED UPDATE
UPGRADE USAGE USE
USING UTC_DATE UTC_TIME
UTC_TIMESTAMP VALUES VARBINARY
VARCHAR VARCHARACTER VARYING
WHEN WHERE WHILE
WITH WRITE X509
XOR YEAR_MONTH ZEROFILL
Je l'avais déjà posté mais j'en ai eu besoin aujourd'hui. Donc comme c'est toujours utile, je le rappelle.

mardi 6 octobre 2009

mar
06
oct '09

info croisée RTBF & Skynet

2 news Belga

Hier chez Skynet

"Profond malaise à la RTBF" : (Belga)Une pétition, en passe de recueillir 200 signatures, circule actuellement dans les couloirs de la RTBF et sera bientôt remise à la direction afin de tirer la sonnette d'alarme sur l'état de malaise profond et la menace de découragement au sein de l'entreprise, rapporte lundi la presse francophone.

'Bizarre je ne vois pas la news sur le site de la RTBF'

Aujourd'hui sur le site de la RTBF

"Les problèmes de connexion à internet qui ont touché environ la moitié des clients de Belgacom, mardi, ont été résolus", a précisé Jan Margot, porte-parole de l'opérateur. (Belga) Environ 800000 personnes qui ont une connexion à internet chez Belgacom ont connu des difficultés pour surfer. Il s'agissait principalement de particuliers et de PME qui avaient des difficultés à se connecter. Et en cas de connexion, l'accès au web était instable. "Le problème s'est déclaré mardi peu avant midi. Le réseau a été analysé et les routers ont été relancés. Les clients ont pu accéder partiellement à internet dès 14h00", a expliqué M. Margot. Vers 15h30, 500 000 personnes sur les 800 000 touchées par le dysfonctionnement avaient déjà retrouvé une connexion stable.

'Bizarre je ne vois pas la news sur le site de skynet

dimanche 4 octobre 2009

dim
04
oct '09

PHPbenelux : conference en 2010 et meeting le 13 octobre

PHPbenelux annonce

le phpBenelux October Meeting

à Gent le 13 Octobre, 2009 dans les bureaux de Netlog.

Au programme:
  • 19:30h - Accueil
  • 20:00h - Ivo Jansch "PHP and the Cloud"
  • 21:00h - Pause
  • 21:15h - Felix De Vliegher - "High gear PHP with Gearman"
  • 22:15h - Socialisation

la Conférence PHPBenelux 2010

le 30 Janvier à Anvers.



Les propositions des présentations sont attendues pour le 31 octobre.


PHPBenelux is a registered organization at the Dutch Chamber of Commerce with the following details.

PHPGG
Postbus 18544,
2502 EM The Hague, Holland
The Netherlands
KvK-nr: 27276016

samedi 3 octobre 2009

sam
03
oct '09

graphicsmagick à la place de imageMagick ?

Graphicsmagick à la place de imageMagick ? Logo de graphicsmagick Logo de imagemagick Voici un ensemble de benchmark qui donnent envie d'y regarder un coup.

Un article sur Nexen en parlait recement.

En citant : Manipulating Images with PHP and GraphicsMagick

Tags