Articles

Les Archives du Web

icon_archive_med.gif Pour les gens comme moi qui ont connu l'internet pendant les années 90 - avant l'apparition des grandes enseignes, du web 2.0, du xhtml et autres utf8 de merde - vous avez peut-être déjà eu des relents de nostalgie et vous vous êtes lancés dans la recherche des anciennes reliques du web qui vous faisaient rêver? Et bien moi oui, bandes de langoustes, il m'est très souvent arrivé de rechercher des sites qui m'avaient fait rire 10 ans plus tôt, ou les premiers jeux vidéo VGA de mon enfance.

Alors alors, dans ce délire, j'ai le plaisir de vous présenter :


Monsieur, modélise moi une religion steuplai

Des fois je trouve que la religion c'est un peu comme une interface, et que les grandes religions monothéistes c'est un peu comme des implémentations. Chaque fournisseur de contenu (Eglises) propose son propre framework (Religion) avec ses librairies (Rites, pratiques, ...) le plus généralement sous licence libre.

Bon, pour commencer, je vais préciser que je vais principalement parler des trois grandes religions monothéistes même si je ferai de petites excursions dans les autres croyances. Voici grosso modo la hiérarchie des classes :

classes 1.jpg

Afin d'éviter les tensions dans l'équipe d'architecte divin, il a été décidé de ne pas mettre d'héritage entre les trois religions. De plus, cela ne fait pas parti des exigences du client. Bon, maintenant il nous faudrait une ébauche d'interface Religion :

   public interface Religion {
       boolean isMonotheistes();
       String getGodName();
       LivreSaint getLivreSaint();
       Prophete getLastProphete();
   }

C'est un peu simple mais c'est pas mal. On va donc avoir besoin de nouvelles classes :

  • La classe LivreSaint qui représente un texte de référence pour la religion (on ne fait pas de list, on se contente du texte fondateur)
  • La classe Prophete qui représente la personnalité la plus importante dans la religion, celle qui fait office de guide (c'est une vue très simplifiée vue que je ne suis pas certain de saisir complètement le sens de ce mot ; néanmoins il m'est très pratique ici.)


Pour la suite, on va avoir besoin de quelques objets :

   Religion judaisme = new ReligionImpl();
   Religion catho = new ReligionImpl();
   Religion islam = new ReligionImpl();

Bon, et bien maintenant on peut commencer à créer les composants de notre application SuperReligion v3.0 :

Les livres saints

   private class Torah implements LivreSaint { }
   private class Bible implements LivreSaint { }
   private class Coran implements LivreSaint { }
   judaisme.setLivreSaint(new Torah());
   catho.setLivreSaint(new Bible());
   islam.setLivreSaint(new Coran());

Les Prophètes

Pour les chrétiens :

   Prophete p = new Prophete();
   p.setName("Jésus de Nazareth");
   p.setMessie(true);
   p.setFilsDeDieu(true);

Pour les musulmans, on garde la même instance mais on injecte quelques valeurs :

   p.setName("Îsâ");
   p.setMessie(true);
   p.setFilsDeDieu(false);

Quand au juifs, si je me souviens bien ils n'ont toujours pas eu signe de leur prophète :

   p = null;

Nous verrons par la suite comment les NullPointerException ont influencés la religion Judaïque.

Bah voila...

On va pas aller plus loin on s'en fou, on l'a modélisé notre religion. Pour finir, notez que les religions sont le plus souvent public mais la documentation est souvent obscure et énigmatique. Les applications de type religions disposent souvent d'une mécanique de persistance de données. De plus, il faut savoir que le Garbage Collector n'est pas compatible avec les religions, ce qui peut provoquer de mémoire des fuites de connerie.

   for (People p : World.getInstance().getAllPeople()) {
       try {
           p.setReligion(getCurrentReligion());
       } catch (AllreadyEndoctrinedException ex) {
       } catch (UnableToEndoctrineException ex) {
       } catch (HeavenSecurityException ex) {
       }
   }

Petites expériences de chimie

chimie2.jpg Je suis tombé aujourd'hui sur un site ignoble (le design date des années 80 cela ne fait aucun doute) mais qui propose entre autre des petites expériences de chimie très très amusantes. A défaut de pouvoir donner le nom du site ou de son auteur, voici l'url : http://pagesperso-orange.fr/domstory/

Bon et je ne pouvais pas faire un post sur les expériences de chimie sans vous présenter le wiki de scienceamusante.net : cliquez ici. C'est un site très intéressant pour l'amateur de chimie un peu sensationnelle ; je me permet de recopier le préambule :

  Dans le but de faire découvrir les aspects amusants et d'expliquer quelques notions de base
  de la chimie et de la physique aux écoliers, collégiens, lycéens et aussi au grand public,
  nous présentons un large répertoire d'expériences de chimie et de physique.
  Ces manipulations servent de base à la compréhension de certains phénomènes que nous
  rencontrons dans la vie de tous les jours. Les notions de base sont abordées et mises en
  rapport avec des applications de la vie quotidienne. Les observations sont décrites et les
  explications sont les plus simples possibles. Pendant les conférences-expériences, le
  niveau de vulgarisation est adapté à l'auditoire présent dans la salle.