Archives mensuelles : septembre 2008

Acheter des prestations en informatique #4 – Choisissez correctement vos prestataires informatiques

Encore une fois ces quelques lignes ont simplement pour objectif de vous donner quelques conseils pratiques dans l’exercice de choix d’un prestataire.

Voici les points à vérifier dans la démarche de choix d’un prestataire. Ce choix est pratiqué hors d’un contexte « cahier des charges », dans lequel, bien sur, la capacité du prestataire à répondre au mieux à ce dernier, prime.

Cet article fait partie de la série : Acheter des prestations informatiques.

Lire la suite

Dropbox passe en version publique

L’application Dropbox passe en version publique. Dropbox est l’application idéale pour partager sans efforts des fichiers entre vos différents ordinateurs. Jettez simplement un fichier dans votre « drop box » (un répertoire prédéfini) et il sera répliqué automatiquement sur toutes vos machines. Le tout fonctionnant sur Windows, Mac et Linux (j’ai testé pour vous !).

Oubliez le client lourd !

Il y a 10 ans je travaillais sur des site intranets devant remplacer des programmes Unix et des macros Excel 4 exécutant diverses séries de calculs simples.

L’équipe avais une formation de Bac+2 a Bac+5 et des compétences en SQL Oracle, Perl, Visual Studio et langage C. Fort d’une première expérience en milieu universitaire, j’avais convaincu tout le monde qu’au lieu de fabriquer des clients lourds windows on pourrait simplement démarrer un petit intranet pour ces outils.

On a donc commencé avec PHP3 et honnêtement on faisait n’importe quoi. PHP3 n’était pas l’idéal en terme de réutilisation de code. On a allègrement mélangé la couche contrôleur et présentation. La couche métier était balbutiante. On ne connaissait pas grand chose à HTML. Pas une ligne de Javascript n’a été écrite. Le travail sur l’aspect visuel à consommé une part considérable du budget pour un résultat visuellement pitoyable.

Après le temps de développement et de validation de cet intranet, on va voir la DSI pour lui présenter notre travail.
– « Bon, ça casse pas des briques mais ça marche. Vous pouvez déployer tout ça et on jette les macros Excel 4. »
– « OK, on envoi un mail avec l’adresse web des outils. »
– « Ah c’est tout … Mais çà c’est vraiment super dis donc ! »

Et voilà ! Sur ce point tout simple le client léger, malgré tous ces défauts, a gagné. Aujourd’hui, en entreprise, la plupart des nouvelles applications conçues sont sur le mode client léger. C’est tellement évident que dans la plupart du temps, on ne se pose même plus la question. Les véritables besoins nécessitant la création de clients lourds (accès direct au matériel de l’ordinateur : ports séries, fichiers systèmes) sont peu fréquents ou des contournements ont été trouvés (accès à une webcam via un plugin flash par exemple). L’ergonomie et l’accessibilité des applications en client léger est aujourd’hui maximale (Ajax, Flash …) et le temps de déploiement (des applications et des correctifs) est imbattable.

Oubliez donc le client lourd !

D’ailleurs G$ l’a bien compris avec Google Chrome.

Notes :

  • client léger : application accessible via un navigateur web à travers des protocoles de l’internet. Ce blog est, en quelque sorte, une application en client léger.
  • client lourd : application desktop classique. Par exemple, openOffice.org ou la suite Microsoft Office sont composés d’applications en client lourd.

On parle également de client riche (RDA). Cela correspond à une application de type client lourd mais utilisant des protocoles standards permettant d’utiliser l’infrastructure Internet (des web services par exemple).

Conventions de codage

A l’instar de beaucoup, j’écope d’une chaine me demandant de décrire mes conventions de codage. Je code régulièrement du PHP, CSS, Javascript et autre HTML, je vais donc me contenter de ceux ci (pour le reste, Perl, Java, shell … je ne suis pas vraiment à la page … on est si vite largué de nos jours).

Mise au point

L’intérêt d’utiliser des conventions de codages reste l’homogénéisation du code dans un projet. Comme NiKo, on pourrait résumer qu’il faut utiliser les normes du projet dans lequel vous travaillez. Toutefois, voici mes modestes habitudes.

PHP

Grosso modo je fais à peu près comme tout le monde (et c’est tant mieux). J’ai tendance à utiliser lowerCamelCase pour les noms de classe en les préfixants par catégorie (un peu comme le @package de PHPDoc) à l’exception des classes du modèle ou j’utilise UpperCamelCase. A la réflexion cela peut venir de l’époque ou, en PHP, on n’utilisait des classes que pour coder la partie modèle de MVC et ou PEAR recommandait UpperCamelCase.

Je mets un point d’honneur à faire en sorte que le minimum vital de PHPDoc soit respecté, en particulier les @return et @param qui aliment l’autocomplétion des éditeurs de code.

A noter que le projet phpcs permet de contrôler assez facilement des standards de codage PHP. (à mettre en oeuvre pour tous les projets d’envergure, phpcs est très dynamique et mérite que l’on s’y attarde).

Javascript et CSS

J’utilise les mêmes conventions que l’oncle Tom (quel beau prénom !).

Pas grand chose à dire si ce n’est que j’ai rencontré peu de projets ou il m’a fallu faire beaucoup de Javascript très spécifiques. A mon avis ce genre de travail nécessite des compétences excessivement pointus que malheureusement peu de développeurs désire acquérir.

HTML

Bon, personne n’en a vraiment parlé, et je trouve que pourtant il y a des choses à faire de ce coté. Pour les langages précédent, si votre code est bien structuré et découpé, même sans quelque chose de très homogène au niveau de la façon de coder, il sera tout de même facile de l’exploiter. Dans le cas de HTML on ne coltine souvent de gros paquets de codes indigestes.

Pour ma part, j’indente le code un peu au pif. La seule convention que j’utilise, je l’ai piqué à mon collègue beauminou. Elle consiste à indiquer les fermetures de tags importants afin de plus facilement s’y retrouver dans l’imbriquation du DOM. Par exemple :

tout plein de code ici

Si certains ont des idées pour améliorer ça, n’hésitez pas à m’en faire part !

Et comme les-chaines-j’ai-du-mal celle ci ce brise ici 😉