Étape 1 : l'appel du CSS  dans la balise <head>:


    <style type="text/css">
        /**
         * You don't need this css part, scroll down ;)
         */
        .halfsize{     width:48%;     margin-right:5px;     float:left; }
        .halfsize2{     width:38%;     margin-right:5px;     float:left; }
        form fieldset{    border:none;    border-top:1px solid #888;    margin:1em 0.5em 1em 0;    padding:1em 0;}
        form legend{    font-weight:bold;    font-size:1.2em;    color:#888;    margin:auto;    margin-left:0;    padding:0 .25em 0 0;}
        label.error{color:#ff0000;}
        label span{    display:block;    color:#888;    font-size:0.85em;    margin-bottom:0.5em;}
        form div.label,form div.note,form div.footer{ clear:both;    margin:1em 0 0 0;    padding:0.1em 0.3em;}
        form div.note{    margin-left:.5em}
       
        /**
         * Thats the basic css needed for the upload bars
         */
        .photoupload-queue{    list-style:  none;}
        .photoupload-queue li{    background:  url(js/upload/photo_upload.png) no-repeat 0 5px;    padding:  5px 0 5px 22px;}
        .photoupload-queue .queue-file{    font-weight:     bold;}
        .photoupload-queue .queue-size{    color: #aaa;    margin-left:     1em;    font-size:  0.9em;}
        .photoupload-queue .queue-loader{    position:  relative;    margin: 3px 15px;    font-size:  0.9em;    background-color: #ddd;    color: #fff;    border: 1px inset #ddd;}
        .photoupload-queue .queue-subloader{    text-align:  center;    position:  absolute;    background-color: #81B466;    height: 100%;    width: 0%;    left: 0;    top: 0;}
        .photoupload-queue .input-delete{    width: 16px;    height: 16px;    background:  url(js/upload/delete.png) no-repeat 0 0;    text-decoration: none;    border: none;    float: right;          
        </style>

Étape 2 :

Inclure tous les fichiers javascript nécessaires dans la balise <head>

        <script type="text/javascript" src="js/upload/build.js"></script>
        <script type="text/javascript" src="js/upload/Swiff.Base.js"></script>
        <script type="text/javascript" src="js/upload/Swiff.Uploader.js"></script>
        <script type="text/javascript" src="js/upload/FancyUpload.js"></script>

Étape 3 :

Initialiser le script selon vos critères toujours dans la balise <head>:

<script type="text/javascript" language="javascript">
        //<![CDATA[
        window.addEvent('load', function(){
            var input = $('photoupload-filedata-1');
            var uplooad = new FancyUpload(input, { swf: 'js/upload/Swiff.Uploader.swf',limitFiles:'6', queueList: 'photoupload-queue',container: $E('h1') });
            $('photoupload-status').adopt(new Element('a', { href: 'javascript:void(null);', events: { click: uplooad.clearList.bind(uplooad, [false]) } }).setHTML('Effacer les fichiers terminés'));
        });
        //]]>
        </script>

Notez que le limitFiles:'6' limite le nombre de fichiers à uploader et peut être tout simplement supprimé pour rendre l'upload illimité.



Et dernière étape, le code HTML du formulaire qui (cela va sans dire) se place dans le <body>


        <form action="js/upload.php" method="post" id="photoupload" enctype="multipart/form-data">
        <div class="halfsize"><fieldset>
            <legend>Upload</legend>
        <div class="label emph">
              <label for="photoupload-filedata-1">Upload Photos:<span>Sélectionnez vos photos puis cliquez sur UPLOAD.</span></label>

            <input type="file" name="Filedata" id="photoupload-filedata-1" />
        </div>
        </fieldset></div>
            <div class="halfsize2">
                <fieldset>
                    <legend>File d'attente</legend>
                    <div class="note" id="photoupload-status">Vérifiez vos photos ...<br /></div>
                    <ul class="photoupload-queue" id="photoupload-queue"><li style="display: none">&nbsp;</li></ul>

                </fieldset>
            </div>
            <div class="clear"></div>
            <div class="footer"><input type="submit" class="submit" id="profile-submit" value="UPLOAD"/>
            </div>
      </form>

Pour les plus sceptiques ou les plus fainéants ...

Le lien vers la demo

Le .rar contenant tout le script

Pour ceux qui souhaitent suivre l'évolution du projet ça se passe chez l'auteur (en anglais)