X-Git-Url: http://git.euphorik.ch/?p=euphorik.git;a=blobdiff_plain;f=doc%2Ftechnique.txt;h=88ebe6680759f49c8a004d5394c792e5313b8470;hp=458c81f854cf56e25fc1b56b07e922007eec3ad4;hb=18e8fadf5aad8d7b2e7b750210dc949951b4a124;hpb=2424ba818818a6bd0b547fa540742f9b54db990b diff --git a/doc/technique.txt b/doc/technique.txt index 458c81f..88ebe66 100644 --- a/doc/technique.txt +++ b/doc/technique.txt @@ -1,58 +1,28 @@ -Euphorik - doc technique +== Euphorik - doc technique == +Cette documentation à pour but de réunir certaines explications concernant des concepts, des algorithmes ou des détails techniques. + +=== Processus de release === + +Exemple pour la release 1.4.0 + +a) Création de la branche 1.4 +b) Mise à jour de la version (fichier VERSION) : "1.4.0" +c) Mise en préproduction (script "/tools/mise_en_prod.rb") +d) Vérification de la version en préproduction +c) Mise en production +d) création d'un TAG 1.4.0 +e) Retour dans le Trunk, mise à jour de la version (VERSION) : "1.5.0a" + +=== Compilation avec "+native" === +Il est possible de compiler le code Erlang avec le flag "+native", cela rend l'execution plus rapide de l'ordre d'un facteur +trois sur des calculs bruts. -== euphorik.js == -Sequences : - * Chargement d'une page - -=== Client === -== pageMinichat.js == -=== Classes === - * Messages - * Conversation - * Message - -=== Compilation avec +native === Mesure du temps d'execution pour : * euphorik_test:start(20, 20) : 20 personnes postants 20 messages sans +native : 3:39 - avec +native : 3.41 + avec +native : 3:41 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. - -=== 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 - - * 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 - - - -