Réalisation de sites web, conseil et formation réseaux sociaux à Aix - Marseille - Web & Social Media Provence

Développer une appli complexe de networking social

Développer une appli complexe de networking social

Me voici au milieu d’un travail nouveau pour moi: je développe moi-même, en php/Mysql, l’application complexe de networking social qu’est InternationalParents, lancée en mode Beta en juin 2009.

Je ne pars d’aucune base, le design et l’esprit du site étant tellement différents de ce qui existe que je perdrais plus de temps à adapter.

En effet, le design est compliqué, avec des images de fond plutôt que des gros rectangles aux coins arrondis placés les uns à coté des autres, comme l’on voit aujourd’hui sur la plupart des sites du Web 2.0. J’avais envie d’un espace chaleureux et féminin.  Les sites Web 2.0  ‘rectangles arrondis’ me semblent certes clairs à naviguer mais froids, sans personnalité.  Question de goût.  D’après mes premiers retours de femmes, je ne serais pas seule à apprécier.  Les hommes, eux, semblent beaucoup plus perdus par ce design.

Me voici donc développant des fonctionnalités à partir des pages en html/CSS préparées au cours des mois passés avec différents intervenants.

Effectuer moi -même ce travail m’apporte énormément en enseignements.  En voici quelques uns.

De Nouvelles Idées de Fonctionnalités émergent au Cours du Développement

Bien qu’ayant prévu des scénarios extrèmement détaillés en terme de maquettes html/ CSS et me félicitant de cette approche, qui me permet d’avancer sans resolliciter graphistes et ‘ chtemeulistes’, je ressens au fur et à mesure que je progresse le besoin régulier d’ajouter des fonctionnalités et interfaces auxquelles je n’avais pas pensé.

Par exemple, au cours de la phase Inscription du site internationalparents, il est prévu deux étapes: l’une courte, ou l’on remplit la base, l’autre plus longue, ou si on le souhaite, on peut continuer à renseigner son profil.  Ceci rend le site d’autant plus intéressant et utile puisqu’il est destiné à présenter les membres et à leur permettre de prendre contact selon leurs affinités culturelles, familiales et autres.

Dans la partie deux, ou l’on détaille plus avant son profil, j’ai prévu un marquage en haut des pages avec des numéros, allant de 1 à 4, pour signifier à l’utilisatrice où elle en est dans cette procédure.  inscription internationalparents

Aujourdhui je souhaiterais remplacer cette signalisation par des visuels représentant chacun un aspect du profil.  Ainsi la personne, au lieu de suivre une séquence contraignante, pourrait aller directement vers l’aspect du profil qu’elle souhaite mettre à jour.  Par exemple, si elle ne souhaite qu’indiquer combien d’enfants elle a, elle clique sur l’icone Enfants.  Si elle souhaite indiquer ses cultures d’origine ( langue et pays), elle clique sur l’icone des drapeaux.

Le beauté de travailler seule et sans contrainte de temps trop lourde sur ce projet est qu’il ne m’est pas nécessaire de m’armer de douceur et de patience pour cajoler, implorer un développeur d’ajouter la fonctionalité requise ou de modifier son approche en conséquence, tout de suite et non lorsque le projet initial sera terminé.  Une modification à faire?  Une fois pensé, c’est fait!

Ou l’on Comprend le Pourquoi du Développeur Buté

Par contre, il est clair que je ressens en quoi un développeur peut se protéger derrière une carapace lui donnant un air buté et renfrogné.  En effet, si sur tous ses projets, une charmante jeune femme ou un jeune homme ‘ Chef de produit ‘ ou pire, ‘Responsable Marketing’,vient lui souffler, entre deux réunions glamour  ‘avec le client’, qu’il faudrait repenser toute cette procédure, oui, celle-là, pour demain, il va faire de la résistance…

Par ailleurs, si le développeur ne croit pas du tout en l’impact positif de la modification par rapport au temps nécessaire pour la mettre en place, là, la cause est quasiment perdue…

Il est donc utile d’établir un dialogue entre donneurs d’ordre du développement et programmeurs ( et programmeuses!) pour évaluer ensemble le temps requis pour effectuer des modifications dans la feuille de route et les délais en conséquence.  Par contre, messieurs les programmeurs, ce n’est pas à vous d’évaluer le bien fondé ou pas d’une fonctionnalité.

Sauf qu’en disant cela, et en sachant que je suis à la fois dans la position de la conceptrice et de la développeuse informatique du site de networking, il m’est arrivé à plusieurs reprises d’i=plémenter une fonctionnalité de façon plus simple que celle qui était prévue à l’origine.

home page international parentsUn exemple simple: le dispatch vers les sites réginaux depuis la page d’accueil générale.  Elle devait se faire à l’origine via un double menu déroulant: d’abord on choisissait un pays, puis on choisissait en conséquence une ville parmi une deuxième liste.  J’ai au final opté pour un seul menu déroulant, celui des villes du réseau.  Finalement, le double menu ne me semblait pas en valoir la ‘ peine ‘ en matière de dévelopement.  cela représentait en effet, vu mon niveau encore modeste, quelques heures de travail en plus.  Pour quelle valeur ajoutée?

Ou Les Bons Outils et les Bonnes Méthodes deviennent nécessaires

Je développais jusqu’ici avec des outils artisanaux: sur mon PowerBook ( Mac) avec un logiciel, BBEdit, en version Lite en plus.  Mes pages font plusieurs centaines de lignes de code à présent (composées d’html et de php) et il est ridicule de continuer à scruter le texte pour trouver ou la parenthèse, le point virgule ou l’accolade a été oubliée pour comprendre pourquoi la page ne s’affiche pas…

Mes pages sont par ailleurs classées pele-mêle.  Ellesont de snoms censés aider à se repérer bien sur, tout comme les noms de svariable sont évocatrices:inviter_contenu_inc.php, par exemple semble représenter une portion centrale de la page monreseau…Certes, mais cette page est composée de 5 morceaux en tout, dont un faisant l’envoi d’un email à une personne invitée par un(e) membre du réseau à s’inscrire.

C’est assez clair pour moi, quoi que, avec maintenant 150 pages, cela commence à être limite.  Mieux vaut ne pas partir en vacances! ;-)

Et voilà ma derniere leçon: il ne suffit pas de programmer, il faut encore organiser son programme de façon intelligible pour soi-même et pour un(e) autre a fortiori, qui interviendrait à l’avenir.  Car on oublie très vite comment a été structuré un programme complexe, comment les blocs s’imbriquent les uns entre les autres.  A moins d’avoir créé des dossiers par fonctionnalité (ex: InviterUneAmie) et à l’intèrieur même de ces dossiers, d’avoir créé ce qui s’appelles des ‘ classes ‘ pour libeller clairement des morceaux de code.