PageBox |
Rationale | Presentation | News | Faq | Authors | Dev site | Mailing list |
Présentation
Je suis l’auteur
principal du logiciel présenté, PageBox. Comme ce produit est gratuit et que le
site fournit des informations que j’espère intéressantes sur l’Open Source,
Internet et Java, je crois qu’il a le droit d’être présenté comme Pages
personnelles.
Comme il est installé chez un fournisseur grand public, j’ai jugé utile de rédiger cette introduction et de présenter les termes et les technologies utilisés par le produit. Ce document est inédit. Bien évidemment vous pouvez créer un lien dessus. En revanche en cas de copie ou de reproduction vous êtes tenus de m’en avertir et de me citer comme l’auteur. Mon adresse électronique est alexis.grandemange@libertysurf.fr.
Aujourd’hui le site principal
est fréquenté pour les deux tiers par des américains. Les Européens
représentent un bon sixième, l’Asie (comprendre le Japon, l’Inde, la Corée, la
cote chinoise et Taiwan) et l’Australie le dernier sixième.
Le seul point commun entre ces
personnes (du moins ceux qui connaissent le sujet) est de parler anglais.
Traduire une documentation demande du temps – un temps que je n’ai pas. Cela
étant, le produit est Open Source et la philosophie d’Open Source étant de
faire appel aux bonnes volontés, si le cœur vous en dit…
J’ai conservé le terme anglais pour éviter toute équivoque. Un logiciel Open Source n’est pas seulement un logiciel gratuit, c’est un logiciel gratuit livré avec les sources (exemple : Linux). Ce n’est pas rien pour une grosse entreprise : elle peut adapter un logiciel Open Source à de nouveaux besoins alors qu’elle dépend du bon vouloir et de la santé de l’éditeur d’un logiciel payant.
Il reste que pour vivre, on doit
gagner de l’argent et qu’il est difficile d’en gagner en donnant même à des
millions d’exemplaires ce qu’on a écrit. Même si logiciel un peu complexe
réclame une formation et un support que l’auteur est le mieux placé pour
fournir, je ne crois pas qu’un éditeur Open Source puisse atteindre la taille
de Microsoft.
Cependant l’Open Source a des
avantages :
1.
C’est un moyen bon marché
d’acquérir une part de marché dans la tête des gens (mindshare). C’est
vrai notamment parce que Internet a changé la donne. C’est un espace ultra
compétitif (plus de 30 millions de domaines, plus de 20 millions de .com) où on
doit se battre pour être connu. Quand vous mettez une page en ligne 150
millions de personnes peuvent la lire mais encore faut il qu’ils sachent
qu’elle existe et qu’elle peut les intéresser. Si on laisse de coté les
« trucs » qui permettent d’améliorer son placement dans les moteurs
de recherche, il reste deux procédés : fournir effectivement un contenu
intéressant et payer.
2.
C’est un procédé sûr à l’heure
où la Propriété Intellectuelle évolue de manière assez déroutante. Les grandes
entreprises brevettent à tout va tout et n’importe quoi. Il est devenu
impossible de vérifier si une invention est valable[1].
Une invention est avant tout une arme pour les avocats. Si un concurrent crée
un logiciel, il ne peut qu’enfreindre un ou plusieurs brevets que la Société
détient[2].
Quand le concurrent est une grosse société, il a bien évidemment procédé de
même. On procède alors à un échange de brevets. En publiant un logiciel en Open
Source, vous en mettez les procédés dans le domaine public et vous invalidez
ipso facto les brevets que d’autres peuvent prendre sur le même sujet[3].
3.
Les deux points plus hauts sont
surtout valables pour des particuliers et de petites Sociétés. Pour une grande
entreprise, c’est un moyen bon marché d’améliorer son image de marque et
d’imposer sa technologie et en conséquence de faire monter le cours de son
action. On l’a vu avec Java.
La principale population
intéressée est celle des programmeurs.
q
Pour les étudiants et pour les
personnes qui souhaitent se former à une nouvelle technologie, c’est le moyen
d’apprendre par l’exemple.
q
Parce que personne ne vous paie
ou ne vous note, c’est un espace où vous êtes libre d’innover et où la
reconnaissance se gagne uniquement par la qualité de la contribution.
Il reste que l’investissement
demandé est important :
q
20h minimum par semaine pour un
contributeur
q
40h minimum pour un créateur
plus le sacrifice de ses vacances
q
et cela pendant des mois
Un logiciel Open Source ne
diffère pas d’un logiciel classique. Vous ne programmez pas plus de 30% du
temps parce que vous ne pouvez vous dispenser :
1.
D’une analyse de marché –
l’essence même du marketing – même si elle est plus empirique / fondée sur la
connaissance du terrain.
2.
De documenter
3.
De tester dans des conditions
réelles d’utilisation
Je crois dans l’Open Source. En
conséquence PageBox est un logiciel Open Source.
Il existe parce que
l’environnement a évolué :
q
En réseau avec Internet
q
En informatique avec différentes
nouvelles technologies
Internet évolue sans aucune
planification simplement parce que des intervenants choisissent d’investir dans
de nouvelles liaisons, de nouveaux points d’accès et de nouvelles offres. C’est
donc une juxtaposition de réseaux transnationaux, nationaux et concentrateurs
interconnectés. Tous ces réseaux sont des ISP (Internet service providers).
Votre fournisseur d’accès
Internet, par exemple http://www.libertysurf.fr
est un exemple de réseau national. Si vous vous connectez à http://pagebox.net Libertysurf va transmettre
votre requête à un réseau concentrateur qui va lui même passer la main à
d’autres réseaux pour arriver finalement au site qui m’héberge.
Le moyen de savoir ce qui se
passe est la commande traceroute – tracert sur Windows :
tracert pagebox.net
Tracing route to pagebox.net [64.71.143.88]
over a maximum of 30 hops:
1 130 ms 130 ms 130 ms
eth1-c-1.tnt01.nan.libertysurf.net [213.36.82.1]
2 130 ms 130 ms 130 ms
vlan2.gw2.nan.libertysurf.net [213.36.82.65]
3 130 ms 130 ms 130 ms
ge5-0.gw1.nan.libertysurf.net [213.36.82.110]
4 130 ms 130 ms 130 ms
pos0-3.gw1.tlh.libertysurf.net [213.36.82.154]
5 131 ms 130 ms 130 ms
above-liberty-fe.cdg4.above.net [208.184.231.237]
6 130 ms 131 ms 130 ms
core1-cdg4-oc12.cdg1.above.net [208.184.210.242]
7 150 ms 141 ms 150 ms
lhr1-cdg1-stm4.lhr1.above.net [208.184.231.9]
8 220 ms 221 ms 220 ms
lga1-lhr1-stm4-3.lga1.above.net [208.185.188.98]
9 240 ms 241 ms 240 ms
ord2-lga1-oc48-2.ord2.above.net [208.185.156.157
]
10 321 ms 320 ms 321 ms
sjc2-ord2-oc48.sjc2.above.net [208.184.233.45]
11 330 ms 320 ms 321 ms
core1-sjc2-oc12-2.sjc6.above.net [216.200.254.74
]
12 330 ms 321 ms 320 ms
core2-core1-oc3.sjc6.above.net [209.133.31.182]
13 321 ms 330 ms 321 ms
100tx-f6-1.mae-west.he.net [207.126.96.98]
14 320 ms 331 ms 320 ms
gige-g9-0.gsr12012.sjc.he.net [216.218.130.1]
15 330 ms 321 ms 320 ms
64.71.143.88
Chaque ligne correspond à un
routeur différent.
Vous voyez par exemple qu’ici je
quitte libertysurf par pos0-3.gw1.tlh.libertysurf.net pour rentrer sur abovenet
par above-liberty-fe.cdg4.above.net.
Le nom du routeur est
instructif : vous voyez que ça se passe à Roissy (Charles de Gaulle =
cdg).
Vous pouvez aller sur le site
d’Abovenet pour connaître leur réseau : http://www.abovenet.com/network/index.html .
Les lignes Internet haut débit
(fibre optique oc quelque chose) que ce soit sur les réseaux concentrateurs ou
les réseaux transnationaux suivent toujours le même axe d’Ouest en Est
Asie/Australie – Etat Unis – Europe. Ceci résulte à la fois de réalités
économiques (c’est là que ce trouve l’essentiel du trafic et de contraintes
géographiques (c’est le chemin le plus court). Une conséquence est que si votre
contenu s’adresse au monde entier il est préférable d’héberger votre site aux
Etats Unis : les Américains seront servis en 100ms et les Asiatiques et
Européens en 300ms. Si vous l’hébergez en Europe, les Américains seront servis
en 300ms et les Asiatiques en 500ms[4].
Le temps de service que
j’indique n’inclut pas le temps consommé sur le site ou par le navigateur qui
affiche le résultat. C’est un minimum largement dépassé en cas d’incident.
Les tuyaux grossissent[5]
mais ce chiffre ne devrait pas baisser[6].
Les hébergeurs – Application Service Providers (ASP) – en anglais sont perçus comme un moyen commode pour assurer la disponibilité et l’administration d’un site. Je crois pourtant que leur avantage fondamental est ailleurs :
Ils ont des liens Internet à très haut débit (typiquement plusieurs OC 3 à 155 Mbps) qui ne leur coûtent pas cher parce qu’ils s’installent à proximité, voire dans les locaux des ISPs avec lesquels ils ont une relation symbiotique.
Un cache maintient une copie d’un contenu.
Les navigateurs maintiennent un premier niveau de cache. Quand vous accédez une page, le navigateur en conserve une copie de manière à éviter un nouveau téléchargement si vous la redemandez plus tard.
Dans votre entreprise, on peut vous demander de configurer votre navigateur avec un mandataire (proxy). Un proxy agit comme le cache de votre navigateur mais pour un ensemble d’utilisateurs. Si Véronique a accédé à http://pagebox.net/cocoonSupport.htm et si Marc demande cette page plus tard, il est servi par le cache et non par pagebox.net.
Il s’agit là de caches gérés par l’usager. Il existe une autre forme de cache mise en œuvre à l’initiative des fournisseurs. Si vous téléchargez un produit de Macromedia, vous ne le téléchargez pas du site Macromedia que vous avez contacté mais d’une machine plus proche de vous gérée par Akamai. Cette société a mis en place un réseau de 3000 serveurs sur lesquels les éditeurs peuvent répliquer leur contenu. Le bénéfice pour Macromedia est double :
q Vous êtes servi plus vite et donc plus satisfait
q Macromedia dépense moins en serveurs et en liens Internet
Le point commun de ces caches est de ne cacher qu’un contenu statique, typiquement des pages HTML.
Si vous essayez la commande
traceroute/tracert depuis votre lieu de travail il y a des chances qu’elle
échoue. C’est parce que votre société a mis en place un firewall. Un firewall
est un filtre de messages. Créés à l’origine pour éviter l’intrusion
d’agresseurs, les firewalls sont utilisés également pour interdire aux employés
de faire des actions qui génèrent un trafic (qui accroît l’encombrement des
lignes) sans faire partie de leur fonction. Deux trafics restent
supportés :
q
Le courrier électronique
(POP/SMTP)
q
HTTP
Au début, il n’y avait pas de PCs, seulement des écrans noirs avec des caractères verts. Ces écrans étaient connectés à des ordinateurs où tournaient des programmes qui effectuaient un traitement et affichaient le résultat sur l’écran. Ces programmes assuraient la mise en page et de manière générale la présentation du résultat.
Avec les PCs sont apparus des
programmes tels que les tableurs et les traitements de texte. Ces programmes
offraient une meilleure présentation que les programmes centraux mais ne
permettaient pas d’interaction avec d’autres utilisateurs.
Ensuite est apparu le modèle
client/serveur. La machine centrale offrait des services qu’appelait le client
installé sur le PC. Le client offrait la même présentation que les tableurs et
les traitements de texte. C’était le rêve de l’ingénieur : chaque chose
tournait là où elle devait tourner.
Ensuite sont apparus les
navigateurs et Internet. Au lieu d’accéder uniquement à des machines à
l’intérieur de l’entreprise, les employés ont pu accéder aux serveurs de leurs
fournisseurs, partenaires… et concurrents. Techniquement le protocole utilisé
par les navigateurs, HTTP constitue un retour à l’écran noir : le serveur
est à nouveau responsable de la présentation que le navigateur se contente
d’afficher. Les standards et les produits Open Sources deviennent crédibles.
La tendance est à la
dérégulation, à la multiplication des partenariats et au recentrage de
l’entreprise autour de ses données – principalement de son fichier client – et
non plus de ses produits[7].
De nouvelles technologies telles que les services Web accompagnent cette
tendance.
Il est intéressant[8]
de prendre en compte l’aspect sociologique :
q
A l’époque des écrans noirs
(1973 – 1983), la Société est toujours très hiérarchisée. Il y a des analystes,
des analystes programmeurs et des programmeurs. Il y a peu d’initiatives et les
entreprises comme les vendeurs misent sur la simplicité, le découpage des
tâches et une formation massive et minutieuse des employés. L’Education
institutionnelle a été prise par surprise et tout le monde est autodidacte.
q
A l’époque du client/serveur
(1984/1994), les générations formées à l’Informatique s’imposent sur le marché
du travail. C’est l’ère de l’ingénieur et des progiciels. L’initiative est
recherchée et la hiérarchie se simplifie.
q
A l’époque actuelle, tout le
monde est informaticien, juriste et fait du marketing. La hiérarchie n’évolue
plus mais les métiers se transforment.
Java a été présenté comme le langage de l’Internet. Il a introduit trois concepts importants :
1.
Gratuité pour l’utilisateur
comme pour le développeur
2.
Utilisation d’une machine
virtuelle. Il s’agit là davantage d’une popularisation. L’idée est de
distribuer non un code que la machine peut comprendre mais un code
intermédiaire, ce qui a deux avantages : ce code est portable et un
compilateur appelé au dernier moment a plus d’information pour optimiser
efficacement le code.
3.
Code signé. Le code inclut une
signature attestée par une autorité indépendante de l’éditeur et qui prouve que
c’est bien l’éditeur qui a produit ce code.
Avec .NET, Microsoft a introduit
un équivalent à Java optimisé pour ses systèmes d’exploitation.
Un Application server est un serveur Web spécialisé dans la production de présentation dynamique (où le contenu a été obtenu en accédant à une base de donnée ou à un autre serveur).
Dans sa définition restreinte,
un Application server est écrit en Java et appelle des composants Java
particuliers, les servlets et les JavaServer Pages (JSP). Il existe un assez
grand nombre d’Application servers gratuits ou bon marché. Les plus répandus
sont Tomcat (Open Source) et Resin ($500 par machine de production[9]
fourni avec les sources).
Un défaut des protocoles
utilisés à l’époque du client/serveur était leur absence d’interopérabilité.
Même quand un protocole était standardisé, des différences mineures suffisaient
à empêcher deux produits différents de communiquer[10].
S’il est relativement facile de s’accommoder de ce défaut au sein d’une
entreprise, cela devient un obstacle majeur à la mise en place d’échanges inter
entreprises Business to Business (B2B).
EXtended Markup Language (XML)
décrit des messages dans un format lisible par les humains comme par les
machines. Il est conçu pour permettre des échanges entre des machines et des
produits différents. La combinaison d’XML avec HTTP pour le trafic synchrone et
avec SMTP/POP pour le trafic asynchrone permet de disposer de protocoles
interopérables.
Les services Web sont le prolongement d’XML sur HTTP ou SMTP/POP.
Les standards dans ce domaine sont SOAP, créé par Microsoft, UDDI et WSDL créés par Microsoft et IBM.
SOAP est une formalisation d’XML sur HTTP et SMTP/POP. Le résultat est que le programmeur n’a plus qu’à programmer des services et des appels de service.
UDDI décrit comment réaliser des répertoires de services. Un répertoire de services, c’est un peu les pages jaunes pour les programmes. Imaginons que vous vendez des perceuses. Vous cherchez dans les répertoires UDDI les vendeurs de perceuses, vous importez la définition des appels par exemple disponibilité, prix en format WSDL et vous générez le code SOAP pour effectuer les appels.
Cocoon est un produit de publication XML Open Source.
Son but est de séparer la
présentation du contenu mais cette fois au niveau du serveur.
C’est une fonction souhaitable
parce que :
q
la famille des navigateurs s’est
agrandie (téléphones WAP, PDA)
q
le parc des navigateurs a
vieilli et des navigateurs aux capacités différentes coexistent
q
de nouvelles formes de
présentation sont apparues (Adobe PDF, Macromedia Flash, VRML, SVG)
Le but de PageBox est d’offrir un moyen de déployer les présentations HTTP au plus prés de l’utilisateur de la même manière que le contenu statique est caché aujourd’hui par les serveurs d’Akamai et d’autres éditeurs.
Les avantages sont :
q
Un meilleur temps de réponse.
q
Une grande tolérance aux pannes.
Si le serveur le plus proche a une défaillance, un serveur plus éloigné prend
le relais.
q
Une plus grande capacité. Les
requêtes peuvent être réparties entre plusieurs serveurs.
La première fonction des PageBox
est de permettre un déploiement de présentation à distance qu’elles soient Java
(JSP et servlets) ou XML (grâce à Cocoon). Ces présentations peuvent maintenir
localement des données de référence ou accéder à des services Web centraux.
Ce modèle présente un intérêt
concret : Imaginons qu’une société A veut offrir les services de son
fournisseur, la société B sur son Intranet. Il installe une PageBox sur
laquelle le fournisseur déploie sa présentation.
q
Avantage pour A : meilleur
temps de réponse
q
Avantage pour B : il peut
se contenter d’un plus petit serveur
q
Avantage pour A et B : ils
économisent sur la bande passante (la présentation ne passe pas sur le réseau)
La deuxième fonction des PageBox
vise à étendre son domaine d’utilisation.
Les PageBox s’abonnent à un ou
plusieurs répertoires et les fournisseurs publient leurs présentations sur un
ou plusieurs répertoires. Il n’y a pas de limites au nombre de répertoires et
de PageBox, ce qui permet d’envisager un déploiement planétaire. Ce déploiement
peut être très fin : à coté de la version pour Application server adapté à
un déploiement dans les entreprises et dans des réseaux de type Akamai, il
existe une version Open Service Gateway Initiative (OSGi). Cette
version pourrait tourner dans des routeurs, des modems ou dans des serveurs
domestiques.
Avec PageBox, le rôle du fournisseur change. Il ne gère
pas de données puisque ses présentations accèdent aux services Web d’autres
sociétés. Il ne gère pas davantage de serveurs puisqu’il utilise des PageBox
quelque part sur Internet. Il peut se concentrer sur la réalisation de
présentations.
Les clients ont un meilleur service grâce à un marché
plus réactif et plus compétitif. Les sociétés se concentrent sur un métier que
ce soit fournir du contenu ou fournir une présentation.
L’ensemble des composants décrit plus haut existe et est déployé sur six machines. Ce n’est plus un prototype mais une première beta. Aujourd’hui même si je continue de compléter le produit, je donne la priorité à l’amélioration de la robustesse.
Des domaines restent à
défricher :
q
Réalisation d’une version .NET
q
Intégration avec un cache de
pages statiques, Squid qui comme vous l’aurez deviné est Open Source
q
Et plein d’autres fonctions
comme la réalisation d’une bibliothèque de présentations et d’outils.
L’Open Source a un avantage que
j’ai omis de mentionner plus haut, on vous aide : nous avons des
hébergeurs gratuits, le plus important étant Sourceforge. C’est de là que
sortent bon nombre de drivers Linux, des jeux comme Tux Racer… Il nous offre un
référentiel cvs, un environnement de compilation et bien d’autres choses. L’URL
du projet PageBox est https://sourceforge.net/projects/pagebox.
Si vous êtes tenté venez donc me
rejoindre en m’envoyant un mail à alexis.grandemange@libertysurf.fr.
Vous pouvez également nous aider, par exemple en nous laissant installer une
PageBox sur un de vos serveurs Internet. Nous en manquons en Europe.
[1] Une invention est valable si elle n’a pas
déjà été inventée.
[2] C’est le point faible de la mode
actuelle. On ne peut pas breveter quelque chose qui est impliqué par le besoin.
Le reste du monde suit la législation américaine qui elle même repose sur la
jurisprudence. Un seul jugement dans une cour américaine peut invalider la
moitié des brevets.
[3] Vous renoncez également à breveter. Ce
n’est pas un gros abandon, parce qu’un brevet coûte cher, demande beaucoup de
temps et surtout implique que vous identifiiez les sociétés qui l’enfreignent.
[4] Pour le reste du monde et en particulier
l’Amérique latine, un hébergement aux Etats Unis est également préférable.
[5] Au prix d’investissements élevés. Si vous
voulez créer un réseau fibre optique comme ça, comptez qu’il vous faut investir
un milliard de dollars par an.
[6] L’eau ne coule pas plus vite dans une
rivière que dans un robinet.
[7] Ca pourrait mettre à mal les cultures
d’entreprise de type Empire du Milieu avec les mandarins et les
inévitables diables étrangers, ce dont les actionnaires ne regretteront
pas forcement.
[8] Je pense que la plupart des professions
ont connu la même évolution.
[9] Plus précisément, l’éditeur de Resin, Caucho
vous demande de payer à partir du moment où vous gagnez de l’argent avec son
produit.
[10] Les entreprises manquaient également de
confiance dans des solutions où deux vendeurs pouvaient se renvoyer la balle en
cas de problème.
Rationale
Presentation News
Faq Dev site
Mailing lists Home
Installation Versions Constellations
Demo Publisher Mapper
Cocoon/SOAP Configurator
J2EE version Embedded version
Diskless version
Contact:support@pagebox.net