<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
         xmlns:err="http://jelix.org/ns/xmlerror/1.0">
 <channel>

		<link rel="hub" href="http://overblog.superfeedr.com" xmlns="http://www.w3.org/2005/Atom" />
		<link rel="self" href="http://kabnot.over-blog.com/rss-articles.xml" xmlns="http://www.w3.org/2005/Atom" />
	
    <title><![CDATA[Stéphane Richard - développement web - Ruby on Rails - J2EE - Ajax - Flash]]></title>
    <link>http://kabnot.over-blog.com/</link>
    <description>Articles, tutoriels et news sur le développement d'applications web.</description>

        <language>fr</language>
    
    
    <pubDate>Wed, 05 May 2010 12:39:07 +0200</pubDate>    <lastBuildDate>Wed, 05 May 2010 12:39:07 +0200</lastBuildDate>    <generator>Over-blog.com RSS 2.0 Engine</generator>    <copyright>Copyright 2012 kabnot.over-blog.com</copyright>            <category>Hi Tech</category>    <docs>http://www.rssboard.org/rss-specification/</docs>                        
      <item>
        <title><![CDATA[La rentrée du developpeur web]]></title>
        <link>http://kabnot.over-blog.com/article-12095928.html</link>        <description><![CDATA[
  <p>
    Voici une rentrée qui s’annonce très particulière en ce qui me concerne, puisqu’elle est marquée du sceau du changement. Après cette difficile mais constructive période de formation sur les
    technologies entourant le web dit 2.0, je peux avec confiance vous parler des techniques acquises au travers <a href=
    "http://www.amazon.fr/gp/richpub/listmania/fullview/R647KLX1QE6F0/ref=cm_lm_pthnk_view/402-7301314-9872120?ie=UTF8&amp;lm%5Fbb=">de nombreux ouvrages</a> étudiés pendant ces longs mois et des
    longues journées passées à coder avec ténacité devant mon écran.<br>
    Aujourd’hui, c’est en tant que développeur web que je vais vous parler de l’ensemble des compétences que je peux mettre au service des entreprises et des particuliers intéressés par la création
    et les technologies d’un site web dynamique et attractif.<br>
    <br>
    Avant d'aborder ensemble les notions de balisage sémantique, web services, interactivité, référencement naturel et accessibilité pour tous, ou encore, Ruby on Rails, J2EE, Ajax, Flash, XHTML et
    CSS, je vais brièvement vous présenter les exigences qui m’ont guidé dans ce maelstrom technologique :
  </p>
  <ul>
    <li>des sites qui fonctionnent correctement, exempts de bogues, grâce à des pratiques de programmation rigoureusement <a href="http://fr.wikipedia.org/wiki/Orient%C3%A9_objet">orientées objet</a>
    ;
    </li>
    <li>l’évolutivité garantie par une architecture logicielle souple et extensible ; une sécurité fiable grâce au choix de langage et de plateforme de développement éprouvé pour leur robustesse ;
    </li>
    <li>un code respectueux des conventions d’écriture, lisible et documenté qui pourra être repris par n’importe quel autre développeur ;
    </li>
    <li>une <a href="http://fr.wikipedia.org/wiki/Accessibilit%C3%A9_du_Web">accessibilité</a> optimum établie par une séparation stricte des aspects sémantique, graphique et comportemental ;
    </li>
    <li>l’apport de fonctionnalités et d’animations pour une <a href="http://www.ergologique.com/">ergonomie</a> proche de celui d'une application de bureau.
    </li>
  </ul>
  <h1>
    Les problématiques du web actuel
  </h1>
  <p>
    Les pratiques du web actuel, ralliées sous la bannière du terme <a href="http://fr.wikipedia.org/wiki/Web_2">web 2.0</a>, concentrent un certain nombre de problématiques engageant différents
    acteurs :
  </p>
  <ul>
    <li>humains comme l’internaute, l’entreprise, le webmestre, le graphiste et le développeur,
    </li>
    <li>non humains comme les moteurs de recherche, les sites web tierces, mais aussi les robots de collecte d'emails, les vers et autres troyens, à des fins de spamming.
    </li>
  </ul>
  <p>
    Le principal défi du web 2.0 est d’apporter des solutions rigoureuses et pérennes à ces problématiques, qui sont principalement les suivantes : la visibilité, l’accessibilité, la sécurité,
    l’évolutivité et l’interactivité
  </p>
  <h2>
    La visibilité
  </h2>
  <p>
    Etre vu par le plus grand nombre d’internautes est évidemment la priorité principale de la très grande majorité des sites web. <a href=
    "http://fr.wikipedia.org/wiki/Referencement#R.C3.A9f.C3.A9rencement_naturel">Le référencement dit naturel</a>, au vu du nombre gigantesque de sites proposant un contenu similaire, est un enjeu
    majeur. La visibilité n’implique cependant pas que le référencement, ce qui nous amène au point suivant.
  </p>
  <h2>
    L'accessibilité
  </h2>
  <p>
    <a href="http://fr.wikipedia.org/wiki/Accessibilit%C3%A9_du_Web">L’accessibilité</a> ne concerne pas que les personnes souffrant d’un handicap physique ou cognitif (15% des internautes mondiaux),
    mais aussi les internautes visualisant des pages web depuis un mobile, PDA, pocket PC, tablet PC ou tout autre matériel ne supportant pas les modes d’affichage d’un ordinateur.
  </p>
  <h2>
    La sécurité
  </h2>
  <p>
    La recrudescence des détournements de site web (par le biais des formulaires de contact par exemple) à des fins de <a href="http://fr.wikipedia.org/wiki/Spamming">spamming</a> et de <a href=
    "http://fr.wikipedia.org/wiki/Phishing">phishing</a> est une des nombreuses facettes de la problématique sécuritaire du web 2.0. Mais ce n’est pas la seule. La plupart des sites ayant des besoins
    important en stockage, traitement et gestion de données, une architecture solide et puissante côté serveur, exempte de bogue et de faille de sécurité est vitale.
  </p>
  <h2>
    L'évolutivité
  </h2>
  <p>
    De nombreux sites souffrent d’une maintenance lourde et d’une évolutivité coûteuse, du à un code brouillon, non portable ou propriétaire par manque de conventions d’écriture. L’évolution des
    enjeux métiers ou de communication d’une entreprise et des enjeux technologiques du web est incompatible avec du <a href="http://fr.wikipedia.org/wiki/Programmation_spaghetti">code spaghetti</a>.
  </p>
  <h2>
    L'interactivité
  </h2>
  <p>
    Le degré de sophistication des applications de bureau creuse sans cesse le fossé ergonomique avec des pages web statiques ne connaissant ni le glissé déplacé, ni même la mise à jour des données
    sans rafraîchissement. La relation utilisateur/interface graphique est donc un des aspects important de la notion d'interactivité d'une application web. Elle n'est reste néanmoins que la partie
    visible de l'iceberg. La relation utilisateur/utilisateur représente un autre aspect qui caractérise fortement le web 2.0, illustré d'ailleurs par le bourgeonnement des sites éditoriaux à contenu
    coopératif, dont <a href="http://fr.wikipedia.org">wikipédia</a> et un exemple de réussite. Le dernier aspect de l'interactivité est celui caractérisé par la relation agent/ressource, plus connu
    sous le nom de <a href="http://fr.wikipedia.org/wiki/Web_service">web services</a>, un protocole permettant l'échange de données entre applications à travers le réseau. <a href=
    "http://www.netvibes.com/">NetVibes</a>, le portail web français personnalisable, en est une illustration poignant.
  </p>
  <h1>
    Apporter des réponses justes
  </h1>
  <p>
    A chacune de ces problématiques peut-être apportée une solution adaptée, d’autant plus que cette solution est éprouvée, documentée et validée par de nombreux ouvrages de référence.
  </p>
  <h2>
    La visibilité
  </h2>
  <p>
    La réponse la plus adaptée au référencement naturelle est la séparation stricte du contenu (XHTML), de la mise en forme (CSS) et du comportement (JavaScript). Le document est alors structuré en
    XHTML/strict à l’aide d’un balisage choisi pour son apport sémantique, sans tenir compte de la mise en forme, ni du comportement. Cette pratique, conforme aux recommandations du <a href=
    "http://www.w3.org/">World Wide Web Consortium</a>, permet, entre autres atouts, de mettre l’emphase sur le sens du contenu, plûtot que sur sa mise en forme, favorisant ainsi l'extraction de ce
    sens par les moteurs de recherche.
  </p>
  <h2>
    L'accessibilité
  </h2>
  <p>
    Ce mode d’organisation du document permet une intégration optimum des contraintes d’accessibilité (l’accessibilité numérique devient une obligation pour les services de l'Etat, les collectivités
    territoriales et les établissements publics, depuis le vote de la loi <a href="http://www.legifrance.gouv.fr/WAspad/UnTexteDeJorf?numjo=SANX0300217L">[n° 2005-102 du 11 février 2005, article
    47]</a> pour l'égalité des droits et des chances, la participation et la citoyenneté des personnes handicapées). Les balises peuvent véhiculer des méta-données utilisées par certains
    périphériques (comme les lecteurs d’écrans pour mal ou non-voyants) et la mise en forme est alors appliquée grâce à des feuilles de style (CSS) qui peuvent ainsi différer selon le matériel. On
    peut alors avoir des mises en page pour plusieurs supports de visualisation : écran d’ordinateur, imprimante, téléphone mobile, PDA etc., ceci sans modifier le document XHTML.
  </p>
  <h2>
    L'interactivité
  </h2>
  <p>
    De même, l’interactivité par l’inclusion de comportement grâce à Ajax (comme l’assistance à la saisie, la vérification de formulaire côté client, l’animation graphique…) devient une couche
    supplémentaire. La prise en charge de JavaScript devient un plus, mais n’est pas obligatoire (non obstrusive JavaScript). Il faut garder à l'esprit que le JavaScript reste désactivé sur certains
    réseaux intranet d'entreprise ou de services publiques, pour des raisons de sécurité. La pratique d'une méthode itérative de développement (à chaque cycle correspond l’ajout d’une couche
    supplémentaire) est la base d’une architecture dite à <a href="http://en.wikipedia.org/wiki/Graceful_degradation">dégradation élégante</a>. Quel que soit le poste client, la page gardera sa
    cohérence. L'interactivité utilisateur/utilisateur (le web coopératif) et agent/ressource (les web services) se fait par le biais d'une architecture <a href=
    "http://fr.wikipedia.org/wiki/Client_serveur">client/serveur</a> où dans le rôle du client on trouvera indirectement l'utilisateur (son navigateur effectue une requête pour avoir une page) mais
    aussi le serveur du site web (qui effectue une requête auprès d'un autre serveur fournisseur de ressources, le premier devenant l'agent, le second offrant cette ressource).
  </p>
  <h2>
    La sécurité
  </h2>
  <p>
    La problématique sécuritaire présente de multiple facettes, mais trois d'entres elles sont à considérer avec attention. La première concerne la sécurité du serveur physique, ainsi que du serveur
    d'application hébergeant le site web.<br>
    Etant au cœur de Ajax, JavaScript présente bien des forces mais aussi bien des faiblesses. Les écarts permis par sa syntaxe peuvent conduire à l’existence de bogues insoupçonnés, qui peuvent
    mettre en danger la stabilité de l’application, du navigateur, ou encore ouvrir des failles de sécurité dans le système côté serveur. L’application d’une méthodologie globale de développement
    dite <a href="http://fr.wikipedia.org/wiki/Test_Driven_Development">conduite par les tests</a> et que d’une syntaxe rigoureusement orientée objet, associées à des choix judicieux de <a href=
    "http://fr.wikipedia.org/wiki/Patron_de_conception">conception</a>, de <a href="http://fr.wikipedia.org/wiki/Framework">framework</a> et de langage permet de réduire les risques au maximum.
  </p>
  <h2>
    L'évolutivité
  </h2>
  <p>
    A cette méthodologie s’ajoute le respect des conventions d’écriture, ainsi que la documentation permettant à tout développeur tiers de reprendre le code pour le modifier. Cet esprit open source
    garantit l’évolutivité de l’application dans le temps, par un code propre, correctement structuré, ouvert et documenté.
  </p>
  <h1>
    Des technologies éprouvées
  </h1>
  <p>
    Afin d’apporter ces services, j’ai fait des choix de langages d’architectures techniques relevant au mieux les défis du web 2.0, tant côté client (navigateur) que côté serveur.<br>
    J’ai vite été séduit par deux plateformes facilitant la création d’applications distribuées, car conçus initialement dans ce but, qui sont <a href=
    "http://java.sun.com/javaee/technologies/javaee5.jsp">J2EE (Java Enterprise Edition)</a> et <a href="http://www.rubyonrails.org">Ruby on Rails</a>. Ces deux plateformes peuvent apporter des
    solutions adaptées à des contraintes différentes, tout en garantissant la compatibilité et l’efficacité dans l’utilisation des principaux logiciels de base de données actuels.
  </p>
  <ul>
    <li>Java est un langage sur, mur, stable et la plateforme J2EE est tout simplement la plateforme la plus aboutie aujourd’hui pour les applications distribuées que sont les sites web.
    </li>
    <li>Ruby est un langage concis, rapide et innovant, réunissant le meilleur de <a href="http://fr.wikipedia.org/wiki/Smalltalk">smalltalk</a>, <a href=
    "http://fr.wikipedia.org/wiki/Python_%28langage%29">python</a> et <a href="http://fr.wikipedia.org/wiki/Perl_%28langage%29">perl</a>. La plateforme Ruby on Rails permet une productivité jusque la
    jamais atteinte permettant ainsi de réduire le temps et le coût de développement d’un site web.
    </li>
  </ul>
  <p>
    Côté machine cliente, ce sont les technologies du web dynamique, attractif et accessible que j’ai choisi de mettre dans ma besace :
  </p>
  <ul>
    <li>
      <a href="http://fr.wikipedia.org/wiki/Xhtml">XHTML</a> pour un balisage structuré, portable et accessible ;
    </li>
    <li>
      <a href="http://fr.wikipedia.org/wiki/Feuilles_de_style_en_cascade">CSS</a> pour une mise en forme externe, souple et adaptée au support ;
    </li>
    <li>
      <a href="http://fr.wikipedia.org/wiki/Asynchronous_JavaScript_And_XML">AJAX</a> (Asynchronous Javascript And XML) pour des interfaces « clients riches », interactives et dynamiques ;
    </li>
    <li>enfin <a href="http://fr.wikipedia.org/wiki/Actionscript">ActionScript</a> pour l’intégration d’animations Adobe Flash dans vos sites web.
    </li>
  </ul>
  <h1>
    Rester en veille
  </h1>
  <p>
    Un tel travail ne s’effectue pas sans collaboration, et c’est toujours un réel plaisir d’intégrer une équipe et de découvrir de nouvelles personnalités, de partager et d’acquérir de nouvelles
    compétences, comme ça pu être le cas avec Pierre Seydoux et <a href="http://www.metiers-web.com/v5b/annuaire/da_annuaire_n3.php?id_identitee=4311">Xavier Collet</a> lors de la réalisation du site
    de l’agence de communication <a href="http://ikoo.eu/">IKOO Design Sonore</a>. A chaque nouveau projet de nouvelles rencontres, l’important pour moi en tant que développeur étant d’apporter la
    solution adaptée aux problèmes métiers des autres acteurs du projet (clients, designers ou autres développeurs), que ces problèmes aient une solution évidente ou non.
  </p>
  <p>
    Bien que réaliser des programmes sur la base de compétences et techniques préalablement acquises soit gratifiant et productif, la veille technologique n'en reste pas moins importante. J’accorde
    donc un temps significatif à la lecture d’ouvrages et webzines spécialisés, afin de me tenir au courant des technologies émergeantes et le cas échéant, de me les approprier.<br>
    <br>
    Que vous soyez de mes proches ou non, j’espère que ce billet vous aura éclairé sur la nature de cette activité de développeur, ainsi que sur la détermination et le degré de motivation qui
    m’accompagnent dans cette nouvelle voie.
  </p>

  
]]></description>
        <pubDate>Thu, 30 Aug 2007 00:52:00 +0200</pubDate>        <guid isPermaLink="false">c81bb1582c5f5903707920436e3d6167</guid>
                <category>web 2.0</category>        <comments>http://kabnot.over-blog.com/article-12095928-6.html#anchorComment</comments>                    </item>
      <item>
        <title><![CDATA[Yet another blog...]]></title>
        <link>http://kabnot.over-blog.com/article-12024135.html</link>        <description><![CDATA[
  <p>
    Voilà quelques mois déjà&nbsp; que j'avais ouvert&nbsp; un compte chez over-blog, sans pour autant&nbsp; franchir le cap du premier&nbsp; billet.&nbsp; Je&nbsp; dois avouer que mon esprit tout
    entier était absorbé par autre chose que la prose. Je ne manquerai pas de vous en parler en détaille dès le prochain billet.<br>
    <br>
    Ce blog sera résolument tourné vers ma nouvelle activité de développeur. Vous y trouverez donc des articles sur ce qui a trait à la programmation d'applications web:<br>
    les technologies du web actuel, des tutoriels, revues littéraires et anecdotes, des nouvelles du front open source, bref rien d'innovant en soi si ce n'est la performance orthographique que cela
    va me demander !<br>
    <br>
    Pour ceux qui me connaissent comme musicien, rassurez vous je n'ai aucune intention d'arrêter la musique et je compte bien mener ces deux professions de front. Pour l'anecdote, le pseudo
    "kabnot"&nbsp; est un clin d'oeil (celui qu'on se fait dans un miroir) au nom de l'instrument que je joue, je vous laisse deviner lequel. <img alt="" src=
    "http://fdata.over-blog.com/smiley/smiley_0008.gif"><br>
    <br>
    Une fois ne sera sans doute pas coutume, mais ce billet sera court. Vous constaterez qu'à défaut d'avoir la plume élégante, j'ai l'encrier plutôt bien rempli...<br>
    <br>
    Sur ce, je vous souhaite la bienvenue à tous !
  </p>

  
]]></description>
        <pubDate>Tue, 28 Aug 2007 00:46:00 +0200</pubDate>        <guid isPermaLink="false">968b1227bd1c9974ecb23919d2e06bc0</guid>
                <category>web 2.0</category>        <comments>http://kabnot.over-blog.com/article-12024135-6.html#anchorComment</comments>                    </item>
  
 </channel>

</rss>
