MOD maj de la faq et du todo
authorGreg Burri <greg.burri@gmail.com>
Wed, 16 Apr 2008 08:20:27 +0000 (08:20 +0000)
committerGreg Burri <greg.burri@gmail.com>
Wed, 16 Apr 2008 08:20:27 +0000 (08:20 +0000)
README
doc/TODO.txt
pages/faq.html
tool/jsmin.rb [new file with mode: 0644]
tool/minjs.rb [deleted file]

diff --git a/README b/README
index 04e1564..a8ff48b 100644 (file)
--- a/README
+++ b/README
@@ -66,7 +66,7 @@ est d
    \r
  /tool\r
    Contient des outils diverses permettant l'aide au développement ou la mise en production.\r
- /tool/minjs.rb\r
+ /tool/jsmin.rb\r
    Permet la minification du javascript utilisé lors de la mise en production\r
    \r
    
\ No newline at end of file
index ddfe571..18ef337 100755 (executable)
@@ -54,6 +54,7 @@
 * Elaborer une stratégie de mise à jour de la structure de la BD quand celle ci est modifiée (voir euphorik_bd:vers_version())\r
 * Inscrire le nom de l'image dans les les liens vers des images (à la place de simplement [jpg] ou [gif])\r
 * Ajouter dans la FAQ et/ou dans la page d'enregistrement les conditions d'utilisation, genre "chacun est responsable de ses dires" https://linuxfr.org/bouchot/\r
+* Choisir une licence et la mettre un peu partout dans les sources\r
 
 [ok] Réaliser la structure suivante :
    * Table minichat : {id, auteur_id, date, pseudo, contenu, reponses_minichat_id} reponses_minichat_id peut être null
index 1122369..85797be 100755 (executable)
@@ -21,28 +21,32 @@ Il est déconseillé d'utiliser Microsoft Internet Explorer pour des raisons d'i
 <p>Oui, un repository subversion existe ici : svn://svn.euphorik.ch/euphorik</p>\r
 \r
 \r
-<h3>Je voudrais apporter une contribution à ce magnifique chat</h3>\r
-<p>Pas de problème il suffit de me décrire la modification et je vous donne un accès en écriture sur le repository.<br/>\r
+<h3>Je voudrais apporter une contribution à ce magnifique chat.</h3>\r
+<p>Pas de problème il suffit de me décrire la modification et je vous donne un accès en écriture sur le repository ou simplement d'envoyer un <a href="http://www.gnu.org/software/diffutils/diffutils.html">diff</a>.<br/>\r
 voici mon email/jabberID : {EMAIL}</p>\r
 \r
 \r
-<h3>Quels-sont les technologies utilisées ?</h3>\r
 <h4>Coté client</h4>\r
+<h3>Quels-sont les technologies utilisées ?</h3>\r
 <ul>\r
-<li>Structuration du document : XHTML1.1</li>\r
-<li>Présentation du document : CSS2</li>\r
-<li>Programmation de la partie dynamique : JavaScript</li>\r
-<li>Méthode de communication avec le serveur : AJAX/COMET</li>\r
-<li>Bibliothèques JavaScript : jQuery et Lightbox</li>\r
+   <li>Structuration du document : <a href="http://www.w3.org/TR/xhtml11/">XHTML 1.1</a></li>\r
+   <li>Présentation du document : <a href="http://www.w3.org/TR/CSS21/">CSS 2.1</a></li>\r
+   <li>Programmation de la partie dynamique : <a href="http://fr.wikipedia.org/wiki/JavaScript">JavaScript</a></li>\r
+   <li>Méthode de communication avec le serveur : <a href="http://en.wikipedia.org/wiki/Ajax_(programming)">AJAX</a>/<a href="http://en.wikipedia.org/wiki/Comet_(programming)">COMET</a></li>\r
+   <li>Bibliothèques JavaScript : <a href="http://jquery.com">jQuery</a> et <a href="http://www.lokeshdhakar.com/projects/lightbox2/">Lightbox</a></li>\r
 </ul>\r
 <h4>Coté serveur</h4>\r
 <ul>\r
-<li>Langage de programmation : <a href="http://www.erlang.org">Erlang</a></li>\r
-<li>Serveur Web : <a href="http://yaws.hyber.org">Yaws</a></li>\r
-<li>Base de données : <a href="http://erlang.org/doc/apps/mnesia/index.html">Mnesia</a></li>\r
+   <li>Langage de programmation : <a href="http://www.erlang.org">Erlang</a></li>\r
+   <li>Serveur Web : <a href="http://yaws.hyber.org">Yaws</a></li>\r
+   <li>Base de données : <a href="http://erlang.org/doc/apps/mnesia/index.html">Mnesia</a></li>\r
+   <li>OS : <a href="http://www.debian.org">Debian</a></li>\r
 </ul>\r
 <h4>Outils</h4>\r
 <ul>\r
-<li>Manipulation d'images : <a href="http://www.gimp.org">GIMP</a></li>\r
-<li>Editeur de texte : <a href="http://www.scintilla.org/SciTE.html">SciTE</a></li>\r
+   <li>Editeur de texte : <a href="http://www.scintilla.org/SciTE.html">SciTE</a></li>\r
+   <li>Navigateur web : <a href="http://fr.wikipedia.org/wiki/IceWeasel">IceWeasel</a></li>\r
+   <li>Manipulation d'images : <a href="http://www.gimp.org">GNU Image Manipulation Program</a></li>\r
+   <li>Debugger et profiler Javascript : <a href="https://addons.mozilla.org/en-US/firefox/addon/216">Venkman</a></li>\r
+   <li>Minificateur JavaScript : <a href="http://www.crockford.com/javascript/jsmin.rb">jsmin.rb</a></li>\r
 </ul>
\ No newline at end of file
diff --git a/tool/jsmin.rb b/tool/jsmin.rb
new file mode 100644 (file)
index 0000000..00fd804
--- /dev/null
@@ -0,0 +1,205 @@
+#!/usr/bin/ruby
+# jsmin.rb 2007-07-20
+# Author: Uladzislau Latynski
+# This work is a translation from C to Ruby of jsmin.c published by
+# Douglas Crockford.  Permission is hereby granted to use the Ruby
+# version under the same conditions as the jsmin.c on which it is
+# based.
+#
+# /* jsmin.c
+#    2003-04-21
+#
+# Copyright (c) 2002 Douglas Crockford  (www.crockford.com)
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy of
+# this software and associated documentation files (the "Software"), to deal in
+# the Software without restriction, including without limitation the rights to
+# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+# of the Software, and to permit persons to whom the Software is furnished to do
+# so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in all
+# copies or substantial portions of the Software.
+#
+# The Software shall be used for Good, not Evil.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+# SOFTWARE.
+
+EOF = -1
+$theA = ""
+$theB = ""
+
+# isAlphanum -- return true if the character is a letter, digit, underscore,
+# dollar sign, or non-ASCII character
+def isAlphanum(c)
+   return false if !c || c == EOF
+   return ((c >= 'a' && c <= 'z') || (c >= '0' && c <= '9') ||
+           (c >= 'A' && c <= 'Z') || c == '_' || c == '$' ||
+           c == '\\' || c[0] > 126)
+end
+
+# get -- return the next character from stdin. Watch out for lookahead. If
+# the character is a control character, translate it to a space or linefeed.
+def get()
+  c = $stdin.getc
+  return EOF if(!c)
+  c = c.chr
+  return c if (c >= " " || c == "\n" || c.unpack("c") == EOF)
+  return "\n" if (c == "\r")
+  return " "
+end
+
+# Get the next character without getting it.
+def peek()
+    lookaheadChar = $stdin.getc
+    $stdin.ungetc(lookaheadChar)
+    return lookaheadChar.chr
+end
+
+# mynext -- get the next character, excluding comments.
+# peek() is used to see if a '/' is followed by a '/' or '*'.
+def mynext()
+    c = get
+    if (c == "/")
+        if(peek == "/")
+            while(true)
+                c = get
+                if (c <= "\n")
+                return c
+                end
+            end
+        end
+        if(peek == "*")
+            get
+            while(true)
+                case get
+                when "*"
+                   if (peek == "/")
+                        get
+                        return " "
+                    end
+                when EOF
+                    raise "Unterminated comment"
+                end
+            end
+        end
+    end
+    return c
+end
+
+
+# action -- do something! What you do is determined by the argument: 1
+# Output A. Copy B to A. Get the next B. 2 Copy B to A. Get the next B.
+# (Delete A). 3 Get the next B. (Delete B). action treats a string as a
+# single character. Wow! action recognizes a regular expression if it is
+# preceded by ( or , or =.
+def action(a)
+    if(a==1)
+        $stdout.write $theA
+    end
+    if(a==1 || a==2)
+        $theA = $theB
+        if ($theA == "\'" || $theA == "\"")
+            while (true)
+                $stdout.write $theA
+                $theA = get
+                break if ($theA == $theB)
+                raise "Unterminated string literal" if ($theA <= "\n")
+                if ($theA == "\\")
+                    $stdout.write $theA
+                    $theA = get
+                end
+            end
+        end
+    end
+    if(a==1 || a==2 || a==3)
+        $theB = mynext
+        if ($theB == "/" && ($theA == "(" || $theA == "," || $theA == "=" ||
+                             $theA == ":" || $theA == "[" || $theA == "!" ||
+                             $theA == "&" || $theA == "|" || $theA == "?" ||
+                             $theA == "{" || $theA == "}" || $theA == ";" ||
+                             $theA == "\n"))
+            $stdout.write $theA
+            $stdout.write $theB
+            while (true)
+                $theA = get
+                if ($theA == "/")
+                    break
+                elsif ($theA == "\\")
+                    $stdout.write $theA
+                    $theA = get
+                elsif ($theA <= "\n")
+                    raise "Unterminated RegExp Literal"
+                end
+                $stdout.write $theA
+            end
+            $theB = mynext
+        end
+    end
+end
+
+# jsmin -- Copy the input to the output, deleting the characters which are
+# insignificant to JavaScript. Comments will be removed. Tabs will be
+# replaced with spaces. Carriage returns will be replaced with linefeeds.
+# Most spaces and linefeeds will be removed.
+def jsmin
+    $theA = "\n"
+    action(3)
+    while ($theA != EOF)
+        case $theA
+        when " "
+            if (isAlphanum($theB))
+                action(1)
+            else
+                action(2)
+            end
+        when "\n"
+            case ($theB)
+            when "{","[","(","+","-"
+                action(1)
+            when " "
+                action(3)
+            else
+                if (isAlphanum($theB))
+                    action(1)
+                else
+                    action(2)
+                end
+            end
+        else
+            case ($theB)
+            when " "
+                if (isAlphanum($theA))
+                    action(1)
+                else
+                    action(3)
+                end
+            when "\n"
+                case ($theA)
+                when "}","]",")","+","-","\"","\\", "'", '"'
+                    action(1)
+                else
+                    if (isAlphanum($theA))
+                        action(1)
+                    else
+                        action(3)
+                    end
+                end
+            else
+                action(1)
+            end
+        end
+    end
+end
+
+ARGV.each do |anArg|
+    $stdout.write "// #{anArg}\n"
+end
+
+jsmin
\ No newline at end of file
diff --git a/tool/minjs.rb b/tool/minjs.rb
deleted file mode 100644 (file)
index 00fd804..0000000
+++ /dev/null
@@ -1,205 +0,0 @@
-#!/usr/bin/ruby
-# jsmin.rb 2007-07-20
-# Author: Uladzislau Latynski
-# This work is a translation from C to Ruby of jsmin.c published by
-# Douglas Crockford.  Permission is hereby granted to use the Ruby
-# version under the same conditions as the jsmin.c on which it is
-# based.
-#
-# /* jsmin.c
-#    2003-04-21
-#
-# Copyright (c) 2002 Douglas Crockford  (www.crockford.com)
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy of
-# this software and associated documentation files (the "Software"), to deal in
-# the Software without restriction, including without limitation the rights to
-# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-# of the Software, and to permit persons to whom the Software is furnished to do
-# so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in all
-# copies or substantial portions of the Software.
-#
-# The Software shall be used for Good, not Evil.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-# SOFTWARE.
-
-EOF = -1
-$theA = ""
-$theB = ""
-
-# isAlphanum -- return true if the character is a letter, digit, underscore,
-# dollar sign, or non-ASCII character
-def isAlphanum(c)
-   return false if !c || c == EOF
-   return ((c >= 'a' && c <= 'z') || (c >= '0' && c <= '9') ||
-           (c >= 'A' && c <= 'Z') || c == '_' || c == '$' ||
-           c == '\\' || c[0] > 126)
-end
-
-# get -- return the next character from stdin. Watch out for lookahead. If
-# the character is a control character, translate it to a space or linefeed.
-def get()
-  c = $stdin.getc
-  return EOF if(!c)
-  c = c.chr
-  return c if (c >= " " || c == "\n" || c.unpack("c") == EOF)
-  return "\n" if (c == "\r")
-  return " "
-end
-
-# Get the next character without getting it.
-def peek()
-    lookaheadChar = $stdin.getc
-    $stdin.ungetc(lookaheadChar)
-    return lookaheadChar.chr
-end
-
-# mynext -- get the next character, excluding comments.
-# peek() is used to see if a '/' is followed by a '/' or '*'.
-def mynext()
-    c = get
-    if (c == "/")
-        if(peek == "/")
-            while(true)
-                c = get
-                if (c <= "\n")
-                return c
-                end
-            end
-        end
-        if(peek == "*")
-            get
-            while(true)
-                case get
-                when "*"
-                   if (peek == "/")
-                        get
-                        return " "
-                    end
-                when EOF
-                    raise "Unterminated comment"
-                end
-            end
-        end
-    end
-    return c
-end
-
-
-# action -- do something! What you do is determined by the argument: 1
-# Output A. Copy B to A. Get the next B. 2 Copy B to A. Get the next B.
-# (Delete A). 3 Get the next B. (Delete B). action treats a string as a
-# single character. Wow! action recognizes a regular expression if it is
-# preceded by ( or , or =.
-def action(a)
-    if(a==1)
-        $stdout.write $theA
-    end
-    if(a==1 || a==2)
-        $theA = $theB
-        if ($theA == "\'" || $theA == "\"")
-            while (true)
-                $stdout.write $theA
-                $theA = get
-                break if ($theA == $theB)
-                raise "Unterminated string literal" if ($theA <= "\n")
-                if ($theA == "\\")
-                    $stdout.write $theA
-                    $theA = get
-                end
-            end
-        end
-    end
-    if(a==1 || a==2 || a==3)
-        $theB = mynext
-        if ($theB == "/" && ($theA == "(" || $theA == "," || $theA == "=" ||
-                             $theA == ":" || $theA == "[" || $theA == "!" ||
-                             $theA == "&" || $theA == "|" || $theA == "?" ||
-                             $theA == "{" || $theA == "}" || $theA == ";" ||
-                             $theA == "\n"))
-            $stdout.write $theA
-            $stdout.write $theB
-            while (true)
-                $theA = get
-                if ($theA == "/")
-                    break
-                elsif ($theA == "\\")
-                    $stdout.write $theA
-                    $theA = get
-                elsif ($theA <= "\n")
-                    raise "Unterminated RegExp Literal"
-                end
-                $stdout.write $theA
-            end
-            $theB = mynext
-        end
-    end
-end
-
-# jsmin -- Copy the input to the output, deleting the characters which are
-# insignificant to JavaScript. Comments will be removed. Tabs will be
-# replaced with spaces. Carriage returns will be replaced with linefeeds.
-# Most spaces and linefeeds will be removed.
-def jsmin
-    $theA = "\n"
-    action(3)
-    while ($theA != EOF)
-        case $theA
-        when " "
-            if (isAlphanum($theB))
-                action(1)
-            else
-                action(2)
-            end
-        when "\n"
-            case ($theB)
-            when "{","[","(","+","-"
-                action(1)
-            when " "
-                action(3)
-            else
-                if (isAlphanum($theB))
-                    action(1)
-                else
-                    action(2)
-                end
-            end
-        else
-            case ($theB)
-            when " "
-                if (isAlphanum($theA))
-                    action(1)
-                else
-                    action(3)
-                end
-            when "\n"
-                case ($theA)
-                when "}","]",")","+","-","\"","\\", "'", '"'
-                    action(1)
-                else
-                    if (isAlphanum($theA))
-                        action(1)
-                    else
-                        action(3)
-                    end
-                end
-            else
-                action(1)
-            end
-        end
-    end
-end
-
-ARGV.each do |anArg|
-    $stdout.write "// #{anArg}\n"
-end
-
-jsmin
\ No newline at end of file