MOD mineurs
[euphorik.git] / doc / technique.txt
index 0f63fc0..88ebe66 100644 (file)
@@ -1,58 +1,28 @@
-Euphorik - doc technique
-
-
-== euphorik.js ==
-Sequences :
-   * Chargement d'une page\r
-   \r
-=== Client ===\r
-Etats :\r
-   Un client peut avoir trois états\r
-      * Non Identifie -> Enregistre, Identifie\r
-         Etat initial.\r
-      * Identifie -> Enregistre, Non Identifie\r
-         Nécessaire (et automatique) pour pouvoir poster des messages.\r
-      * Enregistre -> Non Identifie\r
-         Nécessaire pour pouvoir poster des trolls et gérer un profile.
-
-== pageMinichat.js ==
-=== Classes ===
-   * Messages
-   * Conversation
-   * Message
-   
-   
-=== Séquences ===
-   * Attente de nouveaux messages
-      a) Messages.rafraichirMessages
-      b) pour chaque conversation
-         i) Messages.ajouterMessages(lesMessages, numConv)
-         ii) Conversation.flush
-         
-   * Ajout d'un message
-      PageMinichat.envoyerMessage(pseudo, message) : requête AJAX
+== Euphorik - doc technique ==\r
+Cette documentation à pour but de réunir certaines explications concernant des concepts, des algorithmes ou des détails techniques.
+\r
+=== Processus de release ===\r
+\r
+Exemple pour la release 1.4.0\r
+\r
+a) Création de la branche 1.4\r
+b) Mise à jour de la version (fichier VERSION) : "1.4.0"\r
+c) Mise en préproduction (script "/tools/mise_en_prod.rb")\r
+d) Vérification de la version en préproduction\r
+c) Mise en production\r
+d) création d'un TAG 1.4.0\r
+e) Retour dans le Trunk, mise à jour de la version (VERSION) : "1.5.0a"\r
+\r
+
+=== Compilation avec "+native" ===\r
+Il est possible de compiler le code Erlang avec le flag "+native", cela rend l'execution plus rapide de l'ordre d'un facteur\r
+trois sur des calculs bruts.\r
+
+Mesure du temps d'execution pour :
+   * euphorik_test:start(20, 20) : 20 personnes postants 20 messages
+      sans +native : 3:39
+      avec +native : 3:41
       
-   * Extraction d'une conversation
-      a) Conversation.click
-      b) Client.ajouterConversation(idMess)
-      c) Client.flush(false) // mise à jour du profile de manière synchrone
-      d) Messages.rafraichirMessages(true)
-   
-   * Suppression d'une conversation
-      
-=== Exemple de conversation ===
-Utilisé lors des tests
-
-m1
-m2 -> m1
-m3 -> m1
-m4 -> m2
-m5 -> m3
-m6 -> m3
-m7
-m8 -> m7
-m9 -> m7
-
-
-
-
+Conclusion : 
+   l'ajout de +native n'a pas de répercussions significatives sur les performances, cela provient
+   surement du fait que le gros du travail est fait du coté de la base de donnée Mnesia.