Archive for the ‘Computer science’ Category

Quand Skyrock bafoue la LCEN

Sunday, April 13th, 2008

Graff lights

La loi pour la confiance dans l’économie numérique, n°2004-575 du 21 juin 2004, aussi appelée LCEN avait pour objectif de promouvoir le commerce électronique au sein de l’Union Européenne mais aussi notamment de préciser la responsabilité des hébergeurs (le lecteur pourra se reporter au blog de Maître Eolas pour de plus amples renseignements).

Il y a 3 semaines, c’est au fil des clics de souris que je tombe sur le billet d’un “skyblog” relatant les actions contre le parc à Ormeaux de Guisseny. Seul hic, son contenu est mot pour mot similaire à celui d’un billet publié sur ce weblog. Hors je n’ai donné aucune autorisation de reproduction, ni du contenu du billet, ni des photos sur un autre blog. N’ayant aucune réponse de la skyblogueuse en herbe, je contacte la plateforme Skyblog qui me répond le jour même.

Bonjour,

Nous accusons bonne réception de votre signalement.

Malheureusement, en l’état de sa forme et au regard des dispositions de l’article 6-I-5 de la loi n°2004-575 du 21 juin 2004, dont nous sommes tenus au respect, notre capacité légale à faire droit à une demande concernant un contenu déclaré comme illicite hébergé par notre plateforme doit strictement respecter un formalisme à la charge de la personne dénonçant le contenu, sans quoi nous engagerions notre propre responsabilité vis-à-vis des blogueurs pour suppression non fondée.

Nous vous engageons donc à prendre contact avec le blogueur, exclusif auteur, éditeur et titulaire du blog que vous signalez afin de lui signifier qu’il s’agit d’un contenu non autorisé et lui faire part de votre souhait de retrait de ce contenu.

Nous vous remercions de nous informer de la suite que l’éditeur du blog donnera à votre notification en nous communiquant la copie de la correspondance adressée à l’auteur ou à l’éditeur des informations ou activités litigieuses demandant leur interruption, leur retrait ou leur modification, ou la justification de ce que l’auteur ou l’éditeur n’a pu être contacté.

Dès que nous aurons tous ces éléments, nous ne manquerons pas d’agir dans les plus brefs délais.

L’email reçu est bien ficelé et n’indique évidemment pas le formalisme que je dois suivre pour que le contenu illicite soit supprimé. Je consulte donc l’article de loi cité et leur transmet précisément les informations nécessaires soit : la date de notification, mon nom, prénom, domicile, nationalité, date et lieu de naissance, le pseudo du destinataire, la description des faits litigieux et leur localisation précise, les motifs pour lesquels le contenu doit être retiré, comprenant la mention des dispositions légales et des justifications de faits ainsi que la copie de la correspondance adressée à l’auteur.

Depuis, aucune réponse ni de Skyblog qui m’assurait agir dans les plus brefs délais, ni de la skyblogueuse incriminée qui ignore mes messages et continue de mettre à jour son skyblog. Qu’il est désagréable de se sentir aussi impuissant !

Edit : 5 jours plus tard, réponse de Skyrock qui a résolu le problème (NDLR : Le Bled et le Bescherelle ont de beaux jours devant eux):

Notre équipe a bien reçu votre message et pris les mesures nécessaires. Veuillez nous excuser, votre réponse apporter à nos anciens échanges, n’a pas été pris en compte pour des raisons inexpliqués.

Tell me a secret …I won’t tell you who you are.

Tuesday, October 9th, 2007

Postsecret is an ongoing project in the US that began as an art installation for Artomatic 2004 in Washington, D.C. It’s concept is quite simple : you (reader!) reveals on an anonymous postcard a a secret you’ve always kept. Most of this postcards are readable on a dedicated experimental Blogspot. But, can we be sure this french adaptation is not a fake ? I don’t think so.

Concept révolutionnaire qui débarque en France : “Postsecret” vous propose de réveler un secret que vous gardiez au plus profond de vous même en l’écrivant sur une carte postale que vous postez de manière anonyme. Frank Warren le concepteur de Postsecret, ne fixe aucune limite puisque les révélations concernent aussi bien un amour jamais révélé, une existance cachée à la suite du 9/11 ou même un meurtre. Nouveau moyen de confession du 20ème siècle, ces cartes postales sont visibles sur le site dédié au projet. Mais cette version française n’est-elle pas un fake ? Réponse de Normand !

[EDIT] La musique de la vidéo vous dit quelque chose ? Il s’agit de celle du générique de Six Feet Under, Breathe me - Sia [/EDIT]

Pause café …

Saturday, September 22nd, 2007

Quelque chose de bien plus léger après le post du 19 Septembre … C’est rasssurant, les publicités sont souvent meilleures que les films qu’elles interrompent : tout simplement hilarant !

Squelettes SPIP du site de l’association “Avenir du littoral”

Tuesday, June 12th, 2007

Initialement proposé pour le site “Crozon Location”, ce squelette est mis à jour pour la dernière version de SPIP.

Screenshot du site Avenir du littoral

SPÉCIFICITÉS

  • Feuilles de style CSS
  • XHTML 1.0 validé
  • Menu Javascript

INSTALLATION

  1. Installer une version récente de SPIP (ne supprimer aucun fichier après cette installation)
  2. Décompressez l’archive
  3. Déplacez le répertoire squelettes/ à la racine du site SPIP.
  4. A quoi correspondent les fichiers de squelettes ?
  5. - le fichier article.html correspond au squelette d’article par défaut. - le fichier article-contact.html correspond au squelette de contact et nécessite l’utilisation du plugin “Squelette par mot clef”.

  6. Le formulaire de contact : pour qu’il fonctionne correctement, votre hébergeur doit accepter la fonction mail() (ca n’est pas le cas de Free par exemple). Editez le fichier et modifiez les champs en remplaçant contact@domaine.tld par votre propre adresse mail afin que ce soit vous qui soyez le destinataire. A noter qu’un mail de confirmation est aussi envoyé à l’internaute ayant complété le formulaire.
  7. 7. Et voilà, c’est terminé !

LES BIDOUILLES DU HEADER

La compatibilité des CSS entre Internet Explorer et Firefox aura été un vrai casse tête. Une feuille de style complémentaire est nécessaire pour IE (d’où le test get_browser() pour vérifier le navigateur du client) D’autres tests du même style sont inclus afin d’obtenir un affichage correct du menu.

Vous aurez à modifier le code en indiquant les identifiants des rubriques racines que vous souhaitez voir apparaitre dans le menu Javascript (le code est commenté à ces endroits).

A noter que ce squelette est plutôt destiné à un site dont le nombre d’articles évoluera peu souvent (les tailles des boîtes du menu sont indiquées clairement dans le code !)

TESTS

  • Compatible Firefox, Opéra, Internet Explorer 6+ .

TELECHARGEMENT - CONDITIONS D’UTILISATION

Vous pouvez utiliser ce squelette à votre guise, à condition de faire référence au squelette sur le site cible. C’est la seule « restriction » mise à leur utilisation, et vous avouerez que ce n’est pas une très grande contrainte. Merci également de m’indiquer sur quel site les squelettes ont été mis en place, juste comme ça, pour le plaisir ;-). Téléchargez le squelette Avenir du littoral en suivant ce lien.

Quand Google Maps nous guide …

Sunday, April 8th, 2007

Intéressants les itinénaires proposés par Google Maps : lorsqu’il s’agit d’aller à Ouessant : direction le port de Commerce de Brest puis continuer tout droit jusqu’à Molène (c’est une île !) puis il faudra “tourner légèrement à gauche” pour arriver à Ouessant…

Google Maps Ouessant

Mieux encore lorsqu’il s’agit aller à Los Angeles depuis Brest : l’outil nous propose tout simplement de traverser l’océan Alantique à la nage pendant 5572 km (vu sur Totalement Crétin)

Google Maps entre Brest et Ouessant

Squelette Spip Yaou Info’

Saturday, October 14th, 2006

Un squelette simple qui est un bon point de départ pour apprendre à utiliser les CSS. Cette nouvelle version est allégée : exit le Wiki (qui devenait une vraie usine à gaz) et la galerie photo (consultez Spip-contrib qui en fournit de bien meilleures qui restent facilement intégrables au squelette fourni) …

  • Nom du Squelette : Yaou Info’
  • Version : 1.2
  • Licence : GPL (squelettes hormi les CSS) / CC By-nc-sa (feuilles de styles css)
  • Compatibilité SPIP : 1.9.* (et supérieures ?)
  • Site exemple : http://info.yaou.org/

Screenshot du site Yaou Info

SPÉCIFICITÉS

  • Feuilles de style CSS
  • Flux RSS et XML (contribution Geckozone)
  • Annuaire et syndication de sites

LES FEUILLES DE STYLES CSS

Contrairement à la version proposée sur Spip-Contrib, cette archive contient des feuilles de style complètes. Cependant, il est dans votre intérêt d’avoir un site au design original, pour qu’il ait sa propre identité visuelle, plutôt qu’un design plagié. Je vous invite donc à vous plonger dans les fichiers CSS fournis et à les modifier …

INSTALLATION

  1. Installer une version récente de SPIP (ne supprimer aucun fichier après cette installation)
  2. Décompressez l’archive
  3. Déplacez le répertoire squelettes à la racine du site SPIP
  4. Le formulaire de contact : pour qu’il fonctionne correctement, votre hébergeur doit accepter la fonction mail(). Modifiez les champs en remplaçant postmaster@domaine.tld par votre propre adresse e-mail afin que ce soit vous qui soyez le destinataire. Un mail de confirmation est aussi envoyé à l’internaute ayant complété le formulaire.
  5. Et voilà, c’est terminé !

COMPATIBILITÉ

Testé ? Plateforme Navigateur Version
non Windows Internet Explorer 6
non Windows Internet Explorer 7
oui Windows Mozilla Firefox 2.0
non Windows Opera 8.0
oui Mac OSX 10.4 Safari 2.0.1
oui Mac OSX 10.4 Mozilla Firefox 1.5.*
oui Mac OSX 10.4 Opera 9
oui Linux Mozilla 2.0
oui Linux Opera 9

PROBLEMES POTENTIELS - MODIFICATIONS PROCHAINES

  • Vous n’arrivez pas à voir l’icône associée à chaque rubrique dans le menu ? Notez l’identifiant de la rubrique (par exemple XX), modifiez le nom de l’icône (qui doit être de la forme menu_rubXX.png) dans le répertoire images/ et mettez à jour le fichier deco.css.
  • Subsistent des “auteur.php3″ dans les fichiers “article.html” et “rubrique.html” qui sont donc à remplacer par “spip.php?page=auteur”

TELECHARGEMENT

Téléchargez le squelettes SPIP Yaou Info en suivant ce lien.

Coder son premier web service

Wednesday, July 26th, 2006

Quelques questions …
Le programmeur qui souhaite coder son premier web service doit se poser plusieurs questions :

  • Quelle plateforme utiliser ? Il en existe un certain nombre, les principales étant .Net (M$$) et JEE - anciennement J2EE - proposé par Sun. Mon choix se porte bien évidemment vers la plateforme JEE , issue du projet Glassfish et qui est téléchargeable sur le site Sun (M$$ étant banni de chez moi, le choix fut très simple…)
  • Pourquoi utiliser une plateforme particulière ? La plateforme sert à la fois de serveur sur lequel vous déployez vos services et gère tout ce que j’appellerai par la suite “tuyauterie”, c-à-d les communications entre les composants logiciels décrits précédemment.
  • Quelle version de Java ? Question décisive que je ne m’étais pas vraiment posée lorsque je débutais , ce qui m’a fait perdre beaucoup (trop) de temps ! Choisissez Java 1.5 + Java EE 5 Tools Bundle si vous programmez un web service simple avec un client statique. Si votre projet s’avère plus complexe préférez Java 1.4.* + J2EE 1.4 SDK : la documentation est plus complète et les exemples nombreux sur Google.
  • Quel éditeur choisir ? Au choix, Netbeans ou Eclipse (un plugin peut être intégrer à ce dernier) mais rien ne vaut un bon vieil éditeur de texte comme Emacs ou Vi pour bien comprendre ce que l’on code. L’explication qui suit se base sur ce dernier cas.

Pré-requis
Après avoir installé et configuré le serveur d’application Java, créez un répertoire /calculservice. Nous illustrons notre propos parun exemple très simple, celui d’une calculatrice.

Un web service avec Java 1.4

Le fichier CalculImpl.java implémentant le service

 package calculservice;
import java.io.*;
import java.lang.*;
public class CalculImpl implements CalculIF {
     public String msgAdd = new String("Result of the add operation = ");
     public String msgSub = new String("Result of the sub operation = ");
     public String msgMult = new String("Result of the mult operation = ");
     public String msgDiv = new String("Result of the div operation = "); 

     public String add(int x, int y) { int z = x + y; return msgAdd + z + "."; }
     public String mult(int x, int y) { int z = x * y; return msgMult + z + "."; }
     public String sub(int x, int y) { int z = x - y; return msgSub + z + "."; }
     public String div(int x, int y) { int z = x / y; return msgDiv + z + "."; }
}

Le fichier d’interface CalculIF.java :


package calculservice;
import java.rmi.Remote;
import java.rmi.RemoteException;
public interface CalculIF extends Remote {
    public String add(int x, int y) throws RemoteException;
    public String mult(int x, int y) throws RemoteException;
    public String sub(int x, int y) throws RemoteException;
    public String div(int x, int y) throws RemoteException;
} 

Un web service avec Java 1.5

La grande différence entre Java 1.4 et Java 1.5 vient de l’utilisation des annotations : ici il n’est plus nécessaire d’implémenter à la fois un fichier d’interface et le fichier d’implémentation du service. Les annotations jouent le rôle de métadonnées et sont interprétées par le compilateur ; elles permettent de préciser si telle méthode doit être prise en compte lors du déploiement ou pas. Une autre particularité est l’utilisation de l’API jaxws plutôt que jaxrpc .


package calculservice.endpoint;
import javax.jws.WebMethod;
import javax.jws.WebService;
import java.util.*;
import java.io.*;
import java.lang.*; 

//On précise le nom du service @WebService()
public class Calcul{
    private String msgAdd = new String("Result of the add operation = ");
    private String msgSub = new String("Result of the sub operation = ");
    private String msgMult = new String("Result of the mult operation = ");
    private String msgDiv = new String("Result of the div operation = ");   

//et les méthodes à prendre en compte au déploiement
@WebMethod()     public String add(Integer x, Integer y) {Integer z = x + y; return msgAdd + z + ".";}
@WebMethod()     public String mult(Integer x, Integer y) {Integer z = x * y; return msgMult + z + ".";}
@WebMethod()     public String sub(Integer x, Integer y) {Integer z = x - y; return msgSub + z + ".";}
@WebMethod()     public String div(Integer x, Integer y) {Integer z = x / y; return msgDiv + z + ".";}
} 

Compilation et exécution

Pour compiler un web service, il est intéressant d’utiliser un fichier build.xml qui correspond en quelques sortes au fameux make du langage C mais cette fois pour le langage Java.

Récupérez les fichiers build.xml, build.properties, config-interface.xml, config-wsdl.xml, webservices.xml, web.xml et sun-web.xml joints à cet article et placez les dans le répertoire /calculservice.

Mais à quoi servent ces fichiers ?

  • build.properties contient des informations générales sur le service . Il est a éditer pour préciser ses propres paramètres (serveur, port, login, mot de passe, etc.) Ce fichier est appelé par build.xml
  • config-interface.xml contient des informations sur la génération du fichier WSDL.
  • config-wsdl.xml contient les informations nécessaires pour générer les stubs côté serveur. Ce fichier est associé à la commande wscompile config-wsdl.xml ; il n’est plus nécessaire dans la version 1.5 de Java - on préfèrera dans ce cas la commande wsimport “http://url_fichier_wsdl/” pour générer les stubs -
  • sun-web.xml, web.xml et webservices.xml sont utiles pour le déploiement sur un serveur Sun.

Pour compiler le service , tapez asant build . Une fois la compilation terminée, vous pouvez vérifier que les classes CalculIF.class et CalculImpl.class sont générées dans un répertoire calculatrice (correspondant au nom du package).

Puis créez une archive avec la commande asant create-war.

Pour déployer le service, tapez asant deploy. Un message ’BUILD SUCCESSFUL’ apparaît, c’est que le service est correctement déployé. Pour le vérifier, connectez vous à la console d’administration du serveur Sun Java System Application Server depuis votre navigateur Internet favori .

Screenshot de l’application Sun  Web Server

Fichiers fournis
Ces fichiers inspirés de tutoriels Java sont simplifiés et commentés.

  • Le fichier ‘build.xml’ contient les paramètres associés à la commande asant, par exemple asant build, asant create-war ou asant deploy
  • Le fichier ‘target-main.xml’ contient des fonctions sous-jacentes comme par exemple les commandes de connection au serveur d’application.
  • Enfin, le fichier ‘build.properties’ contient les cibles, le nom du service et les paramètres d’installation et de construction .
  • >>> Télécharger les fichiers<<<

Les Web Services [Introduction]

Monday, July 24th, 2006

Définition

Les web services sont des applications d’entreprise utilisant des langages basés sur XML et les protocoles du Web pour transporter et échanger des données (On pourra se reporter au site du W3C pour des définitions plus précises).

C’est le dernier né des middlewares après CORBA, Java RMI etc. qui ne proposaient au mieux qu’une adaptation pour pouvoir fonctionner avec Internet.

Quelques applications concrètes : Google utilise un web service dédié à la recherche d’URLs, Amazon utilise des services pour la recherche de produits, le paiement, etc.

L’architecture SOA

Cycle de vie d’un Web Service

Les Web Services sont basés sur l’architecture SOA, Service Oriented Architecture qui comprend trois composants logiciels principaux qui sont :

  • le fournisseur créé le web service puis il publie son interface et les les propriétés le décrivant (comme le nom du fournisseur, son adresse, la catégorie du service, le type d’entreprises auquel il s’adresse, etc.) dans un annuaire de web services.
  • l’annuaire des services rend disponible l’interface du service ainsi que d’autres informations aux demandeurs potentiels. L’annuaire mondial est le registre UDDI : il stocke l’information sur les fournisseurs de Web Services et leur services dans des bases de données relationnelles, offre la possibilité de publier et découvrir des informations sur les services disponibles et gère notamment les autorisations d’accès à ces Web Services.
  • le client interroge l’annuaire en indiquant les propriétés désirées du service par l’intermédiaire d’une requête puis il se lie ensuite au fournisseur pour invoquer le service.

Cycle de vie
Le cycle de vie se décompose en quatre étapes successives :

  1. le déploiement : le fournisseur de services déploie le web service sur un serveur et génère une interface du service au travers d’un fichier WSDL, [2]. Cette interface précise les opérations du service et la manière de les invoquer.
  2. la publication : le fournisseur expose son service en publiant une description du service auprès d’un annuaire : cette description comporte à la fois les propriétés statiques du service (nom du fournisseur, etc.) et un pointeur vers le fichier WSDL du service.
  3. la découverte : le client découvre le ou les services soit en précisant les caractéristiques fonctionnelles du service (recherche de type pages jaunes), soit en précisant ses propriétés statiques (recherche de type pages blanches).
  4. l’invocation : le client utilise les données du fichier WSDL [3] pour établir une connexion avec le fournisseur (serveur) et invoquer le service.

Les langages associés

  • eXtensible Markup Language : en février 1998, le W3C a officiellement adopté XML comme un format standard . XML permet de structurer et de rendre lisibles des données dans un simple document texte. Dans le domaine des web services, XML est la brique de base des autres standards WSDL et SOAP.
  • Web Service Description Language : lorsqu’on souhaite avoir des informations sur un service pour pouvoir l’utiliser par exemple, il est indispensable de faire référence au contrat WSDL. Ce fichier, comparable à IDL en CORBA , décrit l’interface du service et les opérations permettant d’interagir avec lui. En bref, WSDL est donc un langage de description de services.

    La structure d’un document WSDL est la suivante :

    
    <definition>
    <type> Definition des types </type>
    <message> Definition des messages </message>
    <interface> Definition des interfaces </interface>
    <binding> Definition des bindings </binding>
    <services> Definition du ou des endpoint(s) </services>
    <definition>
    
  • Simple Object Access Protocol définit un protocole à la fois simple et léger destiné à l’échange d’informations entre plusieurs composants logiciels dans un environnement décentralisé et distribué. SOAP est utilisé pour différentes opérations, de l’échange de données aux fonctionnalités distantes de type RPC. Il définit des messages au format XML qui peuvent être transmis en utilisant les protocoles standards d’Internet.

Exemple de requête et réponse SOAP : Requête SOAP pour invoquer l’opération ‘add’ prenant en paramètres les entiers 3 et 5 :


<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope  xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://endpoint.calservice/">
<soapenv:Body>
  <ns1:add>
    <arg0>3</arg0>
    <arg1>5</arg1>
  </ns1:add>
</soapenv:Body>
</soapenv:Envelope>

et sa réponse:


<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://endpoint.calservice/">
<soapenv:Body>
  <ns1:addResponse>
  <return>The result of the add operation is 8.</return>
</ns1:addResponse>
</soapenv:Body>
</soapenv:Envelope>

Test : Spip vs Joomla

Saturday, June 24th, 2006

Cet article est loin d’être exhaustif : je pense connaître SPIP à peu près aussi bien que le font de ma poche, par contre ça n’est pas le cas de Joomla qui est très complet et demande un certain temps avant de tester l’ensemble des possibilités.

BACKEND -GESTION

Quelle surprise de taille rien qu’en me connectant au backend de Joomla :

Interface de Joomla
  • L’interface Joomla est moderne et soignée ; cela surprend lorsqu’on est habitué à l’interface Web des “années 98″ de SPIP.
  • Joomla distingue clairement la partie “administration” du site (gérée uniquement par les administrateurs) et la partie “contributions” (interface beaucoup plus simple qui permet aux rédacteurs et autres de se connecter)
  • Joomla propose des statistiques plus détaillées (OS, Système, Navigateur, etc) un peu dans le même style que Awstats ; ce CMS affiche aussi la popularité de chaque page (exactement comme Spip)
  • Joomla propose une gestion des utilisateurs un peu plus développée que les simples rédacteurs/administrateurs de Spip. Pour preuve, le nombre de groupes d’utilisateurs possibles : Super Administrateur, Administrateur (équivalent à l’administrateur restreint), Manager, Éditeur, Auteur, Enregistré (ce statut est particulièrement utile lorsqu’on souhaite installer un forum avec inscription sans pour autant que l’utilisateur puisse consulter l’espace privé), etc.
  • Les “articles” ont plusieurs modes qui seraient à reprendre dans des futures version de Spip : Publié, mais en attente, Visible, Publié et visible, Expiré, Publié mais expiré, Non publié, …

LA GESTION DE SON TEMPLATE

  • La gestion du contenu de Joomla est particulièrement intéressante et très différente de celle de SPIP : dans Joomla, tout se fait pas ajout ou suppressions de composants “situés sur une étagère” : si par exemple, je trouve l’utilité d’un “sondage” sur mon site , je publie le composant “sondage” et hop, je n’ai plus qu’à préciser depuis le backend les points/champs sur lesquels portent le sondage. Dans SPIP, il aurait été nécessaire de se plonger les mains dans le cambouis et d’adapter un formulaire existant ou en créer un nouveau pour obtenir sa page de sondage.
  • Toujours dans Joomla, la gestion des menus et de leurs éléments associés s’effectue de la même manière (publication d’un menu existant, création d’un nouveau menu, etc. )
  • Depuis le backend, Joomla nous propose de spécifier les paramètres d’affichage et les balises méta d’une page (le schéma de métadonnées est “complet” ;-) )
  • Mais imaginons qu’un composant désiré ne soit pas sur l’étagère …. Bon alors j’entends déjà dire les utilisateurs de SPIP qu’au final c’est la même chose puisqu’on est obligé de coder … Oui, mais toujours sans devoir utiliser de logiciel FTP pour modifier son fichier. L’édition du squelette est possible depuis le backend (similaire à Plone en fait, sauf qu’on ne code pas en Python mais en PHP).
  • Enfin (mais cela existe peut être grâce à un plugin de Spip ?), Joomla propose de sélectionner son template selon son humeur du jour (toujours depuis le backend et sans FTP bien sûr !). En 3 clics de souris, le design du site est modifié.

LA GESTION DU CONTENU

  • Joomla fait la distinction entre les pages statiques du site dont le contenu ne sera très peu modifié (par exemple les mentions légales du site) et les pages dynamiques. Au final je pense que cela n’apporte pas grand chose par rapport à “l’article” de Spip.
  • Plus besoin de créer un article particulier qui sera associé à la page d’accueil, Joomla propose une gestion du contenu de la page d’accueil qui soit distincte du reste du site, et ça c’est bien pratique !
  • De la même façon, il est possible de publier une page de “Contact” (à la manière des “composants sur une étagère”) sans avoir à coder aucune ligne de code.
  • Joomla propose une “Corbeille” sur le même principe que celles proposées par les systèmes d’exploitation actuellement ; Spip utilise toujours ce que j’appelle l’archaïque “Corbeille binaire”
  • L’édition du contenu se fait par l’intermédiaire d’un éditeur WYSIWYG nommé “TinyMCE” sur le même mode que Word OpenOffice Writer… On est loin des trois boutons italique, gras, ou intertitre de Spip !

LES POINTS FAIBLES DE JOOMLA

  • Joomla est limité à une hiérarchie ayant deux niveaux : ca restreint les choses quand même !
  • Il est à noter que Joomla n’intègre pas de multilinguisme : “Spip is the Winner !” sur ce coup là !
  • L’aide de Joomla est en anglais (ouais je sais ça n’est pas vraiment un problème mais ca pourrait le devenir pour les allergiques à la langue de Shakespeare.)
  • Pour ceux qui sont chez l’hébergeur O*H, n’oubliez pas de modifier les droits de tous les fichiers/répertoires avec la commande chmod -R 755 * (Utilisateurs de Windows, vous pouvez aussi le faire en utilisant le logiciel Cygwin)

CONCLUSION

  • Vous l’aurez compris, Joomla propose bien plus de fonctionnalités que SPIP et ne nécessite (quasiment) aucune ligne de code ni de logiciel FTP pour modifier le design ou le contenu de son site.
  • Le revers de la médaille, c’est peut être une interface d’administration TROP complète qui n’est pas adaptée aux novices des CMS. Mieux vaut être passé par Spip avant de s’attaquer à Joomla !
  • Les (nombreux) templates Joomla disponibles illustrent toutes les fonctionnalités du CMS et sont par conséquent parfois trop complets !
  • En bref, je conseillerai probablement Joomla pour un site “important” (style portail ou autre) mais Spip reste plutôt bien adapté pour des sites qui ne nécessitent pas de fonctionnalités exceptionnelles.

Sacrilège !

Tuesday, April 11th, 2006

Ca fait quelques jours que les médias annonent ce sacrilège : Windows XP sur un Mac ! Au début j’ai vraiment pensé que c’était un troll - oui oui une bonne blague, vu que la 1ère fois que j’ai entendu celà, c’était un 1er Avril dans la chronique Nouvelles technologies de France Info - Visiblement ca n’en est pas un puisque Znet reprend l’information….

Windows sur Mac

Hum, après avoir vu la page, j’ai finalement quelques doutes…. Soit c’est vraiment un fake, soit l’équipe de ZDnet a décidé d’illustrer son mécontentement en publiant cette page … vide, histoire de montrer qu’avec Windows ca bug dans tous les cas :o)