Weblog

Être dans la nature ainsi qu'un arbre humain,
Étendre ses désirs comme un profond feuillage,
Et sentir, par la nuit paisible et par l'orage,
La sève universelle affluer dans ses mains !

La vie profonde - Anna de Noailles

XCode utilise GCC

Cela peut paraître obscur pour certains mais c'est toute l'ingéniosité d'Apple depuis le début de Mac OS X qui démontre que l'on peut faire des affaires en utilisant des programmes open source. En effet dans nombre de ses produits maintenant tels que le système Mac OS X et Safari, Apple utilise des programmes du domaine du logiciel libre qu'il améliore et redonne à la communauté en contribuant au dit code source. Bien sûr, Apple a d'autres casseroles à son actif mais je trouve que la démarche est intéressante et elle a en plus eu le mérite de mettre à disposition la stabilité d'un système Unix au plus grand nombre. Et ce n'est pas du prosélytisme, Emmanuel ;).

informatique, Apple

Journal

Extensions

passage entre deux immeubles sur Saint-Laurent à Montréal

Laurent a demandé Si Apple décide d’ajouter des fonctions supplémentaires pour son DashBoard et son Safari RSS, où est le problème ? Si le contenteditable (conforme à la populaire création de Microsoft) est implémenté (relire à cet égard les commentaires chez Bugzilla en 2002), qui ça chiffonne ? C'est une question très intéressante et qui est loin d'être facile à répondre car elle a de nombreuses implications qui sont à fois sociales et technologiques. J'ai déjà un peu abordé le sujet en parlant de jardin et d'engrais il y a deux jours.

Qu'est-ce qu'une norme ?

On l'a déjà vu dans les articles précédents, mais c'est généralement une solution pragmatique et consensuelle à un problème technique. Un groupe dialogue afin d'établir des règles de fonctionnement et afin de garantir une interopérabilité entre les différents acteurs du marché. Ceci est généralement bénéfique pour le marché mais c'est bénéfique pour l'utilisateur, qui peut alors faire circuler un document d'une application à une autre sans se soucier de son format. C'est à ce point où l'on touche au social.

Création d'extensions

Créer une extension n'est pas simple. Tout d'abord il faut séparer deux cas, les normes qui permettent les mécanismes d'extensions et les normes qui ne le permettent pas. Par exemple, CSS 3 a un mécanisme d'extensions prévu dans sa syntaxe, qui prend la forme suivante :

-vendor-propriete

Ainsi la spécification CSS 3 n'encourage pas les extensions, mais dit, si vous voulez vraiment le faire, c'est la manière de le faire. Le « - » commençant une propriété CSS devient un caractère réservé qui dit attention, ceci ne fait pas partie de la norme. Le code suivant est un code dépendant du fabricant, et ensuite le nom que ce dernier a donné à la propriété.

Par exemple dans Mozilla, il est possible d'obtenir des boites avec des bords ronds avec cette propriété n'existant pas dans CSS 2 et CSS 1.

-moz-border-radius: 20px;

Ainsi définie, la nouvelle propriété ne vient pas polluer le langage original car elle possède un label bien identifié qui permet de la distinguer.

Portée des extensions

Une extension ne devrait également jamais redéfinir une propriété existante dans le langage. Imaginons que vous ayez une balise à laquelle vous donnez le même nom et qui définit un comportement différent, et puis comme vous êtes le navigateur dominant du marché, ce n'est pas grave, car les 8% de part de marché restante... vous les ignorez. Soyons réalistes comme l'ont dit certains sur leurs carnets en parlant de situation du monde réel. Justement le monde réel se construit avec tous.

Dans tout groupe social, plus on a de pouvoir et plus on a d'obligations et de responsabilités quant à l'exercice de ce pouvoir, car chacune des actions aura des implications bien plus profondes. Là encore, c'est un enjeu social.

Il peut arriver que les extensions soient nécessaires dans des contextes spécifiques, mais si on estime que cette extension est un bénéfice pour l'ensemble de la communauté, cela ne sert à rien de le faire manière cow-boy. Cela ressemble trop à ce que l'on a vu récemment par exemple dans le conflit avec l'Irak. L'ONU avait recommandé d'attendre, qu'il n'y avait pas de problèmes, Georges W. Bush en a décidé autrement. Le futur du monde ne se trouve pas à l'ONU, l'ONU est caduque (« irrelevant » pour les anglo-saxons) et comme on a le pouvoir de le faire, on le fait.

Oui bien sûr c'est possible, c'est juste pour moi dommage et dommageable. Quand il y a un forum pour déguster des évolutions d'un langage, je trouve cela sain que ces évolutions si elles sont pertinentes pour l'ensemble de la communauté se fassent au sein de ce forum et non pas à l'extérieur ou de façon individuelle. On venait tout juste de sortir de la guerre des navigateurs qui nous a tous tant coûté à tous en heures d'arrachages de cheveux, de design, de rentabilité et on est en train de refaire l'histoire du monstre HTML 3.2 qui a encore des cadavres dans les versions actuelles de HTML et XHTML.

Développer une technologie est quelque chose de complexe, plus on est divisé et moins on a de chances d'atteindre l'interopérabilité nécessaire à une évolution harmonieuse de la technologie pour le bénéfice de la communauté. Les solutions parfaites n'existent pas dans un sens comme dans l'autre, mais le bénéfice d'une négociation collective est toujours plus importante, plus difficile certes, mais tellement plus créateur.

W3C