Publié par : Sébastien Devaux | 18/07/2009

Projet PHP & qualité

PHP permet de développer très rapidement quelque chose mais souvent n’importe comment. Ayant à faire le compromis entre la flexibilité et la qualité, nous avons choisi les deux ! Grâce à quelques paradigmes, MVC et GRASP et un framework, Symfony.
Nous utilisons comme langage (ou “méta-modèle”) UML depuis le commencement pour traduire nos besoins et tous nous comprendre. Les choix ci-dessous se prêtent particulièrement bien au jeux.

Architecture MVC

Notre architecture logicielle et méthode de conception.
MVC comme Modèle-Vue-Contrôleur. Wikipedia (un idiome ;-)

GRASP Patterns

Les 5 patterns GRASP (Expert, Créateur, Contrôleur, Faible couplage, Forte cohésion) sont particulièrement utiles dans une architecture MVC pour identifier les responsabilités des classes Model, Control et View, notamment par les patterns Expert et Contrôleur. NB : les patterns Faible couplage et Forte cohésion sont deux des trois métriques de mesure de la qualité de conception.

Symfony

Symfony est un framework écrit en PHP 5 pour pondre du code.
Les gros bénéfices pour nous :

  • Le code est séparé dans les trois couches de notre bon vieux modèle MVC
  • Il crée une bonne partie du code des trois couches à partir du schéma YML de notre base de données, on gagne ainsi beaucoup de temps en évitant de coder beaucoup de code récurrent et répétitif, surtout dans notre architecture MVC où l’on doit se coltiner toutes les classes métiers de la couche Modèle (squelettes des classes, assesseurs, mutateurs, etc.) avec tous les insertions/suppressions/modifications des données métiers situées dans la base de données.
Maintenant notre cri de guerre : Yapuka !
Publié par : Sébastien Devaux | 07/07/2009

Gestion de projet : collaboration sous twitter + skype !

Dernièrement j’avais essayé twitter mais je n’avais pas vraiment réussi à comprendre l’utilité de ce truc pour un particulier : quelle utilité à raconter sa vie en 140 caractères, surtout qu’on a déjà le droit régulièrement à des “g menG 1 piza a midi” ? Twitter : “inutile donc indispensable” ?

Mais depuis la semaine dernière je m’occupe de la conduite du projet informatique pour créer un moteur de comparateur d’offres de services en ligne (cf article précédent) et j’encadre depuis aujourd’hui la stagiaire qui développe le site.
Je l’encadre depuis chez moi entre deux points tous les 2-3 jours.
Et près avoir lu les articles sur le sujet parus sur le blog IEIKMDC je me suis décidé à expérimenter cet outil dans le cadre du projet. Pourquoi faire ?

Simplement pour suivre le travaille de la stagiaire que j’encadre (savoir qui fait quoi est justement le propre de twitter) : sur quoi elle travaille, les difficultés rencontrés, etc, et s’échanger des informations. Au moins twitter n’est pas intrusif (merci le mode déconnecté de skype, messenger, etc afin de pouvoir travailler plus de 4s…), tous les messages sont écris, archivés, et on peut y répondre tranquillement via un lien… voire mieux encore !

En plus de twitter :

  • TwitDoc, qui à l’énorme avantage de proposer un widget Adobe Air pour partager des fichiers sur twitter depuis le bureau sans avoir à ouvrir le navigateur
  • Skype pour dialoguer sur un sujet urgent
  • Une plateforme collaborative de gestion de projet (à voir par la suite en fonction des besoins, certainement Planzone, “challenger français” de Basecamp, que je trouve quand même plus fonctionnel)

Si je perds mon temps sur twitter, j’arrête tout. Alors que sera le prochain article ??

Publié par : Sébastien Devaux | 06/07/2009

Projet de comparateur de services en ligne

J’ai décidé d’aider un ami à créer son comparateur d’offres de services en ligne en m’occupant de la conduite du projet informatique, j’encadre la jeune stagiaire qui va s’occuper du développement du site pendant les deux prochains mois.

Publié par : Sébastien Devaux | 12/03/2009

Mashups en ligne

Un mashup n’est pas un bonbon élastique rose mais un agrégateur d’applications web, c’est à dire un moyen de créer des applications composée de plusieurs autres applications associées entres-elles.
Il n’est pas question ici d’aborder les avantages et inconvénients de ce type d’application, mais de jeter un coup d’oeil sur deux éditeurs de mashup en ligne :
Microsoft Popfly et Intel Mash Maker

Popfly
Tout se passe sur le site web de Popfly.
Le site se présente sous forme d’un espace de travail ; sur la gauche, la barre latérale contenant l’ensemble des widgets que l’on peut ajouter.
Son utilisation est très simple : on glisse les widgets représentés par des cubes, où l’on veut sur l’espace de travail, on crée les liens entre eux et on définit les bon paramètres d’entrées/sorties pour chaque widget.

Popfly permet de créer sur son site :

  • des mashups
  • des widgets partagés avec les utilisateurs (Mashup block)
  • des flux de données (Mashup Data)
  • des pages web contenant vos mashups

Le plus :

  • Simple d’utilisation. On a l’impression de faire des choses extraordinaires en trois clics de souris et un clin d’oeil
Le moins :
  • On pose des widgets sans trop savoir ce qu’il va se passer, si l’interopérabilité entre-eux est bonne, si les paramètres d’entrée/sortie son bons etc… la documentation sur les widgets moins populaire n’est pas très fournie.

Mash Maker

Celui-ci fonctionne tout à fait différemment : il se présente sous forme d’une extension Firefox ou IE :

  • une barre d’outil en haut concernant les fonctions principales : activation/désactivation, ouvrir/fermer le panneau latéral, sauver un marshup, état de la page en cours,…
  • un panneau latéral à gauche pour créer les marshups : ajout de widgets et d’extracteurs, galerie, profil
On créé à l’aide du panneau latéral des mashups directement sur les sites web concernés. Voici le fonctionnement :
  1. On créé des extracteurs : ces extracteurs sont les éléments de la structure qui seront parsés par le widget en tant que flux d’entrée, par exemple l’adresse de chaque personne dans sa liste d’amis de Facebook
  1. Ou ajoute les widgets dans la page, sur lesquels on va appliquer les extracteurs, par exemple : google maps sur l’extracteur précédent. On peut ajouter plusieurs widgets, incrustés en haut de la page ou en popup.
  2. Le marshup terminé, on peut le sauvegarder dans son profil et le partager avec les autres utilisateurs. Il est alors possible d’afficher certains widgets sur la page de façon permanente de manière à ce qu’ils apparaissent à chaque ouverture de page (par exemple sa page d’accueil)

Un mashup est associé à un site web en particulier et à l’on peut en trouver plusieurs par site.

Vidéo explicative : ici.

Les moins :

  • Si la structure des pages d’un site web change, aucun des widgets ne fonctionne plus
  • J’ai des doutes sur l’utilité de Mash Maker quand un site utilise du Ajax…
Les plus :
  • Pragmatique : on agit directement et en instantané sur les pages
  • Une nouvelle vision du web : Mash Maker peut proposer sur chaque site web du nouveau contenu et de nouvelles applications interactives et sémantiques.

Conclusions :
Il s’agit de deux approches complètement différentes, voire opposées, pour la création de marshup. Et la diversité des solutions permet de pouvoir choisir ce qui convient le mieux à ses besoins spécifiques.

Publié par : Sébastien Devaux | 20/11/2008

Fournir à chacun ses bons outils de travail

Le projet répond à une demande de la direction générale : fournir à chacun de quoi travailler.

Ce qu’il faut comprendre dans cette demande :
- des bons outils de travail : fournir les bons outils aux bonnes personnes, rapidement et simplement. Un seul accès, un seul code, etc.
- de la disponibilité : assurer la disponibilité et la qualité de tous les outils

1. CITRIX

CITRIX tente de virtualiser les postes de travail, souvent dans une démarche de consolidation, ce qui revient à virtualiser l’ensemble du SI :
- une architecture virtualisée VMWare ou Microsoft Hyper V pour mutualiser l’infrastructure et les ressources. Les postes deviennent des clients légers, ils fournissent l’accès au profil distant,
- des services et des applications virtualisés CITRIX.

Deux types de solutions de virtualisation :
- tous les profils fonctionnent sur un seul système d’exploitation sur une seule machine (virtuelle ou pas),
- chaque profil fonctionne sur une machine virtuelle qui lui est dédiée

Les avantages de la virtualisation des postes de travail :
- centralisation de l’administration des postes = meilleure disponibilité des outils,
- mise à disposition d’un poste de travail grandement simplifié = simplification de la fourniture des outils de travail.

Il faut noter que la virtualisation n’est pas destinée à tous dans une entreprise. On peut distinguer :
- un accès “full CITRIX” pour les utilisateurs sédentaires qui utilisent à plus de 80% de leur temps les logiciels métiers : services administratifs, plateau téléphonique, etc.
- un accès “semi CITRIX” pour les utilisateurs qui utilisent à moins de 80% de leur temps les logiciels métiers : managers, nomades, etc.
- un accès “no CITRIX” pour ceux qui n’utilisent pas les logiciels métiers : secrétaires, etc.

2. AUTHENTIFICATION UNIQUE (SSO)

Pour utiliser ses outils de travail, le salarié moyen doit passer chaque jour par plus de 36000 accès : ouverture de Windows, de l’intranet, du Wifi, de Skype, d’Outlook, de chaque logiciel métier, etc.
De plus, chaque logiciel possède sa propre politique de mot de passe, plus ou moins complexe.

Le concept de SSO (Single Sign-On) permet de résoudre ce problème : un mot de passe, tous les accès.

3. AUTHENTIFICATION FORTE

La solution de SSO permet de n’avoir plus qu’un seul mot de passe. La simplicité ne rime pas avec sécurité, spécialement lorsque l’on utilise du CITRIX : imaginez M. DUPOND, il travaille chez lui comme tout salarié modèle.
M. DUPOND utilise Firefox, son mot de passe est déjà rempli dans son accès CITRIX, ou alors il est soigneusement noté sur un post-il collé sur son portable. Lorsque son fils Kevin clique sur “Ouverture de session” dans la page d’accueil, et même si la curiosité est un bien vilain défaut, il accède à tous les logiciels et tous les accès de papa.

L’authentication forte est une authentification qui requiert au moins deux facteurs d’authentification (Wikipedia) :

  • Ce que l’entité connaît (un mot de passe, un code NIP, une phrase secrète, etc.),
  • Ce que l’entité détient (une carte magnétique, RFID, une clé USB, un PDA, une carte à puce, etc. Soit un « Authentifieur » ou « Token »),
  • Ce que l’entité est, soit une personne physique (empreinte digitale, empreinte rétinienne, structure de la main, structure osseuse du visage ou tout autre élément biométrique),
  • Ce que l’entité sait faire, soit une personne physique (biométrie comportementale tel que signature manuscrite, reconnaissance de la voix, un type de calcul connu de lui seul, etc.),
  • Où l’entité est, soit un endroit d’où, suite à une identification et authentification réussie, elle est autorisée (accèder à un système logique d’un endroit prescrit).


Plusieurs sociétés proposent des solutions de Token. Il s’agit d’un porte-clé, d’une carte, d’un logiciel sur le téléphone,… Il affiche le code qu’il faut saisir pour s’authentifier.
Ainsi, Kevin ne pourra pas s’authentifier puisque seul papa possède dans sa poche le Token.

Conclusion
Afin d’être en mesure de garantir la fourniture des bons outils de travail à chacun, il s’agit de mettre en œuvre plusieurs solutions :
- une solution pour simplifier la fourniture des postes et garantir une meilleure disponibilité : CITRIX,
- une solution pour simplifier les mots de passes : SSO,
- une solution pour garantir la sécurité : l’authentification forte.

« Articles Plus Récents - Articles Précédents »

Catégories

Suivre

Get every new post delivered to your Inbox.