From cc9ddea6aebbf97400ee0470e906b55e2211bb7d Mon Sep 17 00:00:00 2001
From: Ivan Ilin <ilin@scand.com>
Date: Tue, 17 Apr 2012 17:33:09 +0300
Subject: [PATCH 01/31] Floating background and doubleclick selection fixed

---
 src/board/UBBoardView.cpp             |  7 +++----
 src/domain/UBGraphicsItemDelegate.cpp | 25 +++++++++++++++++--------
 src/domain/UBGraphicsItemDelegate.h   |  4 ++++
 src/domain/UBGraphicsPixmapItem.cpp   |  5 +++++
 src/domain/UBGraphicsPixmapItem.h     |  3 ---
 src/domain/UBGraphicsVideoItem.cpp    |  5 -----
 6 files changed, 29 insertions(+), 20 deletions(-)

diff --git a/src/board/UBBoardView.cpp b/src/board/UBBoardView.cpp
index cac36774..282c6f7d 100644
--- a/src/board/UBBoardView.cpp
+++ b/src/board/UBBoardView.cpp
@@ -421,9 +421,7 @@ UBBoardView::mousePressEvent (QMouseEvent *event)
         }
       else if (currentTool == UBStylusTool::Selector)
         {
-            QSet<QGraphicsItem*> existingTools = scene()->tools();
-
-            movingItem = scene()->itemAt(this->mapToScene(event->posF().toPoint()));
+          movingItem = scene()->itemAt(this->mapToScene(event->posF().toPoint()));
 
             if (!movingItem 
                 || movingItem->isSelected()
@@ -432,7 +430,8 @@ UBBoardView::mousePressEvent (QMouseEvent *event)
                 || movingItem->type() == UBGraphicsCompass::Type
                 || movingItem->type() == UBGraphicsPDFItem::Type
                 || movingItem->type() == UBGraphicsPolygonItem::Type
-                || movingItem->type() == UBGraphicsCache::Type)
+                || movingItem->type() == UBGraphicsCache::Type
+                || scene()->isBackgroundObject(movingItem))
                 {
                     movingItem = NULL;
                     QGraphicsView::mousePressEvent (event);
diff --git a/src/domain/UBGraphicsItemDelegate.cpp b/src/domain/UBGraphicsItemDelegate.cpp
index 86b93b68..de710f82 100644
--- a/src/domain/UBGraphicsItemDelegate.cpp
+++ b/src/domain/UBGraphicsItemDelegate.cpp
@@ -147,12 +147,7 @@ QVariant UBGraphicsItemDelegate::itemChange(QGraphicsItem::GraphicsItemChange ch
 
 bool UBGraphicsItemDelegate::mousePressEvent(QGraphicsSceneMouseEvent *event)
 {
-    if(NULL != mMimeData)
-    {
-        QDrag* mDrag = new QDrag(event->widget());
-        mDrag->setMimeData(mMimeData);
-        mDrag->start();
-    }
+    mDragStartPosition = event->pos();
 
     startUndoStep();
 
@@ -186,13 +181,27 @@ void UBGraphicsItemDelegate::setMimeData(QMimeData *mimeData)
 
 bool UBGraphicsItemDelegate::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
 {
+    if((NULL != mMimeData) && ((event->pos() - mDragStartPosition).manhattanLength() < QApplication::startDragDistance()))
+        {
+            QDrag* mDrag = new QDrag(event->widget());
+            mDrag->setMimeData(mMimeData);
+            if (!mDragPixmap.isNull()) {
+                mDrag->setPixmap(mDragPixmap);
+                mDrag->setHotSpot(mDragPixmap.rect().center());
+            }
+            mDrag->exec();
+            mDragPixmap = QPixmap();
+
+            return true;
+        }
+
     if(isLocked())
     {
         event->accept();
         return true;
     }
-    else
-        return false;
+
+    return true;
 }
 
 bool UBGraphicsItemDelegate::weelEvent(QGraphicsSceneWheelEvent *event)
diff --git a/src/domain/UBGraphicsItemDelegate.h b/src/domain/UBGraphicsItemDelegate.h
index 9986db6b..c9cbba54 100644
--- a/src/domain/UBGraphicsItemDelegate.h
+++ b/src/domain/UBGraphicsItemDelegate.h
@@ -129,6 +129,7 @@ class UBGraphicsItemDelegate : public QObject
 
         QMimeData* mimeData(){ return mMimeData; }
         void setMimeData(QMimeData* mimeData);
+        void setDragPixmap(const QPixmap &pix) {mDragPixmap = pix;}
 
     signals:
         void showOnDisplayChanged(bool shown);
@@ -174,12 +175,15 @@ private:
         QPointF mOffset;
         QTransform mPreviousTransform;
         QPointF mPreviousPosition;
+        QPointF mDragStartPosition;
         qreal mPreviousZValue;
         QSizeF mPreviousSize;
         bool mCanRotate;
         bool mCanDuplicate;
         bool mRespectRatio;
         QMimeData* mMimeData;
+        QPixmap mDragPixmap;
+
 };
 
 
diff --git a/src/domain/UBGraphicsPixmapItem.cpp b/src/domain/UBGraphicsPixmapItem.cpp
index ceb4fd28..29605a00 100644
--- a/src/domain/UBGraphicsPixmapItem.cpp
+++ b/src/domain/UBGraphicsPixmapItem.cpp
@@ -53,6 +53,11 @@ void UBGraphicsPixmapItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
     QMimeData* pMime = new QMimeData();
     pMime->setImageData(pixmap().toImage());
     mDelegate->setMimeData(pMime);
+    int k = pixmap().width() / 100;
+    QSize newSize(pixmap().width() / k, pixmap().height() / k);
+
+    mDelegate->setDragPixmap(pixmap().scaled(newSize, Qt::IgnoreAspectRatio, Qt::SmoothTransformation));
+
     if (mDelegate->mousePressEvent(event))
     {
         //NOOP
diff --git a/src/domain/UBGraphicsPixmapItem.h b/src/domain/UBGraphicsPixmapItem.h
index 56608ba1..93b26efc 100644
--- a/src/domain/UBGraphicsPixmapItem.h
+++ b/src/domain/UBGraphicsPixmapItem.h
@@ -62,9 +62,6 @@ protected:
 
         virtual QVariant itemChange(GraphicsItemChange change, const QVariant &value);
 
-
-//        UBGraphicsItemDelegate* mDelegate;
-
 };
 
 #endif /* UBGRAPHICSPIXMAPITEM_H_ */
diff --git a/src/domain/UBGraphicsVideoItem.cpp b/src/domain/UBGraphicsVideoItem.cpp
index c1e57e4d..a7d12d35 100644
--- a/src/domain/UBGraphicsVideoItem.cpp
+++ b/src/domain/UBGraphicsVideoItem.cpp
@@ -109,11 +109,6 @@ void UBGraphicsVideoItem::showOnDisplayChanged(bool shown)
 
 void UBGraphicsVideoItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
 {
-    QDrag* mDrag = new QDrag(event->widget());
-    QMimeData* pMime = new QMimeData();
-    mDrag->setMimeData(pMime);
-    mDrag->start();
-
     mShouldMove = (event->buttons() & Qt::LeftButton);
     mMousePressPos = event->scenePos();
     mMouseMovePos = mMousePressPos;

From 833bead797aa4ab55176ca89ffebf17f4a298260 Mon Sep 17 00:00:00 2001
From: Ivan Ilin <ilin@scand.com>
Date: Wed, 25 Apr 2012 12:39:45 +0300
Subject: [PATCH 02/31] Dnd pictures is available again

---
 src/board/UBBoardController.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/board/UBBoardController.cpp b/src/board/UBBoardController.cpp
index b6509eb5..b32c3a6c 100644
--- a/src/board/UBBoardController.cpp
+++ b/src/board/UBBoardController.cpp
@@ -1808,7 +1808,7 @@ UBGraphicsWidgetItem *UBBoardController::addW3cWidget(const QUrl &pUrl, const QP
 
     newUrl = QUrl::fromLocalFile(UBPersistenceManager::persistenceManager()->addGraphicsWidgteToDocument(mActiveDocument, pUrl.toLocalFile(), uuid));
 
-    w3cWidgetItem = mActiveScene->addW3CWidget(pUrl, pos);
+    w3cWidgetItem = mActiveScene->addW3CWidget(newUrl, pos);
 
     if (w3cWidgetItem) {
         w3cWidgetItem->setUuid(uuid);

From 0e7ba26796d3f0c83bb042b7ad2aa28d95bc82d4 Mon Sep 17 00:00:00 2001
From: Claudio Valerio <claudio@open-sankore.org>
Date: Wed, 25 Apr 2012 14:25:50 +0200
Subject: [PATCH 03/31] fixed relativePath

---
 .../library/interactivities/associer_images.wgt/js/script.js  | 1 -
 .../library/interactivities/associer_sounds.wgt/js/script.js  | 3 +--
 .../interactivities/categoriser_images.wgt/js/script.js       | 3 +--
 resources/library/interactivities/etudier.wgt/js/script.js    | 3 +--
 .../interactivities/ordonner_des_images.wgt/js/script.js      | 1 -
 .../interactivities/ordonner_des_letters.wgt/js/script.js     | 3 +--
 .../library/interactivities/selectionner.wgt/js/script.js     | 1 -
 src/api/UBWidgetUniboardAPI.cpp                               | 4 ++--
 8 files changed, 6 insertions(+), 13 deletions(-)

diff --git a/resources/library/interactivities/associer_images.wgt/js/script.js b/resources/library/interactivities/associer_images.wgt/js/script.js
index 633d943f..339cc3e3 100644
--- a/resources/library/interactivities/associer_images.wgt/js/script.js
+++ b/resources/library/interactivities/associer_images.wgt/js/script.js
@@ -632,7 +632,6 @@ function onDropTarget(obj, event) {
         }
         textData = stringToXML(textData);
         var tmp = textData.getElementsByTagName("path")[0].firstChild.textContent;
-        tmp = tmp.substr(1, tmp.length);
         var tmp_img = $("<img/>").attr("src", tmp);
         $(obj).append(tmp_img);
         setTimeout(function(){
diff --git a/resources/library/interactivities/associer_sounds.wgt/js/script.js b/resources/library/interactivities/associer_sounds.wgt/js/script.js
index 8b9716af..d81a293d 100644
--- a/resources/library/interactivities/associer_sounds.wgt/js/script.js
+++ b/resources/library/interactivities/associer_sounds.wgt/js/script.js
@@ -717,7 +717,6 @@ function onDropTarget(obj, event) {
         }
         textData = stringToXML(textData);
         var tmp = textData.getElementsByTagName("path")[0].firstChild.textContent;
-        tmp = tmp.substr(1, tmp.length);
         var tmp_img = $("<img/>").attr("src", tmp);
         $(obj).append(tmp_img);
         setTimeout(function(){
@@ -782,4 +781,4 @@ if (window.widget) {
             $(this).parent().find(":first-child").removeClass("stop").addClass("play");
         });
     }
-}
\ No newline at end of file
+}
diff --git a/resources/library/interactivities/categoriser_images.wgt/js/script.js b/resources/library/interactivities/categoriser_images.wgt/js/script.js
index 79e1647e..8ec8462a 100644
--- a/resources/library/interactivities/categoriser_images.wgt/js/script.js
+++ b/resources/library/interactivities/categoriser_images.wgt/js/script.js
@@ -623,7 +623,6 @@ function onDropTarget(obj, event) {
         textData = stringToXML(textData);
         if(textData.getElementsByTagName("ready")[0].firstChild.textContent == "true"){
             var tmp = textData.getElementsByTagName("path")[0].firstChild.textContent;
-            tmp = tmp.substr(1, tmp.length);       
             var img_block = $("<div class='img_block' style='text-align: center;'>");
             $("<div class='close_img'>").appendTo(img_block);            
             $("<input type='hidden' value='" + $(obj).find("input[name='mask']").val() + "'/>").appendTo(img_block);
@@ -668,4 +667,4 @@ function onDropTarget(obj, event) {
         event.cancelBubble = true;
     }
     return false;
-}
\ No newline at end of file
+}
diff --git a/resources/library/interactivities/etudier.wgt/js/script.js b/resources/library/interactivities/etudier.wgt/js/script.js
index 074b169b..1ce3fb3e 100644
--- a/resources/library/interactivities/etudier.wgt/js/script.js
+++ b/resources/library/interactivities/etudier.wgt/js/script.js
@@ -472,7 +472,6 @@ function onDropTarget(obj, event) {
         textData = stringToXML(textData);
         var tmp = textData.getElementsByTagName("path")[0].firstChild.textContent;
         var tmp_type = textData.getElementsByTagName("type")[0].firstChild.textContent;
-        tmp = tmp.substr(1, tmp.length); 
         if(tmp_type.substr(0, 5) == "audio"){                              
             var audio_block = $("<div class='audio_block'>").draggable().appendTo($(obj));
             audio_block.css("position","absolute").css("top",event.clientY).css("left",event.clientX);
@@ -530,4 +529,4 @@ $(window).resize(function(){
         $(this).width(slider.width()).height(slider.height());
     });
     slider.setSize(slider.width(), slider.height());
-})
\ No newline at end of file
+})
diff --git a/resources/library/interactivities/ordonner_des_images.wgt/js/script.js b/resources/library/interactivities/ordonner_des_images.wgt/js/script.js
index 71c0c26f..5f04b2a0 100644
--- a/resources/library/interactivities/ordonner_des_images.wgt/js/script.js
+++ b/resources/library/interactivities/ordonner_des_images.wgt/js/script.js
@@ -399,7 +399,6 @@ function onDropTarget(obj, event) {
         }
         textData = stringToXML(textData);
         var tmp = textData.getElementsByTagName("path")[0].firstChild.textContent;
-        tmp = tmp.substr(1, tmp.length);
         //alert(textData.getElementsByTagName("type")[0].firstChild.textContent + " | " + textData.getElementsByTagName("path")[0].firstChild.textContent);
         var tmp_img = $("<img/>").attr("src", tmp);
         //alert(1)
diff --git a/resources/library/interactivities/ordonner_des_letters.wgt/js/script.js b/resources/library/interactivities/ordonner_des_letters.wgt/js/script.js
index 0cfaee8f..25c4c92d 100644
--- a/resources/library/interactivities/ordonner_des_letters.wgt/js/script.js
+++ b/resources/library/interactivities/ordonner_des_letters.wgt/js/script.js
@@ -381,7 +381,6 @@ function onDropAudio(obj, event) {
         var tmp_type = textData.getElementsByTagName("type")[0].firstChild.textContent;
         if(tmp_type.substr(0, 5) == "audio"){       
             var audio_block = $(obj).find(".audio_block");
-            tmp = tmp.substr(1, tmp.length);            
             $(obj).find("audio").remove();
             audio_block.find(":first-child").removeClass("stop").addClass("play");
             var source = $("<source/>").attr("src", tmp);
@@ -409,4 +408,4 @@ if (window.widget) {
             $(this).parent().find(":first-child").removeClass("stop").addClass("play");
         });
     }
-}
\ No newline at end of file
+}
diff --git a/resources/library/interactivities/selectionner.wgt/js/script.js b/resources/library/interactivities/selectionner.wgt/js/script.js
index 010bc214..dc2c9d7d 100644
--- a/resources/library/interactivities/selectionner.wgt/js/script.js
+++ b/resources/library/interactivities/selectionner.wgt/js/script.js
@@ -359,7 +359,6 @@ function onDropTarget(obj, event) {
         textData = stringToXML(textData);
         var tmp = textData.getElementsByTagName("path")[0].firstChild.textContent;
         var tmp_type = textData.getElementsByTagName("type")[0].firstChild.textContent;
-        tmp = tmp.substr(1, tmp.length); 
         if(tmp_type.substr(0, 5) == "audio"){  
             var img_tmp = $("<div class='img_block'>").insertBefore($(obj).find(".add_img"));
             var audio_block = $("<div class='audio_block'>").appendTo(img_tmp)
diff --git a/src/api/UBWidgetUniboardAPI.cpp b/src/api/UBWidgetUniboardAPI.cpp
index 4b4d3686..260734ad 100644
--- a/src/api/UBWidgetUniboardAPI.cpp
+++ b/src/api/UBWidgetUniboardAPI.cpp
@@ -534,7 +534,7 @@ void UBWidgetUniboardAPI::ProcessDropEvent(QDropEvent *event)
             }
         }
     }
-
+    qDebug() << destFileName;
     QString mimeText = createMimeText(downloaded, contentType, destFileName);
     dropMimeData.setData(tMimeText, mimeText.toAscii());
 
@@ -623,7 +623,7 @@ QString UBWidgetUniboardAPI::createMimeText(bool downloaded, const QString &mime
         }
 
         QString relatedFileName = fileName;
-        relatedFileName = relatedFileName.remove(mGraphicsWidget->getOwnFolder().toLocalFile());
+        relatedFileName = relatedFileName.remove(mGraphicsWidget->getOwnFolder().toLocalFile() + "/");
         writer.writeTextElement(tPath, relatedFileName);   //writing path to created object
     }
 

From 973e1df2c7240ccaf532b3bc73ea2992919d8dc0 Mon Sep 17 00:00:00 2001
From: Ivan Ilin <ilin@scand.com>
Date: Wed, 25 Apr 2012 20:15:13 +0300
Subject: [PATCH 04/31] CFF import fixes

---
 src/adaptors/UBCFFSubsetAdaptor.cpp | 305 +++++++++++++++++-----------
 src/adaptors/UBCFFSubsetAdaptor.h   |   7 +-
 src/adaptors/UBSvgSubsetAdaptor.cpp |   3 +-
 3 files changed, 199 insertions(+), 116 deletions(-)

diff --git a/src/adaptors/UBCFFSubsetAdaptor.cpp b/src/adaptors/UBCFFSubsetAdaptor.cpp
index cb08d742..fbc079c3 100644
--- a/src/adaptors/UBCFFSubsetAdaptor.cpp
+++ b/src/adaptors/UBCFFSubsetAdaptor.cpp
@@ -54,6 +54,8 @@ static QString tIwb             = "iwb";
 static QString tMeta            = "meta";
 static QString tPage            = "page";
 static QString tPageset         = "pageset";
+static QString tG               = "g";
+static QString tSwitch          = "switch";
 static QString tPolygon         = "polygon";
 static QString tPolyline        = "polyline";
 static QString tRect            = "rect";
@@ -64,7 +66,7 @@ static QString tTspan           = "tspan";
 static QString tBreak           = "tbreak";
 static QString tImage           = "image";
 static QString tFlash           = "flash";
-static QString tAudio           = "audio";
+static QString tAudio           = "a";
 static QString tVideo           = "video";
 
 //attribute names definition
@@ -163,6 +165,31 @@ bool UBCFFSubsetAdaptor::UBCFFSubsetReader::parse()
 
     return result;
 }
+
+bool UBCFFSubsetAdaptor::UBCFFSubsetReader::parseGSection(const QDomElement &element)
+{
+    QDomElement currentSvgElement = element.firstChildElement();
+    while (!currentSvgElement.isNull()) {
+        if (!parseSvgElement(currentSvgElement))
+            return false;
+
+        currentSvgElement = currentSvgElement.nextSiblingElement();
+    }
+
+    return true;
+}
+bool UBCFFSubsetAdaptor::UBCFFSubsetReader::parseSvgSwitchSection(const QDomElement &element)
+{
+
+    QDomElement currentSvgElement = element.firstChildElement();
+    while (!currentSvgElement.isNull()) {
+        if (parseSvgElement(currentSvgElement))
+            return true;
+    }
+
+    return false;
+}
+
 bool UBCFFSubsetAdaptor::UBCFFSubsetReader::parseSvgRect(const QDomElement &element)
 {
     qreal x1 = element.attribute(aX).toDouble();
@@ -177,7 +204,12 @@ bool UBCFFSubsetAdaptor::UBCFFSubsetReader::parseSvgRect(const QDomElement &elem
 
     QColor fillColor = !textFillColor.isNull() ? colorFromString(textFillColor) : QColor();
     QColor strokeColor = !textStrokeColor.isNull() ? colorFromString(textStrokeColor) : QColor();
-    int strokeWidth = !textStrokeWidth.isNull() ? textStrokeWidth.toInt() : 0;
+    int strokeWidth = textStrokeWidth.toInt();
+
+    x1 -= strokeWidth/2;
+    y1 -= strokeWidth/2;
+    width += strokeWidth;
+    height += strokeWidth;
 
     //init svg generator with temp file
     QSvgGenerator *generator = createSvgGenerator(width, height);
@@ -206,13 +238,13 @@ bool UBCFFSubsetAdaptor::UBCFFSubsetReader::parseSvgRect(const QDomElement &elem
     UBGraphicsSvgItem *svgItem = mCurrentScene->addSvg(QUrl::fromLocalFile(generator->fileName()));
     QTransform transform;
     QString textTransform = element.attribute(aTransform);
-    bool hastransform = false;
+
+    svgItem->resetTransform();
     if (!textTransform.isNull()) {
-        transform = transformFromString(textTransform);
-        hastransform = true;
+        transform = transformFromString(textTransform, svgItem);
     }
 
-    repositionSvgItem(svgItem, width, height, x1, y1, hastransform, transform);
+    repositionSvgItem(svgItem, width, height, x1, y1, transform);
     hashSceneItem(element, svgItem);
 
     delete generator;
@@ -251,13 +283,14 @@ bool UBCFFSubsetAdaptor::UBCFFSubsetReader::parseSvgEllipse(const QDomElement &e
     UBGraphicsSvgItem *svgItem = mCurrentScene->addSvg(QUrl::fromLocalFile(generator->fileName()));
     QTransform transform;
     QString textTransform = element.attribute(aTransform);
-    bool hastransform = false;
+
+    svgItem->resetTransform();
     if (!textTransform.isNull()) {
-        transform = transformFromString(textTransform);
-        hastransform = true;
+        transform = transformFromString(textTransform, svgItem);
     }
 
-    repositionSvgItem(svgItem, rx * 2, ry * 2, cx - rx , cy - ry, hastransform, transform);
+
+    repositionSvgItem(svgItem, rx * 2, ry * 2, cx - 2*rx, cy+ry, transform);
     hashSceneItem(element, svgItem);
 
     delete generator;
@@ -308,7 +341,7 @@ bool UBCFFSubsetAdaptor::UBCFFSubsetReader::parseSvgPolygon(const QDomElement &e
 
     QColor strokeColor = !strokeColorText.isEmpty() ? colorFromString(strokeColorText) : QColor();
     QColor fillColor = !fillColorText.isEmpty() ? colorFromString(fillColorText) : QColor();
-    int strokeWidth = strokeWidthText.toInt() > 0 ? strokeWidthText.toInt() : 0;
+    int strokeWidth = strokeWidthText.toDouble();
 
     QPen pen;
     pen.setColor(strokeColor);
@@ -334,12 +367,12 @@ bool UBCFFSubsetAdaptor::UBCFFSubsetReader::parseSvgPolygon(const QDomElement &e
     UBGraphicsSvgItem *svgItem = mCurrentScene->addSvg(QUrl::fromLocalFile(generator->fileName()));
     QTransform transform;
     QString textTransform = element.attribute(aTransform);
-    bool hastransform = false;
+
+    svgItem->resetTransform();
     if (!textTransform.isNull()) {
-        transform = transformFromString(textTransform);
-        hastransform = true;
+        transform = transformFromString(textTransform, svgItem);
     }
-    repositionSvgItem(svgItem, width + 10, height + 10, x1 - 5, y1 - 5, hastransform, transform);
+    repositionSvgItem(svgItem, width +strokeWidth, height + strokeWidth, x1 - strokeWidth/2 + transform.m31(), y1 + strokeWidth/2 + transform.m32(), transform);
     hashSceneItem(element, svgItem);
 
     delete generator;
@@ -389,7 +422,10 @@ bool UBCFFSubsetAdaptor::UBCFFSubsetReader::parseSvgPolyline(const QDomElement &
     QString strokeWidthText = element.attribute(aStrokewidth);
 
     QColor strokeColor = !strokeColorText.isEmpty() ? colorFromString(strokeColorText) : QColor();
-    int strokeWidth = strokeWidthText.toInt() > 0 ? strokeWidthText.toInt() : 0;
+    int strokeWidth = strokeWidthText.toDouble();
+
+    width += strokeWidth;
+    height += strokeWidth;
 
     QPen pen;
     pen.setColor(strokeColor);
@@ -400,7 +436,7 @@ bool UBCFFSubsetAdaptor::UBCFFSubsetReader::parseSvgPolyline(const QDomElement &
 
     painter.begin(generator); //drawing to svg tmp file
 
-    painter.translate(pen.widthF() / 2 - x1, pen.widthF() / 2 - y1);
+    painter.translate(pen.widthF()/2 - x1, pen.widthF()/2- y1);
     painter.setPen(pen);
     painter.drawPolyline(polygon);
 
@@ -410,12 +446,12 @@ bool UBCFFSubsetAdaptor::UBCFFSubsetReader::parseSvgPolyline(const QDomElement &
     UBGraphicsSvgItem *svgItem = mCurrentScene->addSvg(QUrl::fromLocalFile(generator->fileName()));
     QTransform transform;
     QString textTransform = element.attribute(aTransform);
-    bool hastransform = false;
+
+    svgItem->resetTransform();
     if (!textTransform.isNull()) {
-        transform = transformFromString(textTransform);
-        hastransform = true;
+        transform = transformFromString(textTransform, svgItem);
     }
-    repositionSvgItem(svgItem, width + 10, height + 10, x1 - 5, y1 - 5, hastransform, transform);
+    repositionSvgItem(svgItem, width +strokeWidth, height + strokeWidth, x1 + transform.m31() - strokeWidth/2, y1 + transform.m32() + strokeWidth/2, transform);
     hashSceneItem(element, svgItem);
 
     delete generator;
@@ -539,7 +575,6 @@ bool UBCFFSubsetAdaptor::UBCFFSubsetReader::parseSvgText(const QDomElement &elem
 //    remember if text area has transform
 //    QString transformString;
     QTransform transform = fontTransform;
-    bool hasTransform = !fontTransform.isIdentity();
 
     QRectF lastDrawnTextBoundingRect;
     //parse text area tags
@@ -554,7 +589,8 @@ bool UBCFFSubsetAdaptor::UBCFFSubsetReader::parseSvgText(const QDomElement &elem
     //add resulting svg file to scene
     UBGraphicsSvgItem *svgItem = mCurrentScene->addSvg(QUrl::fromLocalFile(generator->fileName()));
 
-    repositionSvgItem(svgItem, width, height, x, y, hasTransform, transform);
+    svgItem->resetTransform();
+    repositionSvgItem(svgItem, width, height, x + transform.m31(), y + transform.m32(), transform);
     hashSceneItem(element, svgItem);
 
     delete generator;
@@ -661,10 +697,10 @@ bool UBCFFSubsetAdaptor::UBCFFSubsetReader::parseSvgTextarea(const QDomElement &
 
     QTransform transform;
     QString textTransform = element.attribute(aTransform);
-    bool hastransform = false;
+
+    svgItem->resetTransform();
     if (!textTransform.isNull()) {
-        transform = transformFromString(textTransform);
-        hastransform = true;
+        transform = transformFromString(textTransform, svgItem);
     }
 
     //by default all the textAreas are not editable
@@ -673,7 +709,7 @@ bool UBCFFSubsetAdaptor::UBCFFSubsetReader::parseSvgTextarea(const QDomElement &
         curDelegate->setEditable(false);
     }
 
-    repositionSvgItem(svgItem, width, height, x, y, hastransform, transform);
+    repositionSvgItem(svgItem, width, height, x + transform.m31(), y + transform.m32(), transform);
     hashSceneItem(element, svgItem);
 
     return true;
@@ -705,12 +741,12 @@ bool UBCFFSubsetAdaptor::UBCFFSubsetReader::parseSvgImage(const QDomElement &ele
    UBGraphicsPixmapItem *pixItem = mCurrentScene->addPixmap(pix);
    QTransform transform;
    QString textTransform = element.attribute(aTransform);
-   bool hastransform = false;
+
+   pixItem->resetTransform();
    if (!textTransform.isNull()) {
-       transform = transformFromString(textTransform);
-       hastransform = true;
+       transform = transformFromString(textTransform, pixItem);
    }
-   repositionSvgItem(pixItem, width, height, x, y, hastransform, transform);
+   repositionSvgItem(pixItem, width, height, x + transform.m31(), y + transform.m32(), transform);
    hashSceneItem(element, pixItem);
 
    return true;
@@ -747,10 +783,12 @@ bool UBCFFSubsetAdaptor::UBCFFSubsetReader::parseSvgFlash(const QDomElement &ele
 
     QTransform transform;
     QString textTransform = element.attribute(aTransform);
+
+    flashItem->resetTransform();
     if (!textTransform.isNull()) {
-        transform = transformFromString(textTransform);
+        transform = transformFromString(textTransform, flashItem);
     }
-    repositionSvgItem(flashItem, width, height, x, y, true, transform);
+    repositionSvgItem(flashItem, width, height, x + transform.m31(), y + transform.m32(), transform);
     hashSceneItem(element, flashItem);
 
     return true;
@@ -758,32 +796,42 @@ bool UBCFFSubsetAdaptor::UBCFFSubsetReader::parseSvgFlash(const QDomElement &ele
 
 bool UBCFFSubsetAdaptor::UBCFFSubsetReader::parseSvgAudio(const QDomElement &element)
 {
-    qreal x = element.attribute(aX).toDouble();
-    qreal y = element.attribute(aY).toDouble();
-    qreal width = element.attribute(aWidth).toDouble();
-    qreal height = element.attribute(aHeight).toDouble();
+    QDomElement parentOfAudio = element.firstChild().toElement();
+    
+    qreal x = parentOfAudio.attribute(aX).toDouble();
+    qreal y = parentOfAudio.attribute(aY).toDouble();
 
     QString itemRefPath = element.attribute(aHref);
 
-    QUrl urlPath;
+    QUrl concreteUrl;
     if (!itemRefPath.isNull()) {
-        QString videoPath = pwdContent + "/" + itemRefPath;
-        if (!QFile::exists(videoPath)) {
+        QString audioPath = pwdContent + "/" + itemRefPath;
+        if (!QFile::exists(audioPath)) {
             qDebug() << "can't load file" << pwdContent + "/" + itemRefPath << "maybe file corrupted";
             return false;
         }
-        urlPath = QUrl::fromLocalFile(videoPath);
+        concreteUrl = QUrl::fromLocalFile(audioPath);
     }
 
-    UBGraphicsAudioItem *audioItem = mCurrentScene->addAudio(urlPath, false);
+    QUuid uuid = QUuid::createUuid();
+
+#ifdef Q_WS_X11
+    concreteUrl = QUrl::fromLocalFile(mCurrentScene->document()->persistencePath() + "/" + UBPersistenceManager::persistenceManager()
+        ->addAudioFileToDocument(mCurrentScene->document(), concreteUrl.toLocalFile(), uuid));
+#else
+    concreteUrl = QUrl::fromLocalFile(UBPersistenceManager::persistenceManager()
+        ->addAudioFileToDocument(mCurrentScene->document(), concreteUrl.toLocalFile(), uuid));
+#endif
+    
+    UBGraphicsAudioItem *audioItem = mCurrentScene->addAudio(concreteUrl, false);
     QTransform transform;
-    QString textTransform = element.attribute(aTransform);
-    bool hastransform = false;
+    QString textTransform = parentOfAudio.attribute(aTransform);
+
+    audioItem->resetTransform();
     if (!textTransform.isNull()) {
-        transform = transformFromString(textTransform);
-        hastransform = true;
+        transform = transformFromString(textTransform, audioItem);
     }
-    repositionSvgItem(audioItem, width, height, x, y, hastransform, transform);
+    repositionSvgItem(audioItem, audioItem->boundingRect().width(), audioItem->boundingRect().height(), x + transform.m31(), y + transform.m32(), transform);
     hashSceneItem(element, audioItem);
 
     return true;
@@ -795,31 +843,38 @@ bool UBCFFSubsetAdaptor::UBCFFSubsetReader::parseSvgVideo(const QDomElement &ele
         if (parseSvgFlash(element)) return true;
         else return false;
     }
-
     qreal x = element.attribute(aX).toDouble();
     qreal y = element.attribute(aY).toDouble();
-    qreal width = element.attribute(aWidth).toDouble();
-    qreal height = element.attribute(aHeight).toDouble();
 
-    QUrl urlPath;
+    QUrl concreteUrl;
     if (!itemRefPath.isNull()) {
         QString videoPath = pwdContent + "/" + itemRefPath;
         if (!QFile::exists(videoPath)) {
             qDebug() << "can't load file" << pwdContent + "/" + itemRefPath << "maybe file corrupted";
             return false;
         }
-        urlPath = QUrl::fromLocalFile(videoPath);
+        concreteUrl = QUrl::fromLocalFile(videoPath);
     }
 
-    UBGraphicsVideoItem *videoItem = mCurrentScene->addVideo(urlPath, false);
+    QUuid uuid = QUuid::createUuid();
+
+#ifdef Q_WS_X11
+    concreteUrl = QUrl::fromLocalFile(mCurrentScene->document()->persistencePath() + "/" + UBPersistenceManager::persistenceManager()
+        ->addVideoFileToDocument(mCurrentScene->document(), concreteUrl.toLocalFile(), uuid));
+#else
+    concreteUrl = QUrl::fromLocalFile(UBPersistenceManager::persistenceManager()
+        ->addVideoFileToDocument(mCurrentScene->document(), concreteUrl.toLocalFile(), uuid));
+#endif
+
+    UBGraphicsVideoItem *videoItem = mCurrentScene->addVideo(concreteUrl, false);
     QTransform transform;
     QString textTransform = element.attribute(aTransform);
-    bool hastransform = false;
+
+    videoItem->resetTransform();
     if (!textTransform.isNull()) {
-        transform = transformFromString(textTransform);
-        hastransform = true;
+        transform = transformFromString(textTransform, videoItem);
     }
-    repositionSvgItem(videoItem, width, height, x - 5, y - 5, hastransform, transform);
+    repositionSvgItem(videoItem, videoItem->boundingRect().width(), videoItem->boundingRect().height(), x + transform.m31(), y + transform.m32(), transform);
     hashSceneItem(element, videoItem);
 
     return true;
@@ -849,16 +904,18 @@ bool UBCFFSubsetAdaptor::UBCFFSubsetReader::parseSvgElement(const QDomElement &p
         return false;
     }
 
-    if      (tagName == tRect       &&  !parseSvgRect(parent))      return false;
-    else if (tagName == tEllipse    &&  !parseSvgEllipse(parent))   return false;
-    else if (tagName == tPolygon    &&  !parseSvgPolygon(parent))   return false;
-    else if (tagName == tPolyline   &&  !parseSvgPolyline(parent))  return false;
-    else if (tagName == tText       &&  !parseSvgText(parent))      return false;
-    else if (tagName == tTextarea   &&  !parseSvgTextarea(parent))  return false;
-    else if (tagName == tImage      &&  !parseSvgImage(parent))     return false;
-    else if (tagName == tFlash      &&  !parseSvgFlash(parent))     return false;
-    else if (tagName == tAudio      &&  !parseSvgAudio(parent))     return false;
-    else if (tagName == tVideo      &&  !parseSvgVideo(parent))     return false;
+    if      (tagName == tG          &&  !parseGSection(parent))             return false;
+    else if (tagName == tSwitch     &&  !parseSvgSwitchSection(parent))     return false;
+    else if (tagName == tRect       &&  !parseSvgRect(parent))              return false;    
+    else if (tagName == tEllipse    &&  !parseSvgEllipse(parent))           return false;
+    else if (tagName == tPolygon    &&  !parseSvgPolygon(parent))           return false;
+    else if (tagName == tPolyline   &&  !parseSvgPolyline(parent))          return false;
+    else if (tagName == tText       &&  !parseSvgText(parent))              return false;
+    else if (tagName == tTextarea   &&  !parseSvgTextarea(parent))          return false;
+    else if (tagName == tImage      &&  !parseSvgImage(parent))             return false;
+    else if (tagName == tFlash      &&  !parseSvgFlash(parent))             return false;
+    else if (tagName == tAudio      &&  !parseSvgAudio(parent))             return false;
+    else if (tagName == tVideo      &&  !parseSvgVideo(parent))             return false;
 
     return true;
 }
@@ -986,7 +1043,7 @@ bool UBCFFSubsetAdaptor::UBCFFSubsetReader::parseDoc()
 
 void UBCFFSubsetAdaptor::UBCFFSubsetReader::repositionSvgItem(QGraphicsItem *item, qreal width, qreal height,
                                                               qreal x, qreal y,
-                                                              bool useTransform, QTransform &transform)
+                                                              QTransform &transform)
 {
     //First using viebox coordinates, then translate them to scene coordinates
 
@@ -998,29 +1055,32 @@ void UBCFFSubsetAdaptor::UBCFFSubsetReader::repositionSvgItem(QGraphicsItem *ite
     qreal fullScaleX = mVBTransFactor * xScale;
     qreal fullScaleY = mVBTransFactor * yScale;
 
-    if (useTransform) { //if rotation or translation specified
-        QPointF oldVector((x - transform.dx()), (y - transform.dy()));
-        QTransform rTransform(transform.m11(), transform.m12(), transform.m21(), transform.m22(), 0, 0);
-        QPointF newVector = rTransform.map(oldVector);
-
-        item->setTransform(rTransform.scale(fullScaleX, fullScaleY));
-        item->setPos((x - mViewBoxCenter.x() + (newVector - oldVector).x()) * mVBTransFactor,
-                     (y - mViewBoxCenter.y() + (newVector - oldVector).y()) * mVBTransFactor);
-    }  else  { //item is't rotated or translated
-        item->setTransform(QTransform(fullScaleX, 0, 0, fullScaleY, 0, 0));
-        itemBounds = item->boundingRect();
-        item->setPos((int)((x - mViewBoxCenter.x()) * mVBTransFactor),
-                     (int)((y - mViewBoxCenter.y()) * mVBTransFactor));
-    }
+    QPointF oldVector((x - transform.dx()), (y - transform.dy()));
+    QTransform rTransform;
+    QPointF newVector = rTransform.map(oldVector);
+
+    QRectF sr = mCurrentScene->sceneRect();
+    QRectF sr1 = mCurrentSceneRect;
+    QRectF sr2 = mCurrentScene->normalizedSceneRect();
+
+    QTransform tr = item->sceneTransform();
+    item->setTransform(rTransform.scale(fullScaleX, fullScaleY), true);
+    tr = item->sceneTransform();
+    QPoint pos ((int)((x + mShiftVector.x() + (newVector - oldVector).x()) * mVBTransFactor), (int)((y +mShiftVector.y() + (newVector - oldVector).y()) * mVBTransFactor));
+    item->setPos(pos);
 }
 
 bool UBCFFSubsetAdaptor::UBCFFSubsetReader::createNewScene()
 {
     mCurrentScene = UBPersistenceManager::persistenceManager()->createDocumentSceneAt(mProxy, mProxy->pageCount());
     mCurrentScene->setURStackEnable(false);
-    mCurrentSceneRect = mCurrentScene->normalizedSceneRect();
-    mVBTransFactor = qMin(mCurrentSceneRect.width()  / mViewPort.width(),
-                          mCurrentSceneRect.height() / mViewPort.height());
+    mCurrentScene->setSceneRect(mViewBox);
+    if ((mCurrentScene->sceneRect().topLeft().x() >= 0) || (mCurrentScene->sceneRect().topLeft().y() >= 0)) {
+        mShiftVector = -mViewBox.center();
+    }
+    mCurrentSceneRect = mViewBox;
+    mVBTransFactor = qMin(mCurrentScene->normalizedSceneRect().width()  / mViewPort.width(),
+                          mCurrentScene->normalizedSceneRect().height() / mViewPort.height());
     return true;
 }
 
@@ -1048,11 +1108,12 @@ bool UBCFFSubsetAdaptor::UBCFFSubsetReader::persistScenes()
             qDebug() << "can't allocate scene, loading failed";
             return false;
         }
-                UBSvgSubsetAdaptor::persistScene(mProxy, mCurrentScene, i);
-                UBGraphicsScene *tmpScene = UBSvgSubsetAdaptor::loadScene(mProxy, i);
-                tmpScene->setModified(true);
-                UBThumbnailAdaptor::persistScene(mProxy->persistencePath(), tmpScene, i);
-                delete tmpScene;
+
+        UBSvgSubsetAdaptor::persistScene(mProxy, mCurrentScene, i);
+        UBGraphicsScene *tmpScene = UBSvgSubsetAdaptor::loadScene(mProxy, i);
+        tmpScene->setModified(true);
+        UBThumbnailAdaptor::persistScene(mProxy->persistencePath(), tmpScene, i);
+        delete tmpScene;
 
         mCurrentScene->setModified(false);
     }
@@ -1087,45 +1148,63 @@ QColor UBCFFSubsetAdaptor::UBCFFSubsetReader::colorFromString(const QString& clr
         return QColor(clrString);
 }
 
-QTransform UBCFFSubsetAdaptor::UBCFFSubsetReader::transformFromString(const QString trString)
+QTransform UBCFFSubsetAdaptor::UBCFFSubsetReader::transformFromString(const QString trString, QGraphicsItem *item)
 {
+    qreal dxr = 0.0;
+    qreal dyr = 0.0;
     qreal dx = 0.0;
     qreal dy = 0.0;
     qreal angle = 0.0;
+    QTransform tr;
 
-    //check pattern for strings like 'rotate(10)'
-    QRegExp regexp("rotate\\( *([-+]{0,1}[0-9]*\\.{0,1}[0-9]*) *\\)");
-    if (regexp.exactMatch(trString)) {
-        angle = regexp.capturedTexts().at(1).toDouble();
-    } else {
+    foreach(QString trStr, trString.split(" ", QString::SkipEmptyParts))
+    {
+        //check pattern for strings like 'rotate(10)'
+        QRegExp regexp("rotate\\( *([-+]{0,1}[0-9]*\\.{0,1}[0-9]*) *\\)");
+        if (regexp.exactMatch(trStr)) {
+            angle = regexp.capturedTexts().at(1).toDouble();
+            if (item)
+            {    
+                item->setTransformOriginPoint(QPointF(0, 0));
+                item->rotate(angle);
+            }
+            continue;
+        };
+        
         //check pattern for strings like 'rotate(10,20,20)' or 'rotate(10.1,10.2,34.2)'
         regexp.setPattern("rotate\\( *([-+]{0,1}[0-9]*\\.{0,1}[0-9]*) *, *([-+]{0,1}[0-9]*\\.{0,1}[0-9]*) *, *([-+]{0,1}[0-9]*\\.{0,1}[0-9]*) *\\)");
-        if (regexp.exactMatch(trString)) {
+        if (regexp.exactMatch(trStr)) {
             angle = regexp.capturedTexts().at(1).toDouble();
-            dx = regexp.capturedTexts().at(2).toDouble();
-            dy = regexp.capturedTexts().at(3).toDouble();
+            dxr = regexp.capturedTexts().at(2).toDouble();
+            dyr = regexp.capturedTexts().at(3).toDouble();
+            if (item)
+            {                
+                item->setTransformOriginPoint(QPointF(dxr, dyr)-item->pos());
+                item->rotate(angle);
+            }
+            continue;
         }
-    }
-    //check pattern for strings like 'translate(11.0, 12.34)'
-    regexp.setPattern("translate\\( *([-+]{0,1}[0-9]*\\.{0,1}[0-9]*) *,*([-+]{0,1}[0-9]*\\.{0,1}[0-9]*)*\\)");
-    if (regexp.exactMatch(trString)) {
-        dx = regexp.capturedTexts().at(1).toDouble();
-        dy = regexp.capturedTexts().at(2).toDouble();
-    }
 
-    return QTransform().translate(dx, dy).rotate(angle);
+        //check pattern for strings like 'translate(11.0, 12.34)'
+        regexp.setPattern("translate\\( *([-+]{0,1}[0-9]*\\.{0,1}[0-9]*) *,*([-+]{0,1}[0-9]*\\.{0,1}[0-9]*)*\\)");
+        if (regexp.exactMatch(trStr)) {
+            dx = regexp.capturedTexts().at(1).toDouble();
+            dy = regexp.capturedTexts().at(2).toDouble();
+            tr.translate(dx,dy);
+            continue;
+        }
+    }
+    return tr;
 }
 
 bool UBCFFSubsetAdaptor::UBCFFSubsetReader::getViewBoxDimenstions(const QString& viewBox)
 {
-    //check pattern for strings like 'rotate(10)'
-    QRegExp regexp("([0-9]+) ([0-9]+) ([0-9]+) ([0-9]+)");
-    if (regexp.exactMatch(viewBox))
+    QStringList capturedTexts = viewBox.split(" ", QString::SkipEmptyParts);
+    if (capturedTexts.count())
     {
-        int capturesCount = regexp.capturedTexts().count();
-        if (capturesCount == 5 && regexp.capturedTexts().at(0).length() == viewBox.length())
+        if (4 == capturedTexts.count())
         {
-            mViewBox = QRectF(0, 0, regexp.capturedTexts().at(3).toDouble(), regexp.capturedTexts().at(4).toDouble());
+            mViewBox = QRectF(capturedTexts.at(0).toDouble(), capturedTexts.at(1).toDouble(), capturedTexts.at(2).toDouble(), capturedTexts.at(3).toDouble());
             mViewPort = mViewBox;
             mViewPort.translate(- mViewPort.center());
             mViewBoxCenter.setX(mViewBox.width() / 2);
diff --git a/src/adaptors/UBCFFSubsetAdaptor.h b/src/adaptors/UBCFFSubsetAdaptor.h
index d4def19b..791c057d 100644
--- a/src/adaptors/UBCFFSubsetAdaptor.h
+++ b/src/adaptors/UBCFFSubsetAdaptor.h
@@ -65,6 +65,7 @@ private:
         qreal mVBTransFactor;
         QPointF mViewBoxCenter;
         QSize mSize;
+        QPointF mShiftVector;
 
     private:
         QDomDocument mDOMdoc;
@@ -85,6 +86,8 @@ private:
         bool parseIwbMeta(const QDomElement &element);
         bool parseSvg(const QDomElement &svgSection);
 
+        inline bool parseGSection(const QDomElement &element);
+        inline bool parseSvgSwitchSection(const QDomElement &element);
         inline bool parseSvgRect(const QDomElement &element);
         inline bool parseSvgEllipse(const QDomElement &element);
         inline bool parseSvgPolygon(const QDomElement &element);
@@ -123,9 +126,9 @@ private:
 //        helper methods
         void repositionSvgItem(QGraphicsItem *item, qreal width, qreal height,
                                qreal x, qreal y,
-                               bool useTransform, QTransform &transform);
+                               QTransform &transform);
         QColor colorFromString(const QString& clrString);
-        QTransform transformFromString(const QString trString);
+        QTransform transformFromString(const QString trString, QGraphicsItem *item = 0);
         bool getViewBoxDimenstions(const QString& viewBox);
         QSvgGenerator* createSvgGenerator(qreal width, qreal height);
         bool getTempFileName();
diff --git a/src/adaptors/UBSvgSubsetAdaptor.cpp b/src/adaptors/UBSvgSubsetAdaptor.cpp
index 00e159a6..8148b66c 100644
--- a/src/adaptors/UBSvgSubsetAdaptor.cpp
+++ b/src/adaptors/UBSvgSubsetAdaptor.cpp
@@ -366,7 +366,8 @@ UBGraphicsScene* UBSvgSubsetAdaptor::UBSvgSubsetReader::loadScene()
 
                 // introduced in UB 4.0
 
-                QStringRef svgViewBox = mXmlReader.attributes().value(nsSvg, "viewBox");
+                QStringRef svgViewBox = mXmlReader.attributes().value("viewBox");
+
 
                 if (!svgViewBox.isNull())
                 {

From c2b9c6a412094b4df56834ef4cdcafa1a0f8c637 Mon Sep 17 00:00:00 2001
From: Anna Udovichenko <anuta.udovichenko@gmail.com>
Date: Mon, 30 Apr 2012 15:33:14 +0300
Subject: [PATCH 05/31] Added elements selection

---
 src/board/UBFeaturesController.cpp |  9 ++++++++-
 src/gui/UBFeaturesWidget.cpp       | 22 ++++++++++++++++++++--
 2 files changed, 28 insertions(+), 3 deletions(-)

diff --git a/src/board/UBFeaturesController.cpp b/src/board/UBFeaturesController.cpp
index 863606da..0e34c595 100644
--- a/src/board/UBFeaturesController.cpp
+++ b/src/board/UBFeaturesController.cpp
@@ -315,7 +315,14 @@ UBFeature UBFeaturesController::newFolder( const QString &name )
 
 void UBFeaturesController::addItemToPage(const UBFeature &item)
 {
-	UBApplication::boardController->downloadURL( QUrl::fromLocalFile( item.getFullPath() ) );
+	if ( item.getType() == FEATURE_INTERNAL )
+	{
+		UBApplication::boardController->downloadURL( QUrl( item.getFullPath() ) );
+	}
+	else
+	{
+		UBApplication::boardController->downloadURL( QUrl::fromLocalFile( item.getFullPath() ) );
+	}
 }
 
 UBFeature UBFeaturesController::moveItemToFolder( const QUrl &url, const UBFeature &destination )
diff --git a/src/gui/UBFeaturesWidget.cpp b/src/gui/UBFeaturesWidget.cpp
index e3affd5c..e7f1520a 100644
--- a/src/gui/UBFeaturesWidget.cpp
+++ b/src/gui/UBFeaturesWidget.cpp
@@ -49,6 +49,7 @@ UBFeaturesWidget::UBFeaturesWidget(QWidget *parent, const char *name):UBDockPale
 
 	//featuresListView->setStyleSheet( QString("background: #EEEEEE;border-radius: 10px;border: 2px solid #999999;") );
 	featuresListView->setDragDropMode( QAbstractItemView::DragDrop );
+	featuresListView->setSelectionMode( QAbstractItemView::ContiguousSelection );
 	featuresListView->setModel( featuresProxyModel );
 
 	featuresListView->setResizeMode( QListView::Adjust );
@@ -72,7 +73,7 @@ UBFeaturesWidget::UBFeaturesWidget(QWidget *parent, const char *name):UBDockPale
     pathListView->setHorizontalScrollBarPolicy( Qt::ScrollBarAlwaysOn );
 	//pathListView->setResizeMode( QListView::Adjust );
 	//pathListView->setMovement( QListView::Static );
-	pathListView->setDragDropMode( QAbstractItemView::DragDrop );
+	pathListView->setDragDropMode( QAbstractItemView::DropOnly );
 
 	pathScene = new QGraphicsScene(this);
 	//pathViewer = new UBFeaturesPathViewer( QPixmap(":images/libpalette/home.png"), controller->getRootPath(), pathScene,  this );
@@ -629,7 +630,24 @@ Qt::ItemFlags UBFeaturesModel::flags( const QModelIndex &index ) const
 			return defaultFlags | Qt::ItemIsDropEnabled;
 		else return defaultFlags;
 	}
-	return defaultFlags | Qt::ItemIsDropEnabled;
+	/*if ( index.isValid() )
+	{
+		UBFeature item = index.data( Qt::UserRole + 1 ).value<UBFeature>();
+		switch( item.getType() )
+		{
+		case FEATURE_CATEGORY:
+		case FEATURE_FOLDER:
+		case FEATURE_FAVORITE:
+		case FEATURE_TRASH:
+			return Qt::ItemIsDropEnabled | Qt::ItemIsEnabled;
+		case FEATURE_INTERACTIVE:
+		case FEATURE_INTERNAL:
+		case FEATURE_ITEM:		
+			return Qt::ItemIsDragEnabled | Qt::ItemIsEnabled | Qt::ItemIsSelectable;
+		default:;
+		}
+	}*/
+	return defaultFlags;
 }
 
 

From 99855db038ecb847363cb76fbb96e9aa03f13992 Mon Sep 17 00:00:00 2001
From: bmagnin <vi>
Date: Tue, 1 May 2012 15:08:40 +0200
Subject: [PATCH 06/31] change name of the shapes

---
 .../library/shape/blue_flèche_down.svg      | 33 +++++++++++++++++++
 1 file changed, 33 insertions(+)
 create mode 100644 resources/library/shape/blue_flèche_down.svg

diff --git a/resources/library/shape/blue_flèche_down.svg b/resources/library/shape/blue_flèche_down.svg
new file mode 100644
index 00000000..7613a3f2
--- /dev/null
+++ b/resources/library/shape/blue_flèche_down.svg
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="97.773px" height="118.167px" viewBox="0 0 97.773 118.167" enable-background="new 0 0 97.773 118.167"
+	 xml:space="preserve">
+<g>
+	<g opacity="0.25">
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M36.547,64.229V7.991c0-1.237,1.086-2.325,2.325-2.325h25.252
+			c1.236,0,2.326,1.088,2.326,2.325v56.238h26.146c2.491,0,3.392,1.99,1.746,3.861l-41.596,47.34c-0.965,1.099-2.531,1.099-3.496,0
+			L7.655,68.09c-1.645-1.871-0.745-3.861,1.746-3.861H36.547z"/>
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M36.547,64.229V7.991c0-1.237,1.086-2.325,2.325-2.325h25.252
+			c1.236,0,2.326,1.088,2.326,2.325v56.238h26.146c2.491,0,3.392,1.99,1.746,3.861l-41.596,47.34c-0.965,1.099-2.531,1.099-3.496,0
+			L7.655,68.09c-1.645-1.871-0.745-3.861,1.746-3.861H36.547z"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="3.2305" y1="58.5679" x2="91.5854" y2="58.5679">
+			<stop  offset="0" style="stop-color:#7CD4FF"/>
+			<stop  offset="1" style="stop-color:#3777AE"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#194E6A" d="M32.956,61.836V5.598
+			c0-1.236,1.086-2.324,2.326-2.324h25.252c1.236,0,2.326,1.088,2.326,2.324v56.238h26.146c2.49,0,3.391,1.99,1.746,3.861
+			l-41.596,47.34c-0.965,1.1-2.531,1.1-3.496,0L4.063,65.698c-1.645-1.871-0.744-3.861,1.746-3.861H32.956z"/>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="3.2305" y1="58.5679" x2="91.5854" y2="58.5679">
+			<stop  offset="0" style="stop-color:#7CD4FF"/>
+			<stop  offset="1" style="stop-color:#3777AE"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#194E6A" d="M32.956,61.836V5.598
+			c0-1.236,1.086-2.324,2.326-2.324h25.252c1.236,0,2.326,1.088,2.326,2.324v56.238h26.146c2.49,0,3.391,1.99,1.746,3.861
+			l-41.596,47.34c-0.965,1.1-2.531,1.1-3.496,0L4.063,65.698c-1.645-1.871-0.744-3.861,1.746-3.861H32.956z"/>
+	</g>
+</g>
+</svg>

From 86b479769aed114613d7dadedcc40c431341a0dd Mon Sep 17 00:00:00 2001
From: Claudio Valerio <claudio@open-sankore.org>
Date: Tue, 1 May 2012 15:38:20 +0200
Subject: [PATCH 07/31] first step: rename file using french

---
 .../{white_bubble_speak_left.svg => blanche bulle gauche.svg}     | 0
 .../shape/{white_bubble_think.svg => blanche bulle idée.svg}     | 0
 .../library/shape/{white_cylinder.svg => blanche cylindre.svg}    | 0
 resources/library/shape/{white_disk.svg => blanche disque.svg}    | 0
 .../library/shape/{white_exagon.svg => blanche hexagone.svg}      | 0
 .../library/shape/{white_pentagon.svg => blanche pentagone.svg}   | 0
 .../shape/{blue_bubble_speak_left.svg => bleu bulle gauche.svg}   | 0
 .../library/shape/{blue_bubble_think.svg => bleu bulle idée.svg} | 0
 resources/library/shape/{blue_bubble_speak.svg => bleu bulle.svg} | 0
 .../library/shape/{blue_square_rnd.svg => bleu carré arr.svg}    | 0
 resources/library/shape/{blue_square.svg => bleu carré.svg}      | 0
 resources/library/shape/{blue_cylinder.svg => bleu cylindre.svg}  | 0
 resources/library/shape/{blue_disk.svg => bleu disque.svg}        | 0
 .../library/shape/{blue_arrow_down.svg => bleu flèche bas.svg}  | 0
 resources/library/shape/{blue_exagon.svg => bleu hexagone.svg}    | 0
 resources/library/shape/{blue_pentagon.svg => bleu pentagone.svg} | 0
 .../shape/{blue_rectangle_rnd.svg => bleu rectangle arr.svg}      | 0
 .../library/shape/{blue_rectangle.svg => bleu rectangle.svg}      | 0
 .../shape/{blue_triangle_rnd.svg => bleu triangle arr.svg}        | 0
 resources/library/shape/{blue_triangle.svg => bleu triangle.svg}  | 0
 .../library/shape/{white_bubble_speak.svg => bulle blanche.svg}   | 0
 .../library/shape/{white_square_rnd.svg => carré blanc arr.svg}  | 0
 resources/library/shape/{white_square.svg => carré blanc.svg}    | 0
 .../shape/{white_arrow_down.svg => flèche blanche bas.svg}       | 0
 .../shape/{white_arrow_right.svg => flèche blanche droite.svg}   | 0
 .../shape/{white_arrow_left.svg => flèche blanche gauche.svg}    | 0
 .../shape/{white_arrow_up.svg => flèche blanche haut.svg}        | 0
 .../shape/{blue_flèche_down.svg => flèche bleue bas.svg}       | 0
 .../shape/{blue_arrow_right.svg => flèche bleue droite.svg}      | 0
 .../shape/{blue_arrow_left.svg => flèche bleue gauche.svg}       | 0
 .../library/shape/{blue_arrow_up.svg => flèche bleue haut.svg}   | 0
 .../library/shape/{grey_arrow_down.svg => flèche grise bas.svg}  | 0
 .../shape/{grey_arrow_right.svg => flèche grise droite.svg}      | 0
 .../shape/{grey_arrow_left.svg => flèche grise gauche.svg}       | 0
 .../library/shape/{grey_arrow_up.svg => flèche grise haut.svg}   | 0
 .../library/shape/{red_arrow_down.svg => flèche rouge bas.svg}   | 0
 .../shape/{red_arrow_right.svg => flèche rouge droite.svg}       | 0
 .../shape/{red_arrow_left.svg => flèche rouge gauche.svg}        | 0
 .../library/shape/{red_arrow_up.svg => flèche rouge haut.svg}    | 0
 .../library/shape/{nofill_arrow_down.svg => flèche vide bas.svg} | 0
 .../shape/{nofill_arrow_right.svg => flèche vide droite.svg}     | 0
 .../shape/{nofill_arrow_left.svg => flèche vide gauche.svg}      | 0
 .../library/shape/{nofill_arrow_up.svg => flèche vide haut.svg}  | 0
 .../shape/{grey_bubble_speak_left.svg => gris bulle gauche.svg}   | 0
 .../library/shape/{grey_bubble_think.svg => gris bulle idée.svg} | 0
 resources/library/shape/{grey_bubble_speak.svg => gris bulle.svg} | 0
 .../library/shape/{grey_square_rnd.svg => gris carré arr.svg}    | 0
 resources/library/shape/{grey_square.svg => gris carré.svg}      | 0
 resources/library/shape/{grey_cylinder.svg => gris cylindre.svg}  | 0
 resources/library/shape/{grey_disk.svg => gris disque.svg}        | 0
 resources/library/shape/{grey_exagon.svg => gris hexagone.svg}    | 0
 resources/library/shape/{grey_pentagon.svg => gris pentagone.svg} | 0
 .../shape/{grey_rectangle_rnd.svg => gris rectangle arr.svg}      | 0
 .../library/shape/{grey_rectangle.svg => gris rectangle.svg}      | 0
 .../shape/{grey_triangle_rnd.svg => gris triangle arr.svg}        | 0
 resources/library/shape/{grey_triangle.svg => gris triangle.svg}  | 0
 .../library/shape/{grey_star_rnd.svg => gris étoile arr.svg}     | 0
 resources/library/shape/{grey_star.svg => gris étoile.svg}       | 0
 .../shape/{white_rectangle_rnd.svg => rectangle blanc arr.svg}    | 0
 .../library/shape/{white_rectangle.svg => rectangle blanc.svg}    | 0
 .../shape/{red_bubble_speak_left.svg => rouge bulle gauche.svg}   | 0
 .../library/shape/{red_bubble_think.svg => rouge bulle idée.svg} | 0
 resources/library/shape/{red_bubble_speak.svg => rouge bulle.svg} | 0
 .../library/shape/{red_square_rnd.svg => rouge carré arr.svg}    | 0
 resources/library/shape/{red_square.svg => rouge carré.svg}      | 0
 resources/library/shape/{red_cylinder.svg => rouge cylindre.svg}  | 0
 resources/library/shape/{red_disk.svg => rouge disque.svg}        | 0
 resources/library/shape/{red_exagon.svg => rouge hexagone.svg}    | 0
 resources/library/shape/{red_pentagon.svg => rouge pentagone.svg} | 0
 .../shape/{red_rectangle_rnd.svg => rouge rectangle arr.svg}      | 0
 .../library/shape/{red_rectangle.svg => rouge rectangle.svg}      | 0
 .../library/shape/{red_star_rnd.svg => rouge étoile arr.svg}     | 0
 resources/library/shape/{red_star.svg => rouge étoile.svg}       | 0
 .../shape/{white_triangle_rnd.svg => triangle blanc arr.svg}      | 0
 .../library/shape/{white_triangle.svg => triangle blanc.svg}      | 0
 .../shape/{red_triangle_rnd.svg => triangle rouge arr.svg}        | 0
 resources/library/shape/{red_triangle.svg => triangle rouge.svg}  | 0
 .../shape/{nofill_triangle_rnd.svg => triangle vide arr.svg}      | 0
 .../library/shape/{nofill_triangle.svg => triangle vide.svg}      | 0
 .../shape/{nofill_bubble_speak_left.svg => vide bulle gauche.svg} | 0
 .../shape/{nofill_bubble_think.svg => vide bulle idée.svg}       | 0
 .../library/shape/{nofill_bubble_speak.svg => vide bulle.svg}     | 0
 .../library/shape/{nofill_square_rnd.svg => vide carré arr.svg}  | 0
 resources/library/shape/{nofill_square.svg => vide carré.svg}    | 0
 .../library/shape/{nofill_cylinder.svg => vide cylindre.svg}      | 0
 resources/library/shape/{nofill_disk.svg => vide disque.svg}      | 0
 resources/library/shape/{nofill_exagon.svg => vide hexagone.svg}  | 0
 .../library/shape/{nofill_pentagon.svg => vide pentagone.svg}     | 0
 .../shape/{nofill_rectangle_rnd.svg => vide rectangle arr.svg}    | 0
 .../library/shape/{nofill_rectangle.svg => vide rectangle.svg}    | 0
 .../library/shape/{white_star_rnd.svg => étoile blanche arr.svg} | 0
 resources/library/shape/{white_star.svg => étoile blanche.svg}   | 0
 .../library/shape/{blue_star_rnd.svg => étoile bleue arr.svg}    | 0
 resources/library/shape/{blue_star.svg => étoile bleue.svg}      | 0
 .../library/shape/{nofill_star_rnd.svg => étoile vide arr.svg}   | 0
 resources/library/shape/{nofill_star.svg => étoile vide.svg}     | 0
 96 files changed, 0 insertions(+), 0 deletions(-)
 rename resources/library/shape/{white_bubble_speak_left.svg => blanche bulle gauche.svg} (100%)
 rename resources/library/shape/{white_bubble_think.svg => blanche bulle idée.svg} (100%)
 rename resources/library/shape/{white_cylinder.svg => blanche cylindre.svg} (100%)
 rename resources/library/shape/{white_disk.svg => blanche disque.svg} (100%)
 rename resources/library/shape/{white_exagon.svg => blanche hexagone.svg} (100%)
 rename resources/library/shape/{white_pentagon.svg => blanche pentagone.svg} (100%)
 rename resources/library/shape/{blue_bubble_speak_left.svg => bleu bulle gauche.svg} (100%)
 rename resources/library/shape/{blue_bubble_think.svg => bleu bulle idée.svg} (100%)
 rename resources/library/shape/{blue_bubble_speak.svg => bleu bulle.svg} (100%)
 rename resources/library/shape/{blue_square_rnd.svg => bleu carré arr.svg} (100%)
 rename resources/library/shape/{blue_square.svg => bleu carré.svg} (100%)
 rename resources/library/shape/{blue_cylinder.svg => bleu cylindre.svg} (100%)
 rename resources/library/shape/{blue_disk.svg => bleu disque.svg} (100%)
 rename resources/library/shape/{blue_arrow_down.svg => bleu flèche bas.svg} (100%)
 rename resources/library/shape/{blue_exagon.svg => bleu hexagone.svg} (100%)
 rename resources/library/shape/{blue_pentagon.svg => bleu pentagone.svg} (100%)
 rename resources/library/shape/{blue_rectangle_rnd.svg => bleu rectangle arr.svg} (100%)
 rename resources/library/shape/{blue_rectangle.svg => bleu rectangle.svg} (100%)
 rename resources/library/shape/{blue_triangle_rnd.svg => bleu triangle arr.svg} (100%)
 rename resources/library/shape/{blue_triangle.svg => bleu triangle.svg} (100%)
 rename resources/library/shape/{white_bubble_speak.svg => bulle blanche.svg} (100%)
 rename resources/library/shape/{white_square_rnd.svg => carré blanc arr.svg} (100%)
 rename resources/library/shape/{white_square.svg => carré blanc.svg} (100%)
 rename resources/library/shape/{white_arrow_down.svg => flèche blanche bas.svg} (100%)
 rename resources/library/shape/{white_arrow_right.svg => flèche blanche droite.svg} (100%)
 rename resources/library/shape/{white_arrow_left.svg => flèche blanche gauche.svg} (100%)
 rename resources/library/shape/{white_arrow_up.svg => flèche blanche haut.svg} (100%)
 rename resources/library/shape/{blue_flèche_down.svg => flèche bleue bas.svg} (100%)
 rename resources/library/shape/{blue_arrow_right.svg => flèche bleue droite.svg} (100%)
 rename resources/library/shape/{blue_arrow_left.svg => flèche bleue gauche.svg} (100%)
 rename resources/library/shape/{blue_arrow_up.svg => flèche bleue haut.svg} (100%)
 rename resources/library/shape/{grey_arrow_down.svg => flèche grise bas.svg} (100%)
 rename resources/library/shape/{grey_arrow_right.svg => flèche grise droite.svg} (100%)
 rename resources/library/shape/{grey_arrow_left.svg => flèche grise gauche.svg} (100%)
 rename resources/library/shape/{grey_arrow_up.svg => flèche grise haut.svg} (100%)
 rename resources/library/shape/{red_arrow_down.svg => flèche rouge bas.svg} (100%)
 rename resources/library/shape/{red_arrow_right.svg => flèche rouge droite.svg} (100%)
 rename resources/library/shape/{red_arrow_left.svg => flèche rouge gauche.svg} (100%)
 rename resources/library/shape/{red_arrow_up.svg => flèche rouge haut.svg} (100%)
 rename resources/library/shape/{nofill_arrow_down.svg => flèche vide bas.svg} (100%)
 rename resources/library/shape/{nofill_arrow_right.svg => flèche vide droite.svg} (100%)
 rename resources/library/shape/{nofill_arrow_left.svg => flèche vide gauche.svg} (100%)
 rename resources/library/shape/{nofill_arrow_up.svg => flèche vide haut.svg} (100%)
 rename resources/library/shape/{grey_bubble_speak_left.svg => gris bulle gauche.svg} (100%)
 rename resources/library/shape/{grey_bubble_think.svg => gris bulle idée.svg} (100%)
 rename resources/library/shape/{grey_bubble_speak.svg => gris bulle.svg} (100%)
 rename resources/library/shape/{grey_square_rnd.svg => gris carré arr.svg} (100%)
 rename resources/library/shape/{grey_square.svg => gris carré.svg} (100%)
 rename resources/library/shape/{grey_cylinder.svg => gris cylindre.svg} (100%)
 rename resources/library/shape/{grey_disk.svg => gris disque.svg} (100%)
 rename resources/library/shape/{grey_exagon.svg => gris hexagone.svg} (100%)
 rename resources/library/shape/{grey_pentagon.svg => gris pentagone.svg} (100%)
 rename resources/library/shape/{grey_rectangle_rnd.svg => gris rectangle arr.svg} (100%)
 rename resources/library/shape/{grey_rectangle.svg => gris rectangle.svg} (100%)
 rename resources/library/shape/{grey_triangle_rnd.svg => gris triangle arr.svg} (100%)
 rename resources/library/shape/{grey_triangle.svg => gris triangle.svg} (100%)
 rename resources/library/shape/{grey_star_rnd.svg => gris étoile arr.svg} (100%)
 rename resources/library/shape/{grey_star.svg => gris étoile.svg} (100%)
 rename resources/library/shape/{white_rectangle_rnd.svg => rectangle blanc arr.svg} (100%)
 rename resources/library/shape/{white_rectangle.svg => rectangle blanc.svg} (100%)
 rename resources/library/shape/{red_bubble_speak_left.svg => rouge bulle gauche.svg} (100%)
 rename resources/library/shape/{red_bubble_think.svg => rouge bulle idée.svg} (100%)
 rename resources/library/shape/{red_bubble_speak.svg => rouge bulle.svg} (100%)
 rename resources/library/shape/{red_square_rnd.svg => rouge carré arr.svg} (100%)
 rename resources/library/shape/{red_square.svg => rouge carré.svg} (100%)
 rename resources/library/shape/{red_cylinder.svg => rouge cylindre.svg} (100%)
 rename resources/library/shape/{red_disk.svg => rouge disque.svg} (100%)
 rename resources/library/shape/{red_exagon.svg => rouge hexagone.svg} (100%)
 rename resources/library/shape/{red_pentagon.svg => rouge pentagone.svg} (100%)
 rename resources/library/shape/{red_rectangle_rnd.svg => rouge rectangle arr.svg} (100%)
 rename resources/library/shape/{red_rectangle.svg => rouge rectangle.svg} (100%)
 rename resources/library/shape/{red_star_rnd.svg => rouge étoile arr.svg} (100%)
 rename resources/library/shape/{red_star.svg => rouge étoile.svg} (100%)
 rename resources/library/shape/{white_triangle_rnd.svg => triangle blanc arr.svg} (100%)
 rename resources/library/shape/{white_triangle.svg => triangle blanc.svg} (100%)
 rename resources/library/shape/{red_triangle_rnd.svg => triangle rouge arr.svg} (100%)
 rename resources/library/shape/{red_triangle.svg => triangle rouge.svg} (100%)
 rename resources/library/shape/{nofill_triangle_rnd.svg => triangle vide arr.svg} (100%)
 rename resources/library/shape/{nofill_triangle.svg => triangle vide.svg} (100%)
 rename resources/library/shape/{nofill_bubble_speak_left.svg => vide bulle gauche.svg} (100%)
 rename resources/library/shape/{nofill_bubble_think.svg => vide bulle idée.svg} (100%)
 rename resources/library/shape/{nofill_bubble_speak.svg => vide bulle.svg} (100%)
 rename resources/library/shape/{nofill_square_rnd.svg => vide carré arr.svg} (100%)
 rename resources/library/shape/{nofill_square.svg => vide carré.svg} (100%)
 rename resources/library/shape/{nofill_cylinder.svg => vide cylindre.svg} (100%)
 rename resources/library/shape/{nofill_disk.svg => vide disque.svg} (100%)
 rename resources/library/shape/{nofill_exagon.svg => vide hexagone.svg} (100%)
 rename resources/library/shape/{nofill_pentagon.svg => vide pentagone.svg} (100%)
 rename resources/library/shape/{nofill_rectangle_rnd.svg => vide rectangle arr.svg} (100%)
 rename resources/library/shape/{nofill_rectangle.svg => vide rectangle.svg} (100%)
 rename resources/library/shape/{white_star_rnd.svg => étoile blanche arr.svg} (100%)
 rename resources/library/shape/{white_star.svg => étoile blanche.svg} (100%)
 rename resources/library/shape/{blue_star_rnd.svg => étoile bleue arr.svg} (100%)
 rename resources/library/shape/{blue_star.svg => étoile bleue.svg} (100%)
 rename resources/library/shape/{nofill_star_rnd.svg => étoile vide arr.svg} (100%)
 rename resources/library/shape/{nofill_star.svg => étoile vide.svg} (100%)

diff --git a/resources/library/shape/white_bubble_speak_left.svg b/resources/library/shape/blanche bulle gauche.svg
similarity index 100%
rename from resources/library/shape/white_bubble_speak_left.svg
rename to resources/library/shape/blanche bulle gauche.svg
diff --git a/resources/library/shape/white_bubble_think.svg b/resources/library/shape/blanche bulle idée.svg
similarity index 100%
rename from resources/library/shape/white_bubble_think.svg
rename to resources/library/shape/blanche bulle idée.svg
diff --git a/resources/library/shape/white_cylinder.svg b/resources/library/shape/blanche cylindre.svg
similarity index 100%
rename from resources/library/shape/white_cylinder.svg
rename to resources/library/shape/blanche cylindre.svg
diff --git a/resources/library/shape/white_disk.svg b/resources/library/shape/blanche disque.svg
similarity index 100%
rename from resources/library/shape/white_disk.svg
rename to resources/library/shape/blanche disque.svg
diff --git a/resources/library/shape/white_exagon.svg b/resources/library/shape/blanche hexagone.svg
similarity index 100%
rename from resources/library/shape/white_exagon.svg
rename to resources/library/shape/blanche hexagone.svg
diff --git a/resources/library/shape/white_pentagon.svg b/resources/library/shape/blanche pentagone.svg
similarity index 100%
rename from resources/library/shape/white_pentagon.svg
rename to resources/library/shape/blanche pentagone.svg
diff --git a/resources/library/shape/blue_bubble_speak_left.svg b/resources/library/shape/bleu bulle gauche.svg
similarity index 100%
rename from resources/library/shape/blue_bubble_speak_left.svg
rename to resources/library/shape/bleu bulle gauche.svg
diff --git a/resources/library/shape/blue_bubble_think.svg b/resources/library/shape/bleu bulle idée.svg
similarity index 100%
rename from resources/library/shape/blue_bubble_think.svg
rename to resources/library/shape/bleu bulle idée.svg
diff --git a/resources/library/shape/blue_bubble_speak.svg b/resources/library/shape/bleu bulle.svg
similarity index 100%
rename from resources/library/shape/blue_bubble_speak.svg
rename to resources/library/shape/bleu bulle.svg
diff --git a/resources/library/shape/blue_square_rnd.svg b/resources/library/shape/bleu carré arr.svg
similarity index 100%
rename from resources/library/shape/blue_square_rnd.svg
rename to resources/library/shape/bleu carré arr.svg
diff --git a/resources/library/shape/blue_square.svg b/resources/library/shape/bleu carré.svg
similarity index 100%
rename from resources/library/shape/blue_square.svg
rename to resources/library/shape/bleu carré.svg
diff --git a/resources/library/shape/blue_cylinder.svg b/resources/library/shape/bleu cylindre.svg
similarity index 100%
rename from resources/library/shape/blue_cylinder.svg
rename to resources/library/shape/bleu cylindre.svg
diff --git a/resources/library/shape/blue_disk.svg b/resources/library/shape/bleu disque.svg
similarity index 100%
rename from resources/library/shape/blue_disk.svg
rename to resources/library/shape/bleu disque.svg
diff --git a/resources/library/shape/blue_arrow_down.svg b/resources/library/shape/bleu flèche bas.svg
similarity index 100%
rename from resources/library/shape/blue_arrow_down.svg
rename to resources/library/shape/bleu flèche bas.svg
diff --git a/resources/library/shape/blue_exagon.svg b/resources/library/shape/bleu hexagone.svg
similarity index 100%
rename from resources/library/shape/blue_exagon.svg
rename to resources/library/shape/bleu hexagone.svg
diff --git a/resources/library/shape/blue_pentagon.svg b/resources/library/shape/bleu pentagone.svg
similarity index 100%
rename from resources/library/shape/blue_pentagon.svg
rename to resources/library/shape/bleu pentagone.svg
diff --git a/resources/library/shape/blue_rectangle_rnd.svg b/resources/library/shape/bleu rectangle arr.svg
similarity index 100%
rename from resources/library/shape/blue_rectangle_rnd.svg
rename to resources/library/shape/bleu rectangle arr.svg
diff --git a/resources/library/shape/blue_rectangle.svg b/resources/library/shape/bleu rectangle.svg
similarity index 100%
rename from resources/library/shape/blue_rectangle.svg
rename to resources/library/shape/bleu rectangle.svg
diff --git a/resources/library/shape/blue_triangle_rnd.svg b/resources/library/shape/bleu triangle arr.svg
similarity index 100%
rename from resources/library/shape/blue_triangle_rnd.svg
rename to resources/library/shape/bleu triangle arr.svg
diff --git a/resources/library/shape/blue_triangle.svg b/resources/library/shape/bleu triangle.svg
similarity index 100%
rename from resources/library/shape/blue_triangle.svg
rename to resources/library/shape/bleu triangle.svg
diff --git a/resources/library/shape/white_bubble_speak.svg b/resources/library/shape/bulle blanche.svg
similarity index 100%
rename from resources/library/shape/white_bubble_speak.svg
rename to resources/library/shape/bulle blanche.svg
diff --git a/resources/library/shape/white_square_rnd.svg b/resources/library/shape/carré blanc arr.svg
similarity index 100%
rename from resources/library/shape/white_square_rnd.svg
rename to resources/library/shape/carré blanc arr.svg
diff --git a/resources/library/shape/white_square.svg b/resources/library/shape/carré blanc.svg
similarity index 100%
rename from resources/library/shape/white_square.svg
rename to resources/library/shape/carré blanc.svg
diff --git a/resources/library/shape/white_arrow_down.svg b/resources/library/shape/flèche blanche bas.svg
similarity index 100%
rename from resources/library/shape/white_arrow_down.svg
rename to resources/library/shape/flèche blanche bas.svg
diff --git a/resources/library/shape/white_arrow_right.svg b/resources/library/shape/flèche blanche droite.svg
similarity index 100%
rename from resources/library/shape/white_arrow_right.svg
rename to resources/library/shape/flèche blanche droite.svg
diff --git a/resources/library/shape/white_arrow_left.svg b/resources/library/shape/flèche blanche gauche.svg
similarity index 100%
rename from resources/library/shape/white_arrow_left.svg
rename to resources/library/shape/flèche blanche gauche.svg
diff --git a/resources/library/shape/white_arrow_up.svg b/resources/library/shape/flèche blanche haut.svg
similarity index 100%
rename from resources/library/shape/white_arrow_up.svg
rename to resources/library/shape/flèche blanche haut.svg
diff --git a/resources/library/shape/blue_flèche_down.svg b/resources/library/shape/flèche bleue bas.svg
similarity index 100%
rename from resources/library/shape/blue_flèche_down.svg
rename to resources/library/shape/flèche bleue bas.svg
diff --git a/resources/library/shape/blue_arrow_right.svg b/resources/library/shape/flèche bleue droite.svg
similarity index 100%
rename from resources/library/shape/blue_arrow_right.svg
rename to resources/library/shape/flèche bleue droite.svg
diff --git a/resources/library/shape/blue_arrow_left.svg b/resources/library/shape/flèche bleue gauche.svg
similarity index 100%
rename from resources/library/shape/blue_arrow_left.svg
rename to resources/library/shape/flèche bleue gauche.svg
diff --git a/resources/library/shape/blue_arrow_up.svg b/resources/library/shape/flèche bleue haut.svg
similarity index 100%
rename from resources/library/shape/blue_arrow_up.svg
rename to resources/library/shape/flèche bleue haut.svg
diff --git a/resources/library/shape/grey_arrow_down.svg b/resources/library/shape/flèche grise bas.svg
similarity index 100%
rename from resources/library/shape/grey_arrow_down.svg
rename to resources/library/shape/flèche grise bas.svg
diff --git a/resources/library/shape/grey_arrow_right.svg b/resources/library/shape/flèche grise droite.svg
similarity index 100%
rename from resources/library/shape/grey_arrow_right.svg
rename to resources/library/shape/flèche grise droite.svg
diff --git a/resources/library/shape/grey_arrow_left.svg b/resources/library/shape/flèche grise gauche.svg
similarity index 100%
rename from resources/library/shape/grey_arrow_left.svg
rename to resources/library/shape/flèche grise gauche.svg
diff --git a/resources/library/shape/grey_arrow_up.svg b/resources/library/shape/flèche grise haut.svg
similarity index 100%
rename from resources/library/shape/grey_arrow_up.svg
rename to resources/library/shape/flèche grise haut.svg
diff --git a/resources/library/shape/red_arrow_down.svg b/resources/library/shape/flèche rouge bas.svg
similarity index 100%
rename from resources/library/shape/red_arrow_down.svg
rename to resources/library/shape/flèche rouge bas.svg
diff --git a/resources/library/shape/red_arrow_right.svg b/resources/library/shape/flèche rouge droite.svg
similarity index 100%
rename from resources/library/shape/red_arrow_right.svg
rename to resources/library/shape/flèche rouge droite.svg
diff --git a/resources/library/shape/red_arrow_left.svg b/resources/library/shape/flèche rouge gauche.svg
similarity index 100%
rename from resources/library/shape/red_arrow_left.svg
rename to resources/library/shape/flèche rouge gauche.svg
diff --git a/resources/library/shape/red_arrow_up.svg b/resources/library/shape/flèche rouge haut.svg
similarity index 100%
rename from resources/library/shape/red_arrow_up.svg
rename to resources/library/shape/flèche rouge haut.svg
diff --git a/resources/library/shape/nofill_arrow_down.svg b/resources/library/shape/flèche vide bas.svg
similarity index 100%
rename from resources/library/shape/nofill_arrow_down.svg
rename to resources/library/shape/flèche vide bas.svg
diff --git a/resources/library/shape/nofill_arrow_right.svg b/resources/library/shape/flèche vide droite.svg
similarity index 100%
rename from resources/library/shape/nofill_arrow_right.svg
rename to resources/library/shape/flèche vide droite.svg
diff --git a/resources/library/shape/nofill_arrow_left.svg b/resources/library/shape/flèche vide gauche.svg
similarity index 100%
rename from resources/library/shape/nofill_arrow_left.svg
rename to resources/library/shape/flèche vide gauche.svg
diff --git a/resources/library/shape/nofill_arrow_up.svg b/resources/library/shape/flèche vide haut.svg
similarity index 100%
rename from resources/library/shape/nofill_arrow_up.svg
rename to resources/library/shape/flèche vide haut.svg
diff --git a/resources/library/shape/grey_bubble_speak_left.svg b/resources/library/shape/gris bulle gauche.svg
similarity index 100%
rename from resources/library/shape/grey_bubble_speak_left.svg
rename to resources/library/shape/gris bulle gauche.svg
diff --git a/resources/library/shape/grey_bubble_think.svg b/resources/library/shape/gris bulle idée.svg
similarity index 100%
rename from resources/library/shape/grey_bubble_think.svg
rename to resources/library/shape/gris bulle idée.svg
diff --git a/resources/library/shape/grey_bubble_speak.svg b/resources/library/shape/gris bulle.svg
similarity index 100%
rename from resources/library/shape/grey_bubble_speak.svg
rename to resources/library/shape/gris bulle.svg
diff --git a/resources/library/shape/grey_square_rnd.svg b/resources/library/shape/gris carré arr.svg
similarity index 100%
rename from resources/library/shape/grey_square_rnd.svg
rename to resources/library/shape/gris carré arr.svg
diff --git a/resources/library/shape/grey_square.svg b/resources/library/shape/gris carré.svg
similarity index 100%
rename from resources/library/shape/grey_square.svg
rename to resources/library/shape/gris carré.svg
diff --git a/resources/library/shape/grey_cylinder.svg b/resources/library/shape/gris cylindre.svg
similarity index 100%
rename from resources/library/shape/grey_cylinder.svg
rename to resources/library/shape/gris cylindre.svg
diff --git a/resources/library/shape/grey_disk.svg b/resources/library/shape/gris disque.svg
similarity index 100%
rename from resources/library/shape/grey_disk.svg
rename to resources/library/shape/gris disque.svg
diff --git a/resources/library/shape/grey_exagon.svg b/resources/library/shape/gris hexagone.svg
similarity index 100%
rename from resources/library/shape/grey_exagon.svg
rename to resources/library/shape/gris hexagone.svg
diff --git a/resources/library/shape/grey_pentagon.svg b/resources/library/shape/gris pentagone.svg
similarity index 100%
rename from resources/library/shape/grey_pentagon.svg
rename to resources/library/shape/gris pentagone.svg
diff --git a/resources/library/shape/grey_rectangle_rnd.svg b/resources/library/shape/gris rectangle arr.svg
similarity index 100%
rename from resources/library/shape/grey_rectangle_rnd.svg
rename to resources/library/shape/gris rectangle arr.svg
diff --git a/resources/library/shape/grey_rectangle.svg b/resources/library/shape/gris rectangle.svg
similarity index 100%
rename from resources/library/shape/grey_rectangle.svg
rename to resources/library/shape/gris rectangle.svg
diff --git a/resources/library/shape/grey_triangle_rnd.svg b/resources/library/shape/gris triangle arr.svg
similarity index 100%
rename from resources/library/shape/grey_triangle_rnd.svg
rename to resources/library/shape/gris triangle arr.svg
diff --git a/resources/library/shape/grey_triangle.svg b/resources/library/shape/gris triangle.svg
similarity index 100%
rename from resources/library/shape/grey_triangle.svg
rename to resources/library/shape/gris triangle.svg
diff --git a/resources/library/shape/grey_star_rnd.svg b/resources/library/shape/gris étoile arr.svg
similarity index 100%
rename from resources/library/shape/grey_star_rnd.svg
rename to resources/library/shape/gris étoile arr.svg
diff --git a/resources/library/shape/grey_star.svg b/resources/library/shape/gris étoile.svg
similarity index 100%
rename from resources/library/shape/grey_star.svg
rename to resources/library/shape/gris étoile.svg
diff --git a/resources/library/shape/white_rectangle_rnd.svg b/resources/library/shape/rectangle blanc arr.svg
similarity index 100%
rename from resources/library/shape/white_rectangle_rnd.svg
rename to resources/library/shape/rectangle blanc arr.svg
diff --git a/resources/library/shape/white_rectangle.svg b/resources/library/shape/rectangle blanc.svg
similarity index 100%
rename from resources/library/shape/white_rectangle.svg
rename to resources/library/shape/rectangle blanc.svg
diff --git a/resources/library/shape/red_bubble_speak_left.svg b/resources/library/shape/rouge bulle gauche.svg
similarity index 100%
rename from resources/library/shape/red_bubble_speak_left.svg
rename to resources/library/shape/rouge bulle gauche.svg
diff --git a/resources/library/shape/red_bubble_think.svg b/resources/library/shape/rouge bulle idée.svg
similarity index 100%
rename from resources/library/shape/red_bubble_think.svg
rename to resources/library/shape/rouge bulle idée.svg
diff --git a/resources/library/shape/red_bubble_speak.svg b/resources/library/shape/rouge bulle.svg
similarity index 100%
rename from resources/library/shape/red_bubble_speak.svg
rename to resources/library/shape/rouge bulle.svg
diff --git a/resources/library/shape/red_square_rnd.svg b/resources/library/shape/rouge carré arr.svg
similarity index 100%
rename from resources/library/shape/red_square_rnd.svg
rename to resources/library/shape/rouge carré arr.svg
diff --git a/resources/library/shape/red_square.svg b/resources/library/shape/rouge carré.svg
similarity index 100%
rename from resources/library/shape/red_square.svg
rename to resources/library/shape/rouge carré.svg
diff --git a/resources/library/shape/red_cylinder.svg b/resources/library/shape/rouge cylindre.svg
similarity index 100%
rename from resources/library/shape/red_cylinder.svg
rename to resources/library/shape/rouge cylindre.svg
diff --git a/resources/library/shape/red_disk.svg b/resources/library/shape/rouge disque.svg
similarity index 100%
rename from resources/library/shape/red_disk.svg
rename to resources/library/shape/rouge disque.svg
diff --git a/resources/library/shape/red_exagon.svg b/resources/library/shape/rouge hexagone.svg
similarity index 100%
rename from resources/library/shape/red_exagon.svg
rename to resources/library/shape/rouge hexagone.svg
diff --git a/resources/library/shape/red_pentagon.svg b/resources/library/shape/rouge pentagone.svg
similarity index 100%
rename from resources/library/shape/red_pentagon.svg
rename to resources/library/shape/rouge pentagone.svg
diff --git a/resources/library/shape/red_rectangle_rnd.svg b/resources/library/shape/rouge rectangle arr.svg
similarity index 100%
rename from resources/library/shape/red_rectangle_rnd.svg
rename to resources/library/shape/rouge rectangle arr.svg
diff --git a/resources/library/shape/red_rectangle.svg b/resources/library/shape/rouge rectangle.svg
similarity index 100%
rename from resources/library/shape/red_rectangle.svg
rename to resources/library/shape/rouge rectangle.svg
diff --git a/resources/library/shape/red_star_rnd.svg b/resources/library/shape/rouge étoile arr.svg
similarity index 100%
rename from resources/library/shape/red_star_rnd.svg
rename to resources/library/shape/rouge étoile arr.svg
diff --git a/resources/library/shape/red_star.svg b/resources/library/shape/rouge étoile.svg
similarity index 100%
rename from resources/library/shape/red_star.svg
rename to resources/library/shape/rouge étoile.svg
diff --git a/resources/library/shape/white_triangle_rnd.svg b/resources/library/shape/triangle blanc arr.svg
similarity index 100%
rename from resources/library/shape/white_triangle_rnd.svg
rename to resources/library/shape/triangle blanc arr.svg
diff --git a/resources/library/shape/white_triangle.svg b/resources/library/shape/triangle blanc.svg
similarity index 100%
rename from resources/library/shape/white_triangle.svg
rename to resources/library/shape/triangle blanc.svg
diff --git a/resources/library/shape/red_triangle_rnd.svg b/resources/library/shape/triangle rouge arr.svg
similarity index 100%
rename from resources/library/shape/red_triangle_rnd.svg
rename to resources/library/shape/triangle rouge arr.svg
diff --git a/resources/library/shape/red_triangle.svg b/resources/library/shape/triangle rouge.svg
similarity index 100%
rename from resources/library/shape/red_triangle.svg
rename to resources/library/shape/triangle rouge.svg
diff --git a/resources/library/shape/nofill_triangle_rnd.svg b/resources/library/shape/triangle vide arr.svg
similarity index 100%
rename from resources/library/shape/nofill_triangle_rnd.svg
rename to resources/library/shape/triangle vide arr.svg
diff --git a/resources/library/shape/nofill_triangle.svg b/resources/library/shape/triangle vide.svg
similarity index 100%
rename from resources/library/shape/nofill_triangle.svg
rename to resources/library/shape/triangle vide.svg
diff --git a/resources/library/shape/nofill_bubble_speak_left.svg b/resources/library/shape/vide bulle gauche.svg
similarity index 100%
rename from resources/library/shape/nofill_bubble_speak_left.svg
rename to resources/library/shape/vide bulle gauche.svg
diff --git a/resources/library/shape/nofill_bubble_think.svg b/resources/library/shape/vide bulle idée.svg
similarity index 100%
rename from resources/library/shape/nofill_bubble_think.svg
rename to resources/library/shape/vide bulle idée.svg
diff --git a/resources/library/shape/nofill_bubble_speak.svg b/resources/library/shape/vide bulle.svg
similarity index 100%
rename from resources/library/shape/nofill_bubble_speak.svg
rename to resources/library/shape/vide bulle.svg
diff --git a/resources/library/shape/nofill_square_rnd.svg b/resources/library/shape/vide carré arr.svg
similarity index 100%
rename from resources/library/shape/nofill_square_rnd.svg
rename to resources/library/shape/vide carré arr.svg
diff --git a/resources/library/shape/nofill_square.svg b/resources/library/shape/vide carré.svg
similarity index 100%
rename from resources/library/shape/nofill_square.svg
rename to resources/library/shape/vide carré.svg
diff --git a/resources/library/shape/nofill_cylinder.svg b/resources/library/shape/vide cylindre.svg
similarity index 100%
rename from resources/library/shape/nofill_cylinder.svg
rename to resources/library/shape/vide cylindre.svg
diff --git a/resources/library/shape/nofill_disk.svg b/resources/library/shape/vide disque.svg
similarity index 100%
rename from resources/library/shape/nofill_disk.svg
rename to resources/library/shape/vide disque.svg
diff --git a/resources/library/shape/nofill_exagon.svg b/resources/library/shape/vide hexagone.svg
similarity index 100%
rename from resources/library/shape/nofill_exagon.svg
rename to resources/library/shape/vide hexagone.svg
diff --git a/resources/library/shape/nofill_pentagon.svg b/resources/library/shape/vide pentagone.svg
similarity index 100%
rename from resources/library/shape/nofill_pentagon.svg
rename to resources/library/shape/vide pentagone.svg
diff --git a/resources/library/shape/nofill_rectangle_rnd.svg b/resources/library/shape/vide rectangle arr.svg
similarity index 100%
rename from resources/library/shape/nofill_rectangle_rnd.svg
rename to resources/library/shape/vide rectangle arr.svg
diff --git a/resources/library/shape/nofill_rectangle.svg b/resources/library/shape/vide rectangle.svg
similarity index 100%
rename from resources/library/shape/nofill_rectangle.svg
rename to resources/library/shape/vide rectangle.svg
diff --git a/resources/library/shape/white_star_rnd.svg b/resources/library/shape/étoile blanche arr.svg
similarity index 100%
rename from resources/library/shape/white_star_rnd.svg
rename to resources/library/shape/étoile blanche arr.svg
diff --git a/resources/library/shape/white_star.svg b/resources/library/shape/étoile blanche.svg
similarity index 100%
rename from resources/library/shape/white_star.svg
rename to resources/library/shape/étoile blanche.svg
diff --git a/resources/library/shape/blue_star_rnd.svg b/resources/library/shape/étoile bleue arr.svg
similarity index 100%
rename from resources/library/shape/blue_star_rnd.svg
rename to resources/library/shape/étoile bleue arr.svg
diff --git a/resources/library/shape/blue_star.svg b/resources/library/shape/étoile bleue.svg
similarity index 100%
rename from resources/library/shape/blue_star.svg
rename to resources/library/shape/étoile bleue.svg
diff --git a/resources/library/shape/nofill_star_rnd.svg b/resources/library/shape/étoile vide arr.svg
similarity index 100%
rename from resources/library/shape/nofill_star_rnd.svg
rename to resources/library/shape/étoile vide arr.svg
diff --git a/resources/library/shape/nofill_star.svg b/resources/library/shape/étoile vide.svg
similarity index 100%
rename from resources/library/shape/nofill_star.svg
rename to resources/library/shape/étoile vide.svg

From 4cec6e26625bf2f59581037683429a6734887a4f Mon Sep 17 00:00:00 2001
From: bmagnin <vi>
Date: Tue, 1 May 2012 16:40:37 +0200
Subject: [PATCH 08/31] french translation of shapes part 2

---
 .../library/shape/bulle blanche gauche.svg    | 123 ++++++
 .../library/shape/bulle blanche idée.svg    | 340 ++++++++++++++++
 .../library/shape/bulle bleue gauche.svg      | 363 ++++++++++++++++++
 .../library/shape/bulle bleue idée.svg      |  72 ++++
 resources/library/shape/bulle bleue.svg       |  33 ++
 .../library/shape/bulle grise gauche.svg      | 361 +++++++++++++++++
 .../library/shape/bulle grise idée.svg      |  72 ++++
 resources/library/shape/bulle grise.svg       |  34 ++
 .../library/shape/bulle rouge gauche.svg      | 362 +++++++++++++++++
 .../library/shape/bulle rouge idée.svg      |  74 ++++
 resources/library/shape/bulle rouge.svg       |  34 ++
 resources/library/shape/bulle vide gauche.svg | 327 ++++++++++++++++
 resources/library/shape/bulle vide idée.svg |  28 ++
 resources/library/shape/bulle vide.svg        |  16 +
 resources/library/shape/carré blanc arr.svg | 106 +++++
 resources/library/shape/carré blanc.svg     | 113 ++++++
 resources/library/shape/carré bleu arr.svg  |  24 ++
 resources/library/shape/carré bleu.svg      |  21 +
 resources/library/shape/carré gris arr.svg  |  24 ++
 resources/library/shape/carré gris.svg      |  21 +
 resources/library/shape/carré rouge arr.svg |  24 ++
 resources/library/shape/carré rouge.svg     |  21 +
 resources/library/shape/carré vide arr.svg  |  12 +
 resources/library/shape/carré vide.svg      |  12 +
 resources/library/shape/cylindre blanc.svg    | 150 ++++++++
 resources/library/shape/cylindre bleu.svg     |  35 ++
 resources/library/shape/cylindre gris.svg     |  35 ++
 resources/library/shape/cylindre rouge.svg    |  35 ++
 resources/library/shape/cylindre vide.svg     |  19 +
 resources/library/shape/disque blanc.svg      | 110 ++++++
 resources/library/shape/disque bleu.svg       |  20 +
 resources/library/shape/disque gris.svg       |  20 +
 resources/library/shape/disque rouge.svg      |  20 +
 resources/library/shape/disque vide.svg       |  11 +
 .../library/shape/étoile blanche arr.svg    | 140 +++++++
 resources/library/shape/étoile blanche.svg  | 124 ++++++
 .../library/shape/étoile bleue arr.svg      |  38 ++
 resources/library/shape/étoile bleue.svg    |  29 ++
 .../library/shape/étoile grise arr.svg      |  38 ++
 resources/library/shape/étoile grise.svg    |  30 ++
 .../library/shape/étoile rouge arr.svg      |  38 ++
 resources/library/shape/étoile rouge.svg    |  30 ++
 resources/library/shape/étoile vide arr.svg |  18 +
 resources/library/shape/étoile vide.svg     |  14 +
 .../library/shape/flèche blanche bas.svg    | 102 +++++
 .../library/shape/flèche blanche droite.svg | 103 +++++
 .../library/shape/flèche blanche gauche.svg | 102 +++++
 .../library/shape/flèche blanche haut.svg   | 103 +++++
 .../library/shape/flèche bleue bas.svg      |  33 ++
 .../library/shape/flèche bleue droite.svg   |  33 ++
 .../library/shape/flèche bleue gauche.svg   |  33 ++
 .../library/shape/flèche bleue haut.svg     |  34 ++
 .../library/shape/flèche grise bas.svg      |  34 ++
 .../library/shape/flèche grise droite.svg   |  34 ++
 .../library/shape/flèche grise gauche.svg   |  34 ++
 .../library/shape/flèche grise haut.svg     |  34 ++
 .../library/shape/flèche rouge bas.svg      |  34 ++
 .../library/shape/flèche rouge droite.svg   |  34 ++
 .../library/shape/flèche rouge gauche.svg   |  34 ++
 .../library/shape/flèche rouge haut.svg     |  34 ++
 resources/library/shape/flèche vide bas.svg |  16 +
 .../library/shape/flèche vide droite.svg    |  16 +
 .../library/shape/flèche vide gauche.svg    |  16 +
 .../library/shape/flèche vide haut.svg      |  16 +
 resources/library/shape/hexagone blanc.svg    | 107 ++++++
 resources/library/shape/hexagone bleu.svg     |  32 ++
 resources/library/shape/hexagone gris.svg     |  32 ++
 resources/library/shape/hexagone rouge.svg    |  32 ++
 resources/library/shape/hexagone vide.svg     |  16 +
 resources/library/shape/pentagone blanc.svg   | 124 ++++++
 resources/library/shape/pentagone bleu.svg    |  30 ++
 resources/library/shape/pentagone gris.svg    |  30 ++
 resources/library/shape/pentagone rouge.svg   |  30 ++
 resources/library/shape/pentagone vide.svg    |  14 +
 .../library/shape/rectangle bleu arr.svg      |  32 ++
 resources/library/shape/rectangle bleu.svg    |  40 ++
 .../library/shape/rectangle gris arr.svg      |  32 ++
 resources/library/shape/rectangle gris.svg    |  48 +++
 .../library/shape/rectangle rouge arr.svg     |  32 ++
 resources/library/shape/rectangle rouge.svg   |  48 +++
 .../library/shape/rectangle vide arr.svg      |  16 +
 resources/library/shape/rectangle vide.svg    |  18 +
 resources/library/shape/triangle bleu arr.svg |  34 ++
 resources/library/shape/triangle bleu.svg     |  30 ++
 resources/library/shape/triangle gris arr.svg |  34 ++
 resources/library/shape/triangle gris.svg     |  30 ++
 86 files changed, 5291 insertions(+)
 create mode 100644 resources/library/shape/bulle blanche gauche.svg
 create mode 100644 resources/library/shape/bulle blanche idée.svg
 create mode 100644 resources/library/shape/bulle bleue gauche.svg
 create mode 100644 resources/library/shape/bulle bleue idée.svg
 create mode 100644 resources/library/shape/bulle bleue.svg
 create mode 100644 resources/library/shape/bulle grise gauche.svg
 create mode 100644 resources/library/shape/bulle grise idée.svg
 create mode 100644 resources/library/shape/bulle grise.svg
 create mode 100644 resources/library/shape/bulle rouge gauche.svg
 create mode 100644 resources/library/shape/bulle rouge idée.svg
 create mode 100644 resources/library/shape/bulle rouge.svg
 create mode 100644 resources/library/shape/bulle vide gauche.svg
 create mode 100644 resources/library/shape/bulle vide idée.svg
 create mode 100644 resources/library/shape/bulle vide.svg
 create mode 100644 resources/library/shape/carré blanc arr.svg
 create mode 100644 resources/library/shape/carré blanc.svg
 create mode 100644 resources/library/shape/carré bleu arr.svg
 create mode 100644 resources/library/shape/carré bleu.svg
 create mode 100644 resources/library/shape/carré gris arr.svg
 create mode 100644 resources/library/shape/carré gris.svg
 create mode 100644 resources/library/shape/carré rouge arr.svg
 create mode 100644 resources/library/shape/carré rouge.svg
 create mode 100644 resources/library/shape/carré vide arr.svg
 create mode 100644 resources/library/shape/carré vide.svg
 create mode 100644 resources/library/shape/cylindre blanc.svg
 create mode 100644 resources/library/shape/cylindre bleu.svg
 create mode 100644 resources/library/shape/cylindre gris.svg
 create mode 100644 resources/library/shape/cylindre rouge.svg
 create mode 100644 resources/library/shape/cylindre vide.svg
 create mode 100644 resources/library/shape/disque blanc.svg
 create mode 100644 resources/library/shape/disque bleu.svg
 create mode 100644 resources/library/shape/disque gris.svg
 create mode 100644 resources/library/shape/disque rouge.svg
 create mode 100644 resources/library/shape/disque vide.svg
 create mode 100644 resources/library/shape/étoile blanche arr.svg
 create mode 100644 resources/library/shape/étoile blanche.svg
 create mode 100644 resources/library/shape/étoile bleue arr.svg
 create mode 100644 resources/library/shape/étoile bleue.svg
 create mode 100644 resources/library/shape/étoile grise arr.svg
 create mode 100644 resources/library/shape/étoile grise.svg
 create mode 100644 resources/library/shape/étoile rouge arr.svg
 create mode 100644 resources/library/shape/étoile rouge.svg
 create mode 100644 resources/library/shape/étoile vide arr.svg
 create mode 100644 resources/library/shape/étoile vide.svg
 create mode 100644 resources/library/shape/flèche blanche bas.svg
 create mode 100644 resources/library/shape/flèche blanche droite.svg
 create mode 100644 resources/library/shape/flèche blanche gauche.svg
 create mode 100644 resources/library/shape/flèche blanche haut.svg
 create mode 100644 resources/library/shape/flèche bleue bas.svg
 create mode 100644 resources/library/shape/flèche bleue droite.svg
 create mode 100644 resources/library/shape/flèche bleue gauche.svg
 create mode 100644 resources/library/shape/flèche bleue haut.svg
 create mode 100644 resources/library/shape/flèche grise bas.svg
 create mode 100644 resources/library/shape/flèche grise droite.svg
 create mode 100644 resources/library/shape/flèche grise gauche.svg
 create mode 100644 resources/library/shape/flèche grise haut.svg
 create mode 100644 resources/library/shape/flèche rouge bas.svg
 create mode 100644 resources/library/shape/flèche rouge droite.svg
 create mode 100644 resources/library/shape/flèche rouge gauche.svg
 create mode 100644 resources/library/shape/flèche rouge haut.svg
 create mode 100644 resources/library/shape/flèche vide bas.svg
 create mode 100644 resources/library/shape/flèche vide droite.svg
 create mode 100644 resources/library/shape/flèche vide gauche.svg
 create mode 100644 resources/library/shape/flèche vide haut.svg
 create mode 100644 resources/library/shape/hexagone blanc.svg
 create mode 100644 resources/library/shape/hexagone bleu.svg
 create mode 100644 resources/library/shape/hexagone gris.svg
 create mode 100644 resources/library/shape/hexagone rouge.svg
 create mode 100644 resources/library/shape/hexagone vide.svg
 create mode 100644 resources/library/shape/pentagone blanc.svg
 create mode 100644 resources/library/shape/pentagone bleu.svg
 create mode 100644 resources/library/shape/pentagone gris.svg
 create mode 100644 resources/library/shape/pentagone rouge.svg
 create mode 100644 resources/library/shape/pentagone vide.svg
 create mode 100644 resources/library/shape/rectangle bleu arr.svg
 create mode 100644 resources/library/shape/rectangle bleu.svg
 create mode 100644 resources/library/shape/rectangle gris arr.svg
 create mode 100644 resources/library/shape/rectangle gris.svg
 create mode 100644 resources/library/shape/rectangle rouge arr.svg
 create mode 100644 resources/library/shape/rectangle rouge.svg
 create mode 100644 resources/library/shape/rectangle vide arr.svg
 create mode 100644 resources/library/shape/rectangle vide.svg
 create mode 100644 resources/library/shape/triangle bleu arr.svg
 create mode 100644 resources/library/shape/triangle bleu.svg
 create mode 100644 resources/library/shape/triangle gris arr.svg
 create mode 100644 resources/library/shape/triangle gris.svg

diff --git a/resources/library/shape/bulle blanche gauche.svg b/resources/library/shape/bulle blanche gauche.svg
new file mode 100644
index 00000000..3a011abf
--- /dev/null
+++ b/resources/library/shape/bulle blanche gauche.svg	
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<svg
+   xmlns:i="http://ns.adobe.com/AdobeIllustrator/10.0/"
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   id="Layer_1"
+   x="0px"
+   y="0px"
+   width="153.157px"
+   height="137.618px"
+   viewBox="0 0 153.157 137.618"
+   enable-background="new 0 0 153.157 137.618"
+   xml:space="preserve"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="red_bubble_speak_left.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
+   id="metadata4295"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+   id="defs4293"><inkscape:perspective
+   sodipodi:type="inkscape:persp3d"
+   inkscape:vp_x="0 : 68.808998 : 1"
+   inkscape:vp_y="0 : 1000 : 0"
+   inkscape:vp_z="153.157 : 68.808998 : 1"
+   inkscape:persp3d-origin="76.578499 : 45.872665 : 1"
+   id="perspective4297" />
+	<foreignObject
+   id="foreignObject4273"
+   height="1"
+   width="1"
+   y="0"
+   x="0"
+   requiredExtensions="http://ns.adobe.com/AdobeIllustrator/10.0/">
+		<i:pgfRef
+   xlink:href="#adobe_illustrator_pgf">
+		</i:pgfRef>
+	</foreignObject>
+	
+<linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_2_"
+   id="linearGradient4328"
+   gradientUnits="userSpaceOnUse"
+   x1="6.2402"
+   y1="68.174301"
+   x2="149.0103"
+   y2="68.174301" />
+		
+		
+		
+	<linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_2_"
+   id="linearGradient4338"
+   gradientUnits="userSpaceOnUse"
+   x1="6.2402"
+   y1="68.174301"
+   x2="149.0103"
+   y2="68.174301" />
+			<linearGradient
+   y2="68.174301"
+   x2="149.0103"
+   y1="68.174301"
+   x1="6.2402"
+   gradientUnits="userSpaceOnUse"
+   id="SVGID_2_">
+	<stop
+   id="stop4288"
+   style="stop-color:#FFFFFF"
+   offset="0" />
+			</linearGradient>
+			
+		<linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_2_"
+   id="linearGradient4343"
+   gradientUnits="userSpaceOnUse"
+   x1="6.2402"
+   y1="68.174301"
+   x2="149.0103"
+   y2="68.174301" />
+			
+			
+		</defs><sodipodi:namedview
+   inkscape:window-height="669"
+   inkscape:window-width="640"
+   inkscape:pageshadow="2"
+   inkscape:pageopacity="0.0"
+   guidetolerance="10.0"
+   gridtolerance="10.0"
+   objecttolerance="10.0"
+   borderopacity="1.0"
+   bordercolor="#666666"
+   pagecolor="#ffffff"
+   id="base"
+   showgrid="false"
+   inkscape:zoom="3.5169819"
+   inkscape:cx="76.578499"
+   inkscape:cy="68.808998"
+   inkscape:window-x="243"
+   inkscape:window-y="125"
+   inkscape:current-layer="Layer_1" />
+<g
+   id="g4347">
+   
+     
+     <path
+     d="M 153.432,96.928 C 153.432,101.768 149.51,105.692 144.672,105.692 L 73.532,105.692 L 73.532,136.387 L 53.426,105.692 L 18.155,105.692 C 13.317,105.692 9.394,101.768 9.394,96.928 L 9.394,13.982 C 9.394,9.142 13.317,5.22 18.155,5.22 L 144.673,5.22 C 149.511,5.22 153.433,9.142 153.433,13.982 L 153.433,96.928 L 153.432,96.928 z"
+     id="path4281"
+     style="opacity:0.25" /><path
+     d="M 150.127,94.299 C 150.127,99.138 146.205,103.062 141.365,103.062 L 70.227,103.062 L 70.227,133.758 L 50.12,103.062 L 14.85,103.062 C 10.011,103.062 6.088,99.138 6.088,94.299 L 6.088,11.353 C 6.088,6.513 10.011,2.591 14.85,2.591 L 141.366,2.591 C 146.206,2.591 150.128,6.513 150.128,11.353 L 150.128,94.299 L 150.127,94.299 z"
+     id="path4290"
+     style="fill:url(#linearGradient4343);stroke:#000000" /></g>
+</svg>
\ No newline at end of file
diff --git a/resources/library/shape/bulle blanche idée.svg b/resources/library/shape/bulle blanche idée.svg
new file mode 100644
index 00000000..8c49b12b
--- /dev/null
+++ b/resources/library/shape/bulle blanche idée.svg	
@@ -0,0 +1,340 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   id="Layer_1"
+   x="0px"
+   y="0px"
+   width="153.157px"
+   height="137.618px"
+   viewBox="0 0 153.157 137.618"
+   enable-background="new 0 0 153.157 137.618"
+   xml:space="preserve"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="red_bubble_think.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
+   id="metadata2583"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+   id="defs2581"><inkscape:perspective
+   sodipodi:type="inkscape:persp3d"
+   inkscape:vp_x="0 : 68.808998 : 1"
+   inkscape:vp_y="0 : 1000 : 0"
+   inkscape:vp_z="153.157 : 68.808998 : 1"
+   inkscape:persp3d-origin="76.578499 : 45.872665 : 1"
+   id="perspective2585" />
+	
+	
+<linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_1_"
+   id="linearGradient3395"
+   gradientUnits="userSpaceOnUse"
+   x1="78.9702"
+   y1="128.8438"
+   x2="88.9468"
+   y2="128.8438" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_2_"
+   id="linearGradient3397"
+   gradientUnits="userSpaceOnUse"
+   x1="78.9702"
+   y1="128.8438"
+   x2="88.9468"
+   y2="128.8438" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_3_"
+   id="linearGradient3399"
+   gradientUnits="userSpaceOnUse"
+   x1="82.856903"
+   y1="113.6045"
+   x2="98.319801"
+   y2="113.6045" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_4_"
+   id="linearGradient3401"
+   gradientUnits="userSpaceOnUse"
+   x1="82.856903"
+   y1="113.6045"
+   x2="98.319801"
+   y2="113.6045" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_5_"
+   id="linearGradient3403"
+   gradientUnits="userSpaceOnUse"
+   x1="3.0302999"
+   y1="52.751999"
+   x2="147.0659"
+   y2="52.751999" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_6_"
+   id="linearGradient3405"
+   gradientUnits="userSpaceOnUse"
+   x1="3.0302999"
+   y1="52.751999"
+   x2="147.0659"
+   y2="52.751999" />
+		
+		
+		
+	
+		
+		
+		
+	
+			
+			
+		
+			
+			
+		
+			
+			
+		<linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_5_"
+   id="linearGradient3449"
+   gradientUnits="userSpaceOnUse"
+   x1="3.0302999"
+   y1="52.751999"
+   x2="147.0659"
+   y2="52.751999" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_6_"
+   id="linearGradient3451"
+   gradientUnits="userSpaceOnUse"
+   x1="3.0302999"
+   y1="52.751999"
+   x2="147.0659"
+   y2="52.751999" />
+			<linearGradient
+   y2="52.751999"
+   x2="147.0659"
+   y1="52.751999"
+   x1="3.0302999"
+   gradientUnits="userSpaceOnUse"
+   id="SVGID_5_">
+				<stop
+   id="stop2567"
+   style="stop-color:#FF897A"
+   offset="0" />
+				<stop
+   id="stop2569"
+   style="stop-color:#FF3400"
+   offset="1" />
+			</linearGradient>
+			
+			<linearGradient
+   y2="52.751999"
+   x2="147.0659"
+   y1="52.751999"
+   x1="3.0302999"
+   gradientUnits="userSpaceOnUse"
+   id="SVGID_6_">
+				<stop
+   id="stop2574"
+   style="stop-color:#FF897A"
+   offset="0" />
+				<stop
+   id="stop2576"
+   style="stop-color:#FF3400"
+   offset="1" />
+			</linearGradient>
+			
+		<linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_6_"
+   id="linearGradient3460"
+   gradientUnits="userSpaceOnUse"
+   x1="3.0302999"
+   y1="52.751999"
+   x2="147.0659"
+   y2="52.751999" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_5_"
+   id="linearGradient3463"
+   gradientUnits="userSpaceOnUse"
+   x1="3.0302999"
+   y1="52.751999"
+   x2="147.0659"
+   y2="52.751999" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_3_"
+   id="linearGradient3465"
+   gradientUnits="userSpaceOnUse"
+   x1="82.856903"
+   y1="113.6045"
+   x2="98.319801"
+   y2="113.6045" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_4_"
+   id="linearGradient3467"
+   gradientUnits="userSpaceOnUse"
+   x1="82.856903"
+   y1="113.6045"
+   x2="98.319801"
+   y2="113.6045" />
+			<linearGradient
+   y2="113.6045"
+   x2="98.319801"
+   y1="113.6045"
+   x1="82.856903"
+   gradientUnits="userSpaceOnUse"
+   id="SVGID_3_">
+				<stop
+   id="stop2551"
+   style="stop-color:#FF897A"
+   offset="0" />
+				<stop
+   id="stop2553"
+   style="stop-color:#FF3400"
+   offset="1" />
+			</linearGradient>
+			
+			<linearGradient
+   y2="113.6045"
+   x2="98.319801"
+   y1="113.6045"
+   x1="82.856903"
+   gradientUnits="userSpaceOnUse"
+   id="SVGID_4_">
+				<stop
+   id="stop2558"
+   style="stop-color:#FF897A"
+   offset="0" />
+				<stop
+   id="stop2560"
+   style="stop-color:#FF3400"
+   offset="1" />
+			</linearGradient>
+			
+		<linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_4_"
+   id="linearGradient3476"
+   gradientUnits="userSpaceOnUse"
+   x1="82.856903"
+   y1="113.6045"
+   x2="98.319801"
+   y2="113.6045" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_1_"
+   id="linearGradient3481"
+   gradientUnits="userSpaceOnUse"
+   x1="78.9702"
+   y1="128.8438"
+   x2="88.9468"
+   y2="128.8438" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_2_"
+   id="linearGradient3483"
+   gradientUnits="userSpaceOnUse"
+   x1="78.9702"
+   y1="128.8438"
+   x2="88.9468"
+   y2="128.8438" />
+			<linearGradient
+   y2="128.8438"
+   x2="88.9468"
+   y1="128.8438"
+   x1="78.9702"
+   gradientUnits="userSpaceOnUse"
+   id="SVGID_1_">
+				<stop
+   id="stop2535"
+   style="stop-color:#FF897A"
+   offset="0" />
+				<stop
+   id="stop2537"
+   style="stop-color:#FF3400"
+   offset="1" />
+			</linearGradient>
+			
+			<linearGradient
+   y2="128.8438"
+   x2="88.9468"
+   y1="128.8438"
+   x1="78.9702"
+   gradientUnits="userSpaceOnUse"
+   id="SVGID_2_">
+				<stop
+   id="stop2542"
+   style="stop-color:#FF897A"
+   offset="0" />
+				<stop
+   id="stop2544"
+   style="stop-color:#FF3400"
+   offset="1" />
+			</linearGradient>
+			
+		</defs><sodipodi:namedview
+   inkscape:window-height="970"
+   inkscape:window-width="1664"
+   inkscape:pageshadow="2"
+   inkscape:pageopacity="0.0"
+   guidetolerance="10.0"
+   gridtolerance="10.0"
+   objecttolerance="10.0"
+   borderopacity="1.0"
+   bordercolor="#666666"
+   pagecolor="#ffffff"
+   id="base"
+   showgrid="false"
+   inkscape:zoom="3.5169819"
+   inkscape:cx="20.848897"
+   inkscape:cy="68.808998"
+   inkscape:window-x="0"
+   inkscape:window-y="44"
+   inkscape:current-layer="Layer_1" />
+
+<g
+   id="g3415">
+   
+     
+     <path
+     clip-rule="evenodd"
+     d="M 82.666,131.472 C 82.666,128.718 84.898,126.488 87.654,126.488 C 90.408,126.488 92.642,128.718 92.642,131.472 C 92.642,134.228 90.408,136.462 87.654,136.462 C 84.898,136.462 82.666,134.228 82.666,131.472 z"
+     id="path2514"
+     style="opacity:0.25;fill-rule:evenodd" /><circle
+     clip-rule="evenodd"
+     cx="94.283997"
+     cy="116.233"
+     r="7.7309999"
+     id="circle2520"
+     sodipodi:cx="94.283997"
+     sodipodi:cy="116.233"
+     sodipodi:rx="7.7309999"
+     sodipodi:ry="7.7309999"
+     style="opacity:0.25;fill-rule:evenodd" /><path
+     clip-rule="evenodd"
+     d="M 6.725,13.909 C 6.725,9.069 10.647,5.147 15.486,5.147 L 142.002,5.147 C 146.84,5.147 150.762,9.069 150.762,13.909 L 150.762,96.855 C 150.762,101.695 146.84,105.619 142.002,105.619 L 15.486,105.619 C 10.647,105.619 6.725,101.695 6.725,96.855 L 6.725,13.909 L 6.725,13.909 z"
+     id="path2526"
+     style="opacity:0.25;fill-rule:evenodd" /><circle
+     clip-rule="evenodd"
+     cx="83.958"
+     cy="128.843"
+     r="4.9879999"
+     id="circle2539"
+     style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;fill-opacity:1;stroke-opacity:1"
+     sodipodi:cx="83.958"
+     sodipodi:cy="128.843"
+     sodipodi:rx="4.9879999"
+     sodipodi:ry="4.9879999" /><path
+     clip-rule="evenodd"
+     d="M 82.857,113.603 C 82.857,109.335 86.318,105.873 90.587,105.873 C 94.858,105.873 98.319,109.336 98.319,113.603 C 98.319,117.876 94.858,121.337 90.587,121.337 C 86.318,121.337 82.857,117.876 82.857,113.603 z"
+     id="path2555"
+     style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;fill-opacity:1;stroke-opacity:1" /><path
+     clip-rule="evenodd"
+     d="M 3.03,11.279 C 3.03,6.439 6.952,2.517 11.791,2.517 L 138.306,2.517 C 143.146,2.517 147.066,6.439 147.066,11.279 L 147.066,94.226 C 147.066,99.064 143.146,102.988 138.306,102.988 L 11.791,102.988 C 6.952,102.988 3.03,99.064 3.03,94.226 L 3.03,11.279 L 3.03,11.279 z"
+     id="path2571"
+     style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;fill-opacity:1;stroke-opacity:1" /></g>
+</svg>
\ No newline at end of file
diff --git a/resources/library/shape/bulle bleue gauche.svg b/resources/library/shape/bulle bleue gauche.svg
new file mode 100644
index 00000000..3088d9f8
--- /dev/null
+++ b/resources/library/shape/bulle bleue gauche.svg	
@@ -0,0 +1,363 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" [
+	<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
+	<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
+	<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
+	<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
+	<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
+	<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
+	<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
+	<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
+]>
+<svg version="1.0" id="Layer_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="154.686px"
+	 height="138.05px" viewBox="0 0 154.686 138.05" enable-background="new 0 0 154.686 138.05" xml:space="preserve">
+<switch>
+	<foreignObject requiredExtensions="&ns_ai;" x="0" y="0" width="1" height="1">
+		<i:pgfRef  xlink:href="#adobe_illustrator_pgf">
+		</i:pgfRef>
+	</foreignObject>
+	<g i:extraneous="self">
+		<rect x="0" fill="none" width="154.686" height="138.05"/>
+		<g opacity="0.25">
+			<path d="M154.248,97.026c0,4.839-3.922,8.763-8.76,8.763H74.349v30.696l-20.107-30.696h-35.27c-4.838,0-8.763-3.924-8.763-8.763
+				V14.08c0-4.84,3.925-8.762,8.763-8.762h126.516c4.838,0,8.76,3.922,8.76,8.762V97.026z"/>
+			<path d="M154.248,97.026c0,4.839-3.922,8.763-8.76,8.763H74.349v30.696l-20.107-30.696h-35.27c-4.838,0-8.763-3.924-8.763-8.763
+				V14.08c0-4.84,3.925-8.762,8.763-8.762h126.516c4.838,0,8.76,3.922,8.76,8.762V97.026z"/>
+		</g>
+		<g>
+			<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="7.2712" y1="68.5093" x2="148.8914" y2="68.5093">
+				<stop  offset="0" style="stop-color:#7CD4FF"/>
+				<stop  offset="1" style="stop-color:#3777AE"/>
+			</linearGradient>
+			<path fill="url(#SVGID_1_)" stroke="#194E6A" d="M150.839,94.634c0,4.839-3.922,8.763-8.76,8.763h-71.14v30.696l-20.107-30.696
+				h-35.27c-4.838,0-8.76-3.924-8.76-8.763V11.688c0-4.84,3.922-8.762,8.76-8.762h126.517c4.838,0,8.76,3.922,8.76,8.762V94.634z"/>
+			<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="7.2712" y1="68.5093" x2="148.8914" y2="68.5093">
+				<stop  offset="0" style="stop-color:#7CD4FF"/>
+				<stop  offset="1" style="stop-color:#3777AE"/>
+			</linearGradient>
+			<path fill="url(#SVGID_2_)" stroke="#194E6A" d="M150.839,94.634c0,4.839-3.922,8.763-8.76,8.763h-71.14v30.696l-20.107-30.696
+				h-35.27c-4.838,0-8.76-3.924-8.76-8.763V11.688c0-4.84,3.922-8.762,8.76-8.762h126.517c4.838,0,8.76,3.922,8.76,8.762V94.634z"/>
+		</g>
+	</g>
+</switch>
+<i:pgf  id="adobe_illustrator_pgf">
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	hnar5w1FtNsnlfnVjmNKtKccyyv9z2EAqBcdN3Qr44HxqCEQDsOTljCbT1GDdLcofAzHjd4fQQzQ
+QfmHgh/0m88FaSYbZNJp+CONnjb6gQhuG6SjwcY4EO6mCuKsPHybDSfjnvgnmEeP7s8b7ZNyMB+U
+23ah7V4wAqOhutAaXkXR+UYXRtgNUMEC/H//V4BSOoY//sAfp/DhFzz6K8gFz4OPz1RwgNpdB7I8
+n8xyMKw0TyU5nssEvwM8wybpNM/ozxr6M57KJtMMl4Nn2nftnhm+S5gYFUydjGfBSOu21m199qbC
+zZ+pYJjLHEZ4GaCSPJejmCCVzPBZjqXxByqdzcKHHEXnMto8e8qkGXnSaCQclWaDGZpOcrkcTEx/
+RGWSmQxAzfJsksuyHDxhkjybYYPZTDaZ4WCNtCelAJ/jk2kqk9WfNfRngJQkxaEnAJ3N5ThTK45J
+0gx0bnzG8kkmx+iPeJZNshme0YelP1HGDmPQHuW4JMdxWQxJe5ZLMlmOD6qweYpNMhT8rfavPigF
+tAmqj9CiKVhQH+mIUgEbnijdlxYx3Ai82y8177LU/12r/5y1agObUUkmbRQv8M8gkAlGosH7O5Vv
+g9fAuzkW/Yd4Nk3lEMuy2SzDphEA+IfJwQd4TrHoA4u4GjE6R6cz2UzwvmBlaDaZQ/yeodlkNkdl
+MJWoz6hckkrTWZg8gARUwpM0oBOEbjaTTjJo7bQniEo46DjD688a+rM0D2hjaSz2EPxsjjW1Y7NJ
+ns6Zvwurm83SWf0Zz+SSuYw+LvVvdewwBuVJLpPMshkMRX7CUzTIOCBXDSoIvGQ6l6ODWt/aE0Qk
+yvy0Z4hKFCxozzRMadB13KkjKNnguBEo9mEri7TH4963MAh+iL3BEHa+KFo6imXSnEwIgCaWYTKG
+/Y4KFj8CNAe9MZT8d4JmATsZHuiZhWVmsmgevDy+e1hMmuGgUz5taZzgWUTImWxWb1588w66SAad
+xQLBArgfYILF4rKS7L9E+u9DpEiv+i+ZEoS4SUE0SfBGUVZmQbXFKmcigf5mZeW2JE6mUmAuCeIA
++gym0IvxBD0974lfUvBrPPlrHBxPZsH/q6ujc7wrwI4QrNmrplQyvaic8jRnUUS/A5ksv6Cctgwq
+a4ZeVGNZTm/ZDuS0fUqDrymwBvgGpdYAn6d5taX+jOP0lkb42WzGoiB/B3KIZi1Kc8ugSuvw9Weu
+8A340eCb8KOr5Tp+9Gf2+NE//b/g8F2mAKAIef3D4WbvQ7gRe8MRmDofUu+3EOyNYdV7M2EKb4AF
+BWk2EYWg9Dn5Cz2Br6jNwWi6rAb+P1q+FA8=
+	]]>
+</i:pgf>
+</svg>
diff --git a/resources/library/shape/bulle bleue idée.svg b/resources/library/shape/bulle bleue idée.svg
new file mode 100644
index 00000000..0456e5a9
--- /dev/null
+++ b/resources/library/shape/bulle bleue idée.svg	
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="154.685px" height="138.05px" viewBox="0 0 154.685 138.05" enable-background="new 0 0 154.685 138.05"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<g>
+			<circle fill-rule="evenodd" clip-rule="evenodd" cx="88.365" cy="131.57" r="4.988"/>
+			<circle fill-rule="evenodd" clip-rule="evenodd" cx="88.365" cy="131.57" r="4.988"/>
+		</g>
+		<g>
+			<path fill-rule="evenodd" clip-rule="evenodd" d="M87.263,116.331c0-4.268,3.462-7.73,7.731-7.73c4.271,0,7.732,3.463,7.732,7.73
+				c0,4.272-3.462,7.733-7.732,7.733C90.725,124.064,87.263,120.604,87.263,116.331z"/>
+			<path fill-rule="evenodd" clip-rule="evenodd" d="M87.263,116.331c0-4.268,3.462-7.73,7.731-7.73c4.271,0,7.732,3.463,7.732,7.73
+				c0,4.272-3.462,7.733-7.732,7.733C90.725,124.064,87.263,120.604,87.263,116.331z"/>
+		</g>
+		<g>
+			<path fill-rule="evenodd" clip-rule="evenodd" d="M7.437,14.007c0-4.84,3.922-8.762,8.761-8.762h126.516
+				c4.838,0,8.76,3.922,8.76,8.762v82.946c0,4.839-3.922,8.763-8.76,8.763H16.198c-4.839,0-8.761-3.924-8.761-8.763V14.007z"/>
+			<path fill-rule="evenodd" clip-rule="evenodd" d="M7.437,14.007c0-4.84,3.922-8.762,8.761-8.762h126.516
+				c4.838,0,8.76,3.922,8.76,8.762v82.946c0,4.839-3.922,8.763-8.76,8.763H16.198c-4.839,0-8.761-3.924-8.761-8.763V14.007z"/>
+		</g>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="79.7866" y1="129.1797" x2="89.7622" y2="129.1797">
+			<stop  offset="0" style="stop-color:#7CD4FF"/>
+			<stop  offset="1" style="stop-color:#3777AE"/>
+		</linearGradient>
+		<circle fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#194E6A" cx="84.774" cy="129.179" r="4.988"/>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="79.7866" y1="129.1797" x2="89.7622" y2="129.1797">
+			<stop  offset="0" style="stop-color:#7CD4FF"/>
+			<stop  offset="1" style="stop-color:#3777AE"/>
+		</linearGradient>
+		<circle fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#194E6A" cx="84.774" cy="129.179" r="4.988"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="83.6724" y1="113.9404" x2="99.1362" y2="113.9404">
+			<stop  offset="0" style="stop-color:#7CD4FF"/>
+			<stop  offset="1" style="stop-color:#3777AE"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_3_)" stroke="#194E6A" d="M83.672,113.938
+			c0-4.268,3.462-7.73,7.731-7.73c4.271,0,7.732,3.463,7.732,7.73c0,4.273-3.462,7.734-7.732,7.734
+			C87.134,121.673,83.672,118.212,83.672,113.938z"/>
+		<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="83.6724" y1="113.9404" x2="99.1362" y2="113.9404">
+			<stop  offset="0" style="stop-color:#7CD4FF"/>
+			<stop  offset="1" style="stop-color:#3777AE"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_4_)" stroke="#194E6A" d="M83.672,113.938
+			c0-4.268,3.462-7.73,7.731-7.73c4.271,0,7.732,3.463,7.732,7.73c0,4.273-3.462,7.734-7.732,7.734
+			C87.134,121.673,83.672,118.212,83.672,113.938z"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="3.8462" y1="53.0879" x2="147.8823" y2="53.0879">
+			<stop  offset="0" style="stop-color:#7CD4FF"/>
+			<stop  offset="1" style="stop-color:#3777AE"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_5_)" stroke="#194E6A" d="M3.846,11.614
+			c0-4.84,3.922-8.762,8.761-8.762h126.516c4.838,0,8.76,3.922,8.76,8.762v82.947c0,4.838-3.922,8.762-8.76,8.762H12.607
+			c-4.839,0-8.761-3.924-8.761-8.762V11.614z"/>
+		<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="3.8462" y1="53.0879" x2="147.8823" y2="53.0879">
+			<stop  offset="0" style="stop-color:#7CD4FF"/>
+			<stop  offset="1" style="stop-color:#3777AE"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_6_)" stroke="#194E6A" d="M3.846,11.614
+			c0-4.84,3.922-8.762,8.761-8.762h126.516c4.838,0,8.76,3.922,8.76,8.762v82.947c0,4.838-3.922,8.762-8.76,8.762H12.607
+			c-4.839,0-8.761-3.924-8.761-8.762V11.614z"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/bulle bleue.svg b/resources/library/shape/bulle bleue.svg
new file mode 100644
index 00000000..128b179b
--- /dev/null
+++ b/resources/library/shape/bulle bleue.svg	
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="154.685px" height="138.05px" viewBox="0 0 154.685 138.05" enable-background="new 0 0 154.685 138.05"
+	 xml:space="preserve">
+<g>
+	<g opacity="0.25">
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M7.437,14.08c0-4.84,3.922-8.762,8.76-8.762h126.516
+			c4.838,0,8.762,3.922,8.762,8.762v82.946c0,4.839-3.924,8.763-8.762,8.763h-35.27l-20.107,30.696v-30.696H16.197
+			c-4.838,0-8.76-3.924-8.76-8.763V14.08z"/>
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M7.437,14.08c0-4.84,3.922-8.762,8.76-8.762h126.516
+			c4.838,0,8.762,3.922,8.762,8.762v82.946c0,4.839-3.924,8.763-8.762,8.763h-35.27l-20.107,30.696v-30.696H16.197
+			c-4.838,0-8.76-3.924-8.76-8.763V14.08z"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="3.8457" y1="68.5098" x2="147.8823" y2="68.5098">
+			<stop  offset="0" style="stop-color:#7CD4FF"/>
+			<stop  offset="1" style="stop-color:#3777AE"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#194E6A" d="M3.846,11.688
+			c0-4.84,3.922-8.762,8.76-8.762h126.517c4.838,0,8.76,3.922,8.76,8.762v82.947c0,4.838-3.922,8.762-8.76,8.762h-35.27
+			l-20.107,30.697v-30.697h-71.14c-4.838,0-8.76-3.924-8.76-8.762V11.688z"/>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="3.8457" y1="68.5098" x2="147.8823" y2="68.5098">
+			<stop  offset="0" style="stop-color:#7CD4FF"/>
+			<stop  offset="1" style="stop-color:#3777AE"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#194E6A" d="M3.846,11.688
+			c0-4.84,3.922-8.762,8.76-8.762h126.517c4.838,0,8.76,3.922,8.76,8.762v82.947c0,4.838-3.922,8.762-8.76,8.762h-35.27
+			l-20.107,30.697v-30.697h-71.14c-4.838,0-8.76-3.924-8.76-8.762V11.688z"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/bulle grise gauche.svg b/resources/library/shape/bulle grise gauche.svg
new file mode 100644
index 00000000..e51ee4ac
--- /dev/null
+++ b/resources/library/shape/bulle grise gauche.svg	
@@ -0,0 +1,361 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" [
+	<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
+	<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
+	<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
+	<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
+	<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
+	<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
+	<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
+	<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
+]>
+<svg version="1.0" id="Layer_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="153.178px"
+	 height="138.27px" viewBox="0 0 153.178 138.27" enable-background="new 0 0 153.178 138.27" xml:space="preserve">
+<switch>
+	<foreignObject requiredExtensions="&ns_ai;" x="0" y="0" width="1" height="1">
+		<i:pgfRef  xlink:href="#adobe_illustrator_pgf">
+		</i:pgfRef>
+	</foreignObject>
+	<g i:extraneous="self">
+		<rect y="0" fill="none" width="153.178" height="138.27"/>
+		<g opacity="0.25">
+			<path d="M153.206,97.671c0,4.838-3.922,8.762-8.76,8.762h-71.14v30.697L53.2,106.434H17.93c-4.839,0-8.761-3.924-8.761-8.762
+				V14.725c0-4.84,3.922-8.762,8.761-8.762h126.517c4.838,0,8.76,3.922,8.76,8.762V97.671z"/>
+			<path d="M153.206,97.671c0,4.838-3.922,8.762-8.76,8.762h-71.14v30.697L53.2,106.434H17.93c-4.839,0-8.761-3.924-8.761-8.762
+				V14.725c0-4.84,3.922-8.762,8.761-8.762h126.517c4.838,0,8.76,3.922,8.76,8.762V97.671z"/>
+		</g>
+		<g>
+			<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5.7461" y1="69.2712" x2="149.2666" y2="69.2712">
+				<stop  offset="0" style="stop-color:#BEBEBE"/>
+				<stop  offset="1" style="stop-color:#6A6A6A"/>
+			</linearGradient>
+			<path fill="url(#SVGID_1_)" stroke="#414141" d="M150.644,95.468c0,4.853-3.934,8.789-8.785,8.789H70.518v30.783l-20.166-30.783
+				H14.982c-4.851,0-8.785-3.935-8.785-8.789V12.287c0-4.854,3.933-8.785,8.785-8.785h126.876c4.852,0,8.785,3.931,8.785,8.785
+				V95.468z"/>
+			<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5.7461" y1="69.2712" x2="149.2666" y2="69.2712">
+				<stop  offset="0" style="stop-color:#BEBEBE"/>
+				<stop  offset="1" style="stop-color:#6A6A6A"/>
+			</linearGradient>
+			<path fill="url(#SVGID_2_)" stroke="#414141" d="M150.644,95.468c0,4.853-3.934,8.789-8.785,8.789H70.518v30.783l-20.166-30.783
+				H14.982c-4.851,0-8.785-3.935-8.785-8.789V12.287c0-4.854,3.933-8.785,8.785-8.785h126.876c4.852,0,8.785,3.931,8.785,8.785
+				V95.468z"/>
+		</g>
+	</g>
+</switch>
+<i:pgf  id="adobe_illustrator_pgf">
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	9IHO5PPgQ4FmClljnoI2aVadNBwxw+RYKsuAllmuoM1MfUZnUwybpfI5LsUUMhx4wKZYmmWofDaf
+4jI53nxSCeUKuRTL5PLms5b5LJNjUhmaL8BnCDyjQ2MQQngmlefpvO0ZB5BJs+ajHMcB7NKMNq6M
+5QEaPFuAozCeFSCOaRWS8SyfysHfqZBzAHI2x4Al1Ls3nlRCxhSNZ3B9NUQYz0xcqaAt37XuKxgc
+t0Lv+NXOeaz2v8v1P2q5uoDZ6BSbsQoZ8J9hKEtFY9T9nc691HUIMiyfQYxLcwUWsnKmwDKZHPjA
+A0ZmeQRJ43Lnh/uSk635VCbD58AcAAqyOUQm+iMgcziGh5MHnbEMXCA+xeWA5M1nM6lctpAxn0A6
+4VM8m8+Zz1rmswzAcKYAgEI64VNslrW34/KpfIHL2p/xKZrnzEc5jk4xdJ7XBoYIRX+ijR7Sif6o
+kE1xfA71qD/L0YxOchA2FKuZFMOBbcQYgPEEUoo2SeMZpBQNFcYzA10qcMhEBgL1IVQW8dwKlQdg
+T4t2JxPhWxxSH5IwHIEtMEYlaUDEYHqcSgypQoHLFKw7H02VP0IMDxDK0irFJBkuk8pweTAstpDK
+ZnKQB3Lq+O7BigJgYGhZZ+NkjgPUDAiDM5uX3/yDLpNBI44CEsEGeBBiqXJ5WYH2L6H+RxEqVLL+
+JVWSMLepizZJ3iqrqi1QdJECmkzC75yq6lak6UwOzWVRGoI+qTR8MZnCp+eC9CVTX5PpXxNqMlWo
+/20qp3O0O4CdgWrgFVWwQ2BUVYZ3qJvfoWw+t6CCdiyKaZbRW5rPAIEaLbuhgrFfGfAtqrAB36LO
+WuDnmJze0nzG82ZLK/x8PutQq79DBYZbULU7FgXchG8+84RvwY8B34YfU5k38WM+w+PH/PR/qNG7
+SgGAItT1j0Tawod4IwmjMTB8PmTht0gJE7DqgiLOwBvAg6KsTCWRkj+nf8En4Cd6c2BCXdZD/w/b
+zTvm
+	]]>
+</i:pgf>
+</svg>
diff --git a/resources/library/shape/bulle grise idée.svg b/resources/library/shape/bulle grise idée.svg
new file mode 100644
index 00000000..d3008f6e
--- /dev/null
+++ b/resources/library/shape/bulle grise idée.svg	
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="153.178px" height="138.27px" viewBox="0 0 153.178 138.27" enable-background="new 0 0 153.178 138.27"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<g>
+			<circle fill-rule="evenodd" clip-rule="evenodd" cx="87.277" cy="131.214" r="4.988"/>
+			<circle fill-rule="evenodd" clip-rule="evenodd" cx="87.277" cy="131.214" r="4.988"/>
+		</g>
+		<g>
+			<path fill-rule="evenodd" clip-rule="evenodd" d="M86.175,115.975c0-4.268,3.462-7.73,7.731-7.73c4.271,0,7.732,3.463,7.732,7.73
+				c0,4.272-3.462,7.733-7.732,7.733C89.637,123.708,86.175,120.248,86.175,115.975z"/>
+			<path fill-rule="evenodd" clip-rule="evenodd" d="M86.175,115.975c0-4.268,3.462-7.73,7.731-7.73c4.271,0,7.732,3.463,7.732,7.73
+				c0,4.272-3.462,7.733-7.732,7.733C89.637,123.708,86.175,120.248,86.175,115.975z"/>
+		</g>
+		<g>
+			<path fill-rule="evenodd" clip-rule="evenodd" d="M6.349,13.651c0-4.84,3.922-8.762,8.761-8.762h126.516
+				c4.838,0,8.76,3.922,8.76,8.762v82.946c0,4.839-3.922,8.763-8.76,8.763H15.109c-4.839,0-8.761-3.924-8.761-8.763V13.651z"/>
+			<path fill-rule="evenodd" clip-rule="evenodd" d="M6.349,13.651c0-4.84,3.922-8.762,8.761-8.762h126.516
+				c4.838,0,8.76,3.922,8.76,8.762v82.946c0,4.839-3.922,8.763-8.76,8.763H15.109c-4.839,0-8.761-3.924-8.761-8.763V13.651z"/>
+		</g>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="79.584" y1="130.1138" x2="89.5879" y2="130.1138">
+			<stop  offset="0" style="stop-color:#BEBEBE"/>
+			<stop  offset="1" style="stop-color:#6A6A6A"/>
+		</linearGradient>
+		<circle fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#414141" cx="84.586" cy="130.112" r="5.002"/>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="79.584" y1="130.1138" x2="89.5879" y2="130.1138">
+			<stop  offset="0" style="stop-color:#BEBEBE"/>
+			<stop  offset="1" style="stop-color:#6A6A6A"/>
+		</linearGradient>
+		<circle fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#414141" cx="84.586" cy="130.112" r="5.002"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="83.4805" y1="114.8296" x2="98.9883" y2="114.8296">
+			<stop  offset="0" style="stop-color:#BEBEBE"/>
+			<stop  offset="1" style="stop-color:#6A6A6A"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_3_)" stroke="#414141" d="M83.48,114.829
+			c0-4.279,3.471-7.752,7.754-7.752c4.282,0,7.754,3.473,7.754,7.752c0,4.285-3.472,7.754-7.754,7.754
+			C86.951,122.583,83.48,119.114,83.48,114.829z"/>
+		<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="83.4805" y1="114.8296" x2="98.9883" y2="114.8296">
+			<stop  offset="0" style="stop-color:#BEBEBE"/>
+			<stop  offset="1" style="stop-color:#6A6A6A"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_4_)" stroke="#414141" d="M83.48,114.829
+			c0-4.279,3.471-7.752,7.754-7.752c4.282,0,7.754,3.473,7.754,7.752c0,4.285-3.472,7.754-7.754,7.754
+			C86.951,122.583,83.48,119.114,83.48,114.829z"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="3.4277" y1="53.8062" x2="147.873" y2="53.8062">
+			<stop  offset="0" style="stop-color:#BEBEBE"/>
+			<stop  offset="1" style="stop-color:#6A6A6A"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_5_)" stroke="#414141" d="M3.428,12.213
+			c0-4.854,3.933-8.785,8.785-8.785h126.875c4.853,0,8.785,3.932,8.785,8.785v83.182c0,4.854-3.933,8.789-8.785,8.789H12.213
+			c-4.853,0-8.785-3.936-8.785-8.789V12.213z"/>
+		<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="3.4277" y1="53.8062" x2="147.873" y2="53.8062">
+			<stop  offset="0" style="stop-color:#BEBEBE"/>
+			<stop  offset="1" style="stop-color:#6A6A6A"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_6_)" stroke="#414141" d="M3.428,12.213
+			c0-4.854,3.933-8.785,8.785-8.785h126.875c4.853,0,8.785,3.932,8.785,8.785v83.182c0,4.854-3.933,8.789-8.785,8.789H12.213
+			c-4.853,0-8.785-3.936-8.785-8.789V12.213z"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/bulle grise.svg b/resources/library/shape/bulle grise.svg
new file mode 100644
index 00000000..21f254f0
--- /dev/null
+++ b/resources/library/shape/bulle grise.svg	
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="153.178px" height="138.27px" viewBox="0 0 153.178 138.27" enable-background="new 0 0 153.178 138.27"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M6.606,13.725c0-4.84,3.922-8.762,8.76-8.762h126.517
+			c4.838,0,8.761,3.922,8.761,8.762v82.947c0,4.838-3.923,8.762-8.761,8.762h-35.27L86.506,136.13v-30.697h-71.14
+			c-4.838,0-8.76-3.924-8.76-8.762V13.725z"/>
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M6.606,13.725c0-4.84,3.922-8.762,8.76-8.762h126.517
+			c4.838,0,8.761,3.922,8.761,8.762v82.947c0,4.838-3.923,8.762-8.761,8.762h-35.27L86.506,136.13v-30.697h-71.14
+			c-4.838,0-8.76-3.924-8.76-8.762V13.725z"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="3.1689" y1="69.271" x2="147.6152" y2="69.271">
+			<stop  offset="0" style="stop-color:#BEBEBE"/>
+			<stop  offset="1" style="stop-color:#6A6A6A"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#414141" d="M3.169,12.287
+			c0-4.854,3.934-8.785,8.785-8.785H138.83c4.852,0,8.785,3.932,8.785,8.785v83.181c0,4.854-3.934,8.789-8.785,8.789h-35.369
+			l-20.166,30.783v-30.783H11.954c-4.852,0-8.785-3.936-8.785-8.789V12.287z"/>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="3.1689" y1="69.271" x2="147.6152" y2="69.271">
+			<stop  offset="0" style="stop-color:#BEBEBE"/>
+			<stop  offset="1" style="stop-color:#6A6A6A"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#414141" d="M3.169,12.287
+			c0-4.854,3.934-8.785,8.785-8.785H138.83c4.852,0,8.785,3.932,8.785,8.785v83.181c0,4.854-3.934,8.789-8.785,8.789h-35.369
+			l-20.166,30.783v-30.783H11.954c-4.852,0-8.785-3.936-8.785-8.789V12.287z"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/bulle rouge gauche.svg b/resources/library/shape/bulle rouge gauche.svg
new file mode 100644
index 00000000..063939ab
--- /dev/null
+++ b/resources/library/shape/bulle rouge gauche.svg	
@@ -0,0 +1,362 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" [
+	<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
+	<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
+	<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
+	<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
+	<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
+	<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
+	<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
+	<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
+]>
+<svg version="1.0" id="Layer_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="153.157px"
+	 height="137.618px" viewBox="0 0 153.157 137.618" enable-background="new 0 0 153.157 137.618" xml:space="preserve">
+<switch>
+	<foreignObject requiredExtensions="&ns_ai;" x="0" y="0" width="1" height="1">
+		<i:pgfRef  xlink:href="#adobe_illustrator_pgf">
+		</i:pgfRef>
+	</foreignObject>
+	<g i:extraneous="self">
+		<rect x="0" fill="none" width="153.156" height="137.618"/>
+		<g opacity="0.25">
+			<path d="M153.432,96.928c0,4.84-3.922,8.764-8.76,8.764H73.532v30.695l-20.106-30.695H18.155c-4.838,0-8.761-3.924-8.761-8.764
+				V13.982c0-4.84,3.923-8.762,8.761-8.762h126.518c4.838,0,8.76,3.922,8.76,8.762V96.928z"/>
+			<path d="M153.432,96.928c0,4.84-3.922,8.764-8.76,8.764H73.532v30.695l-20.106-30.695H18.155c-4.838,0-8.761-3.924-8.761-8.764
+				V13.982c0-4.84,3.923-8.762,8.761-8.762h126.518c4.838,0,8.76,3.922,8.76,8.762V96.928z"/>
+		</g>
+		<g>
+			<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="6.2402" y1="68.1743" x2="149.0103" y2="68.1743">
+				<stop  offset="0" style="stop-color:#FF897A"/>
+				<stop  offset="1" style="stop-color:#FF3400"/>
+			</linearGradient>
+			<path fill="url(#SVGID_1_)" stroke="#6F0000" d="M150.127,94.299c0,4.839-3.922,8.763-8.762,8.763H70.227v30.696L50.12,103.062
+				H14.85c-4.839,0-8.762-3.924-8.762-8.763V11.353c0-4.84,3.923-8.762,8.762-8.762h126.516c4.84,0,8.762,3.922,8.762,8.762V94.299z
+				"/>
+			<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="6.2402" y1="68.1743" x2="149.0103" y2="68.1743">
+				<stop  offset="0" style="stop-color:#FF897A"/>
+				<stop  offset="1" style="stop-color:#FF3400"/>
+			</linearGradient>
+			<path fill="url(#SVGID_2_)" stroke="#6F0000" d="M150.127,94.299c0,4.839-3.922,8.763-8.762,8.763H70.227v30.696L50.12,103.062
+				H14.85c-4.839,0-8.762-3.924-8.762-8.763V11.353c0-4.84,3.923-8.762,8.762-8.762h126.516c4.84,0,8.762,3.922,8.762,8.762V94.299z
+				"/>
+		</g>
+	</g>
+</switch>
+<i:pgf  id="adobe_illustrator_pgf">
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	YTpQG4rC6HyjAz3sUAydh//u/6IYpWH48Qd+nMKXX/DoLzpJn9OPzwzdR/WuqYwA0p+QYemUwMTT
+WTZJf1MCx8ezHJvVn9X1ZwKTifNMloVn2rt2zwzvEgbG0ImT0YwONW+rneZndyLe/JmIhrHMoYeX
+FBMXklmGowGakEnyLP7CpDIZ+JJl2GxaG2dXGTQnDxr1hE/xKTrNgsqfYbIwMv0Zk46nkiydEfg4
+AE3DAy6eZgWOzqQz8VSWz+hPipSQFeLJFLStPavrz1ICK2MGniHwybRgqpfkACFpzvSMF+Icn+H1
+ZwLPx3k2ldQ6pj9Qew/d0J5lk3GeE1gMSnuWjbPQtAZbYPg4k8kmaa0H2pMipY1Se4amTsGF9kxH
+lwLc8EDpQdEGz3Xq3X7GBZcZ/8+U/a+bshYsOibOpYzMBv7Xp9J0KEzf36mrmL6GlcyzQjopyEwx
+nlRXcZJPcdBz/F7euoaTcSYJtdIsfGGyGUwQ6jMGRihA5zPAalgOTWEqziVhhJk0fMkIrP4EEUQy
+ziYzSf1ZXX+WApipFJPBBIHAs6ZqfCYuCGzK/Az4Ic+l9WcCz8hd1PqlP1F7jwhCfZZNx7OptAxL
+eSYwbFzIppO0Bh1wFBdYRBpqH7QniCKUYWrPEEXIuNAeaejSgOsIVLtQtEF0nSr0YAsLtUaj7rfY
+pz+kbn8AO16YRp1lmZQ8Y8CEsyysJH2bY+jCB8UCAQsC/hVj+RSixBTGB5vG1CrInbuH6WQ5oEuo
+Y6kcE3g0Oym85SjVC29eARfIgDMCB7g1VX6jehRHFwrLcq3/EOm/GZEieeo/ZLrIqU0yoYlN1wuy
+/ArSLJYyYzH0m5fl2aI0nkyp+VSU+tAmnUAFozF6et6Vvqb012j814gejWf0f+kS6ByzfmD7dNVe
+GmXiqUV5VICpha05aZRH0xnB8qxONVWJFJ6mWYvkCs/4pF6zRWW1zUiDr8msBvgGOdYAX2AFtab+
+LJnUaxrhZzJpi0z8TWVZfkFObhqkZx2+/swVvgE/GnwTfnRJXMeP/sweP/q3/0sP3mUKAIqQ5z8Y
+bHQ/xBupOxiCdvMx7f4W6e4IZr07EydQAqtPnM7GkkhPP8d/oSfwilod9KTLCvX/ADShxIs=
+	]]>
+</i:pgf>
+</svg>
diff --git a/resources/library/shape/bulle rouge idée.svg b/resources/library/shape/bulle rouge idée.svg
new file mode 100644
index 00000000..2c409222
--- /dev/null
+++ b/resources/library/shape/bulle rouge idée.svg	
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="153.157px" height="137.618px" viewBox="0 0 153.157 137.618" enable-background="new 0 0 153.157 137.618"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<g>
+			<path fill-rule="evenodd" clip-rule="evenodd" d="M82.666,131.472c0-2.754,2.232-4.984,4.988-4.984
+				c2.754,0,4.988,2.23,4.988,4.984c0,2.756-2.234,4.99-4.988,4.99C84.898,136.462,82.666,134.228,82.666,131.472z"/>
+			<path fill-rule="evenodd" clip-rule="evenodd" d="M82.666,131.472c0-2.754,2.232-4.984,4.988-4.984
+				c2.754,0,4.988,2.23,4.988,4.984c0,2.756-2.234,4.99-4.988,4.99C84.898,136.462,82.666,134.228,82.666,131.472z"/>
+		</g>
+		<g>
+			<circle fill-rule="evenodd" clip-rule="evenodd" cx="94.284" cy="116.233" r="7.731"/>
+			<circle fill-rule="evenodd" clip-rule="evenodd" cx="94.284" cy="116.233" r="7.731"/>
+		</g>
+		<g>
+			<path fill-rule="evenodd" clip-rule="evenodd" d="M6.725,13.909c0-4.84,3.922-8.762,8.761-8.762h126.516
+				c4.838,0,8.76,3.922,8.76,8.762v82.946c0,4.84-3.922,8.764-8.76,8.764H15.486c-4.839,0-8.761-3.924-8.761-8.764V13.909z"/>
+			<path fill-rule="evenodd" clip-rule="evenodd" d="M6.725,13.909c0-4.84,3.922-8.762,8.761-8.762h126.516
+				c4.838,0,8.76,3.922,8.76,8.762v82.946c0,4.84-3.922,8.764-8.76,8.764H15.486c-4.839,0-8.761-3.924-8.761-8.764V13.909z"/>
+		</g>
+	</g>
+	<g>
+		<g>
+			<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="78.9702" y1="128.8438" x2="88.9468" y2="128.8438">
+				<stop  offset="0" style="stop-color:#FF897A"/>
+				<stop  offset="1" style="stop-color:#FF3400"/>
+			</linearGradient>
+			<circle fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#6F0000" cx="83.958" cy="128.843" r="4.988"/>
+			<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="78.9702" y1="128.8438" x2="88.9468" y2="128.8438">
+				<stop  offset="0" style="stop-color:#FF897A"/>
+				<stop  offset="1" style="stop-color:#FF3400"/>
+			</linearGradient>
+			<circle fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#6F0000" cx="83.958" cy="128.843" r="4.988"/>
+		</g>
+		<g>
+			<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="82.8569" y1="113.6045" x2="98.3198" y2="113.6045">
+				<stop  offset="0" style="stop-color:#FF897A"/>
+				<stop  offset="1" style="stop-color:#FF3400"/>
+			</linearGradient>
+			<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_3_)" stroke="#6F0000" d="M82.857,113.603
+				c0-4.268,3.461-7.73,7.73-7.73c4.271,0,7.732,3.463,7.732,7.73c0,4.273-3.461,7.734-7.732,7.734
+				C86.318,121.337,82.857,117.876,82.857,113.603z"/>
+			<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="82.8569" y1="113.6045" x2="98.3198" y2="113.6045">
+				<stop  offset="0" style="stop-color:#FF897A"/>
+				<stop  offset="1" style="stop-color:#FF3400"/>
+			</linearGradient>
+			<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_4_)" stroke="#6F0000" d="M82.857,113.603
+				c0-4.268,3.461-7.73,7.73-7.73c4.271,0,7.732,3.463,7.732,7.73c0,4.273-3.461,7.734-7.732,7.734
+				C86.318,121.337,82.857,117.876,82.857,113.603z"/>
+		</g>
+		<g>
+			<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="3.0303" y1="52.752" x2="147.0659" y2="52.752">
+				<stop  offset="0" style="stop-color:#FF897A"/>
+				<stop  offset="1" style="stop-color:#FF3400"/>
+			</linearGradient>
+			<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_5_)" stroke="#6F0000" d="M3.03,11.279
+				c0-4.84,3.922-8.762,8.761-8.762h126.515c4.84,0,8.76,3.922,8.76,8.762v82.947c0,4.838-3.92,8.762-8.76,8.762H11.791
+				c-4.839,0-8.761-3.924-8.761-8.762V11.279z"/>
+			<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="3.0303" y1="52.752" x2="147.0659" y2="52.752">
+				<stop  offset="0" style="stop-color:#FF897A"/>
+				<stop  offset="1" style="stop-color:#FF3400"/>
+			</linearGradient>
+			<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_6_)" stroke="#6F0000" d="M3.03,11.279
+				c0-4.84,3.922-8.762,8.761-8.762h126.515c4.84,0,8.76,3.922,8.76,8.762v82.947c0,4.838-3.92,8.762-8.76,8.762H11.791
+				c-4.839,0-8.761-3.924-8.761-8.762V11.279z"/>
+		</g>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/bulle rouge.svg b/resources/library/shape/bulle rouge.svg
new file mode 100644
index 00000000..b8d75b6c
--- /dev/null
+++ b/resources/library/shape/bulle rouge.svg	
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="153.157px" height="137.618px" viewBox="0 0 153.157 137.618" enable-background="new 0 0 153.157 137.618"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M6.725,13.982c0-4.84,3.922-8.762,8.76-8.762h126.517
+			c4.838,0,8.761,3.922,8.761,8.762v82.946c0,4.84-3.923,8.764-8.761,8.764h-35.27l-20.107,30.695v-30.695h-71.14
+			c-4.838,0-8.76-3.924-8.76-8.764V13.982z"/>
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M6.725,13.982c0-4.84,3.922-8.762,8.76-8.762h126.517
+			c4.838,0,8.761,3.922,8.761,8.762v82.946c0,4.84-3.923,8.764-8.761,8.764h-35.27l-20.107,30.695v-30.695h-71.14
+			c-4.838,0-8.76-3.924-8.76-8.764V13.982z"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="3.0298" y1="68.1748" x2="147.0679" y2="68.1748">
+			<stop  offset="0" style="stop-color:#FF897A"/>
+			<stop  offset="1" style="stop-color:#FF3400"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#6F0000" d="M3.03,11.353
+			c0-4.84,3.922-8.762,8.761-8.762h126.516c4.839,0,8.762,3.922,8.762,8.762V94.3c0,4.838-3.923,8.762-8.762,8.762h-35.269
+			l-20.108,30.697v-30.697H11.791c-4.839,0-8.761-3.924-8.761-8.762V11.353z"/>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="3.0298" y1="68.1748" x2="147.0679" y2="68.1748">
+			<stop  offset="0" style="stop-color:#FF897A"/>
+			<stop  offset="1" style="stop-color:#FF3400"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#6F0000" d="M3.03,11.353
+			c0-4.84,3.922-8.762,8.761-8.762h126.516c4.839,0,8.762,3.922,8.762,8.762V94.3c0,4.838-3.923,8.762-8.762,8.762h-35.269
+			l-20.108,30.697v-30.697H11.791c-4.839,0-8.761-3.924-8.761-8.762V11.353z"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/bulle vide gauche.svg b/resources/library/shape/bulle vide gauche.svg
new file mode 100644
index 00000000..746688c3
--- /dev/null
+++ b/resources/library/shape/bulle vide gauche.svg	
@@ -0,0 +1,327 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" [
+	<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
+	<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
+	<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
+	<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
+	<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
+	<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
+	<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
+	<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
+]>
+<svg version="1.0" id="Layer_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="151.256px"
+	 height="138.503px" viewBox="0 0 151.256 138.503" enable-background="new 0 0 151.256 138.503" xml:space="preserve">
+<switch>
+	<foreignObject requiredExtensions="&ns_ai;" x="0" y="0" width="1" height="1">
+		<i:pgfRef  xlink:href="#adobe_illustrator_pgf">
+		</i:pgfRef>
+	</foreignObject>
+	<g i:extraneous="self">
+		<rect fill="none" width="151.256" height="138.503"/>
+		<g>
+			<path fill="none" stroke="#595959" d="M147.327,12.199v82.947c0,4.838-3.922,8.762-8.76,8.762H67.43v30.697l-20.106-30.697
+				H12.053c-4.838,0-8.761-3.924-8.761-8.762V12.199c0-4.84,3.923-8.762,8.761-8.762h126.517c4.838,0,8.76,3.922,8.76,8.762H147.327
+				z"/>
+			<path fill="none" stroke="#595959" d="M147.327,12.199v82.947c0,4.838-3.922,8.762-8.76,8.762H67.43v30.697l-20.106-30.697
+				H12.053c-4.838,0-8.761-3.924-8.761-8.762V12.199c0-4.84,3.923-8.762,8.761-8.762h126.517c4.838,0,8.76,3.922,8.76,8.762H147.327
+				z"/>
+		</g>
+	</g>
+</switch>
+<i:pgf  id="adobe_illustrator_pgf">
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	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
+	]]>
+</i:pgf>
+</svg>
diff --git a/resources/library/shape/bulle vide idée.svg b/resources/library/shape/bulle vide idée.svg
new file mode 100644
index 00000000..a80f71d1
--- /dev/null
+++ b/resources/library/shape/bulle vide idée.svg	
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="151.256px" height="138.503px" viewBox="0 0 151.256 138.503" enable-background="new 0 0 151.256 138.503"
+	 xml:space="preserve">
+
+<g>
+	<g>
+		<circle fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" cx="84.856" cy="129.688" r="4.988"/>
+		<circle fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" cx="84.856" cy="129.688" r="4.988"/>
+	</g>
+	<g>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" d="M83.754,114.449c0-4.268,3.462-7.73,7.731-7.73
+			c4.271,0,7.732,3.463,7.732,7.73c0,4.272-3.462,7.733-7.732,7.733C87.216,122.183,83.754,118.722,83.754,114.449z"/>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" d="M83.754,114.449c0-4.268,3.462-7.73,7.731-7.73
+			c4.271,0,7.732,3.463,7.732,7.73c0,4.272-3.462,7.733-7.732,7.733C87.216,122.183,83.754,118.722,83.754,114.449z"/>
+	</g>
+	<g>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" d="M3.927,12.125c0-4.84,3.922-8.762,8.761-8.762
+			h126.517c4.838,0,8.76,3.922,8.76,8.762v82.946c0,4.839-3.922,8.763-8.76,8.763H12.688c-4.839,0-8.761-3.924-8.761-8.763V12.125z"
+			/>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" d="M3.927,12.125c0-4.84,3.922-8.762,8.761-8.762
+			h126.517c4.838,0,8.76,3.922,8.76,8.762v82.946c0,4.839-3.922,8.763-8.76,8.763H12.688c-4.839,0-8.761-3.924-8.761-8.763V12.125z"
+			/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/bulle vide.svg b/resources/library/shape/bulle vide.svg
new file mode 100644
index 00000000..50d75942
--- /dev/null
+++ b/resources/library/shape/bulle vide.svg	
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="151.256px" height="138.503px" viewBox="0 0 151.256 138.503" enable-background="new 0 0 151.256 138.503"
+	 xml:space="preserve">
+
+<g>
+	<path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" d="M3.927,12.199c0-4.84,3.922-8.762,8.76-8.762
+		h126.516c4.838,0,8.761,3.922,8.761,8.762v82.947c0,4.838-3.923,8.762-8.761,8.762h-35.27l-20.107,30.697v-30.697H12.688
+		c-4.838,0-8.76-3.924-8.76-8.762V12.199z"/>
+	<path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" d="M3.927,12.199c0-4.84,3.922-8.762,8.76-8.762
+		h126.516c4.838,0,8.761,3.922,8.761,8.762v82.947c0,4.838-3.923,8.762-8.761,8.762h-35.27l-20.107,30.697v-30.697H12.688
+		c-4.838,0-8.76-3.924-8.76-8.762V12.199z"/>
+</g>
+</svg>
diff --git a/resources/library/shape/carré blanc arr.svg b/resources/library/shape/carré blanc arr.svg
new file mode 100644
index 00000000..a1721d4f
--- /dev/null
+++ b/resources/library/shape/carré blanc arr.svg	
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   id="Layer_1"
+   x="0px"
+   y="0px"
+   width="116.314px"
+   height="116.314px"
+   viewBox="0 0 116.314 116.314"
+   enable-background="new 0 0 116.314 116.314"
+   xml:space="preserve"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="red_square_rnd.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
+   id="metadata7161"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+   id="defs7159"><inkscape:perspective
+   sodipodi:type="inkscape:persp3d"
+   inkscape:vp_x="0 : 58.157001 : 1"
+   inkscape:vp_y="0 : 1000 : 0"
+   inkscape:vp_z="116.314 : 58.157001 : 1"
+   inkscape:persp3d-origin="58.157001 : 38.771334 : 1"
+   id="perspective7163" />
+	
+	
+<linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_1_"
+   id="linearGradient7681"
+   gradientUnits="userSpaceOnUse"
+   x1="2.1924"
+   y1="56.8423"
+   x2="110.7549"
+   y2="56.8423" />
+		<linearGradient
+   id="SVGID_1_"
+   gradientUnits="userSpaceOnUse"
+   x1="2.1924"
+   y1="56.8423"
+   x2="110.7549"
+   y2="56.8423">
+			<stop
+   offset="0"
+   style="stop-color:#FF897A"
+   id="stop7152" />
+			<stop
+   offset="1"
+   style="stop-color:#FF3400"
+   id="stop7154" />
+		</linearGradient>
+		
+	<linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_1_"
+   id="linearGradient7687"
+   gradientUnits="userSpaceOnUse"
+   x1="2.1924"
+   y1="56.8423"
+   x2="110.7549"
+   y2="56.8423" />
+		
+	</defs><sodipodi:namedview
+   inkscape:window-height="970"
+   inkscape:window-width="1680"
+   inkscape:pageshadow="2"
+   inkscape:pageopacity="0.0"
+   guidetolerance="10.0"
+   gridtolerance="10.0"
+   objecttolerance="10.0"
+   borderopacity="1.0"
+   bordercolor="#666666"
+   pagecolor="#ffffff"
+   id="base"
+   showgrid="false"
+   inkscape:zoom="4.1611499"
+   inkscape:cx="11.054637"
+   inkscape:cy="58.157001"
+   inkscape:window-x="-8"
+   inkscape:window-y="-8"
+   inkscape:current-layer="Layer_1" />
+
+<g
+   id="g7690">
+   
+     
+     <path
+     style="opacity:0.25;fill-rule:evenodd"
+     id="path7147"
+     d="M 5.887,31.278 C 5.887,16.869 17.566,5.19 31.975,5.19 L 88.364,5.19 C 102.772,5.19 114.45,16.869 114.45,31.278 L 114.45,87.666 C 114.45,102.074 102.772,113.754 88.364,113.754 L 31.975,113.754 C 17.566,113.754 5.887,102.074 5.887,87.666 L 5.887,31.278 z"
+     clip-rule="evenodd" /><path
+     style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-opacity:1;fill-opacity:1"
+     id="path7156"
+     d="M 2.192,28.648 C 2.192,14.239 13.87,2.56 28.28,2.56 L 84.669,2.56 C 99.077,2.56 110.755,14.239 110.755,28.648 L 110.755,85.036 C 110.755,99.444 99.077,111.124 84.669,111.124 L 28.28,111.124 C 13.87,111.124 2.192,99.444 2.192,85.036 L 2.192,28.648 z"
+     clip-rule="evenodd" /></g>
+</svg>
\ No newline at end of file
diff --git a/resources/library/shape/carré blanc.svg b/resources/library/shape/carré blanc.svg
new file mode 100644
index 00000000..9bbb6959
--- /dev/null
+++ b/resources/library/shape/carré blanc.svg	
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   id="Layer_1"
+   x="0px"
+   y="0px"
+   width="116.314px"
+   height="116.314px"
+   viewBox="0 0 116.314 116.314"
+   enable-background="new 0 0 116.314 116.314"
+   xml:space="preserve"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="red_square.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
+   id="metadata6561"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+   id="defs6559"><inkscape:perspective
+   sodipodi:type="inkscape:persp3d"
+   inkscape:vp_x="0 : 58.157001 : 1"
+   inkscape:vp_y="0 : 1000 : 0"
+   inkscape:vp_z="116.314 : 58.157001 : 1"
+   inkscape:persp3d-origin="58.157001 : 38.771334 : 1"
+   id="perspective6563" />
+	
+	
+<linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_1_"
+   id="linearGradient6572"
+   gradientUnits="userSpaceOnUse"
+   x1="2.1914001"
+   y1="56.8423"
+   x2="110.7539"
+   y2="56.8423" />
+		<linearGradient
+   id="SVGID_1_"
+   gradientUnits="userSpaceOnUse"
+   x1="2.1914001"
+   y1="56.8423"
+   x2="110.7539"
+   y2="56.8423">
+			<stop
+   offset="0"
+   style="stop-color:#FF897A"
+   id="stop6552" />
+			<stop
+   offset="1"
+   style="stop-color:#FF3400"
+   id="stop6554" />
+		</linearGradient>
+		
+			
+	<linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_1_"
+   id="linearGradient6578"
+   gradientUnits="userSpaceOnUse"
+   x1="2.1914001"
+   y1="56.8423"
+   x2="110.7539"
+   y2="56.8423" />
+		
+	</defs><sodipodi:namedview
+   inkscape:window-height="970"
+   inkscape:window-width="1680"
+   inkscape:pageshadow="2"
+   inkscape:pageopacity="0.0"
+   guidetolerance="10.0"
+   gridtolerance="10.0"
+   objecttolerance="10.0"
+   borderopacity="1.0"
+   bordercolor="#666666"
+   pagecolor="#ffffff"
+   id="base"
+   showgrid="false"
+   inkscape:zoom="4.1611499"
+   inkscape:cx="11.054637"
+   inkscape:cy="58.157001"
+   inkscape:window-x="-8"
+   inkscape:window-y="-8"
+   inkscape:current-layer="Layer_1" />
+
+<g
+   id="g7090">
+   
+     
+     <rect
+     style="opacity:0.25;fill-rule:evenodd"
+     id="rect6547"
+     height="108.563"
+     width="108.563"
+     clip-rule="evenodd"
+     y="5.1900001"
+     x="5.8860002" /><rect
+     style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;fill-opacity:1;stroke-opacity:1"
+     id="rect6556"
+     height="108.563"
+     width="108.562"
+     clip-rule="evenodd"
+     y="2.5610001"
+     x="2.191" /></g>
+</svg>
\ No newline at end of file
diff --git a/resources/library/shape/carré bleu arr.svg b/resources/library/shape/carré bleu arr.svg
new file mode 100644
index 00000000..653b7dec
--- /dev/null
+++ b/resources/library/shape/carré bleu arr.svg	
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="116.137px" height="115.055px" viewBox="0 0 116.137 115.055" enable-background="new 0 0 116.137 115.055"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M5.901,31.21c0-14.409,11.679-26.088,26.088-26.088h56.389
+			c14.408,0,26.086,11.679,26.086,26.088v56.389c0,14.408-11.678,26.088-26.086,26.088H31.989c-14.409,0-26.088-11.68-26.088-26.088
+			V31.21z"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="2.3091" y1="57.0117" x2="110.8716" y2="57.0117">
+			<stop  offset="0" style="stop-color:#7CD4FF"/>
+			<stop  offset="1" style="stop-color:#3777AE"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#194E6A" d="M2.309,28.818
+			c0-14.409,11.68-26.088,26.088-26.088h56.389c14.408,0,26.086,11.679,26.086,26.088v56.388c0,14.408-11.678,26.088-26.086,26.088
+			H28.397c-14.408,0-26.088-11.68-26.088-26.088V28.818z"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/carré bleu.svg b/resources/library/shape/carré bleu.svg
new file mode 100644
index 00000000..6c4049bb
--- /dev/null
+++ b/resources/library/shape/carré bleu.svg	
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="116.137px" height="115.055px" viewBox="0 0 116.137 115.055" enable-background="new 0 0 116.137 115.055"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<rect x="5.9" y="5.122" fill-rule="evenodd" clip-rule="evenodd" width="108.563" height="108.564"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="2.3091" y1="57.0117" x2="110.8726" y2="57.0117">
+			<stop  offset="0" style="stop-color:#7CD4FF"/>
+			<stop  offset="1" style="stop-color:#3777AE"/>
+		</linearGradient>
+		
+			<rect x="2.309" y="2.729" fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#194E6A" width="108.563" height="108.564"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/carré gris arr.svg b/resources/library/shape/carré gris arr.svg
new file mode 100644
index 00000000..3deb4bf0
--- /dev/null
+++ b/resources/library/shape/carré gris arr.svg	
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="116.462px" height="115.054px" viewBox="0 0 116.462 115.054" enable-background="new 0 0 116.462 115.054"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M5.463,31.209c0-14.409,11.679-26.088,26.088-26.088h56.388
+			c14.408,0,26.086,11.679,26.086,26.088v56.388c0,14.408-11.678,26.088-26.086,26.088H31.551c-14.409,0-26.088-11.68-26.088-26.088
+			V31.209z"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="3.0713" y1="57.167" x2="111.9429" y2="57.167">
+			<stop  offset="0" style="stop-color:#BEBEBE"/>
+			<stop  offset="1" style="stop-color:#6A6A6A"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#414141" d="M3.071,28.893
+			c0-14.449,11.711-26.161,26.162-26.161h56.549c14.449,0,26.16,11.712,26.16,26.161V85.44c0,14.449-11.711,26.162-26.16,26.162
+			H29.233c-14.451,0-26.162-11.713-26.162-26.162V28.893z"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/carré gris.svg b/resources/library/shape/carré gris.svg
new file mode 100644
index 00000000..f1c4af86
--- /dev/null
+++ b/resources/library/shape/carré gris.svg	
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="116.462px" height="115.054px" viewBox="0 0 116.462 115.054" enable-background="new 0 0 116.462 115.054"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<rect x="5.696" y="5.121" fill-rule="evenodd" clip-rule="evenodd" width="108.563" height="108.563"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="2.8374" y1="57.167" x2="111.7095" y2="57.167">
+			<stop  offset="0" style="stop-color:#BEBEBE"/>
+			<stop  offset="1" style="stop-color:#6A6A6A"/>
+		</linearGradient>
+		
+			<rect x="2.837" y="2.731" fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#414141" width="108.872" height="108.871"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/carré rouge arr.svg b/resources/library/shape/carré rouge arr.svg
new file mode 100644
index 00000000..d6805ad6
--- /dev/null
+++ b/resources/library/shape/carré rouge arr.svg	
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="116.314px" height="116.314px" viewBox="0 0 116.314 116.314" enable-background="new 0 0 116.314 116.314"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M5.887,31.278c0-14.409,11.679-26.088,26.088-26.088h56.389
+			c14.408,0,26.086,11.679,26.086,26.088v56.388c0,14.408-11.678,26.088-26.086,26.088H31.975c-14.409,0-26.088-11.68-26.088-26.088
+			V31.278z"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="2.1924" y1="56.8423" x2="110.7549" y2="56.8423">
+			<stop  offset="0" style="stop-color:#FF897A"/>
+			<stop  offset="1" style="stop-color:#FF3400"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#6F0000" d="M2.192,28.648
+			c0-14.409,11.678-26.088,26.088-26.088h56.389c14.408,0,26.086,11.679,26.086,26.088v56.388c0,14.408-11.678,26.088-26.086,26.088
+			H28.28c-14.41,0-26.088-11.68-26.088-26.088V28.648z"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/carré rouge.svg b/resources/library/shape/carré rouge.svg
new file mode 100644
index 00000000..87422aef
--- /dev/null
+++ b/resources/library/shape/carré rouge.svg	
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="116.314px" height="116.314px" viewBox="0 0 116.314 116.314" enable-background="new 0 0 116.314 116.314"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<rect x="5.886" y="5.19" fill-rule="evenodd" clip-rule="evenodd" width="108.563" height="108.563"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="2.1914" y1="56.8423" x2="110.7539" y2="56.8423">
+			<stop  offset="0" style="stop-color:#FF897A"/>
+			<stop  offset="1" style="stop-color:#FF3400"/>
+		</linearGradient>
+		
+			<rect x="2.191" y="2.561" fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#6F0000" width="108.562" height="108.563"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/carré vide arr.svg b/resources/library/shape/carré vide arr.svg
new file mode 100644
index 00000000..0d79a3ae
--- /dev/null
+++ b/resources/library/shape/carré vide arr.svg	
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="116.463px" height="115.054px" viewBox="0 0 116.463 115.054" enable-background="new 0 0 116.463 115.054"
+	 xml:space="preserve">
+<g>
+	<path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" d="M4.268,30.014
+		c0-14.408,11.679-26.088,26.088-26.088h56.389c14.408,0,26.086,11.68,26.086,26.088v56.389c0,14.408-11.678,26.088-26.086,26.088
+		H30.355c-14.409,0-26.088-11.68-26.088-26.088V30.014z"/>
+</g>
+</svg>
diff --git a/resources/library/shape/carré vide.svg b/resources/library/shape/carré vide.svg
new file mode 100644
index 00000000..e0488255
--- /dev/null
+++ b/resources/library/shape/carré vide.svg	
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="116.463px" height="115.054px" viewBox="0 0 116.463 115.054" enable-background="new 0 0 116.463 115.054"
+	 xml:space="preserve">
+
+<g>
+	
+		<rect x="4.268" y="3.926" fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" width="108.562" height="108.564"/>
+</g>
+</svg>
diff --git a/resources/library/shape/cylindre blanc.svg b/resources/library/shape/cylindre blanc.svg
new file mode 100644
index 00000000..4ae22974
--- /dev/null
+++ b/resources/library/shape/cylindre blanc.svg	
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   id="Layer_1"
+   x="0px"
+   y="0px"
+   width="116.314px"
+   height="138.089px"
+   viewBox="0 0 116.314 138.089"
+   enable-background="new 0 0 116.314 138.089"
+   xml:space="preserve"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="red_cylinder.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
+   id="metadata2495"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+   id="defs2493"><inkscape:perspective
+   sodipodi:type="inkscape:persp3d"
+   inkscape:vp_x="0 : 69.044502 : 1"
+   inkscape:vp_y="0 : 1000 : 0"
+   inkscape:vp_z="116.314 : 69.044502 : 1"
+   inkscape:persp3d-origin="58.157001 : 46.029668 : 1"
+   id="perspective2497" />
+	
+	
+	
+	
+<linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_2_"
+   id="linearGradient3283"
+   gradientUnits="userSpaceOnUse"
+   x1="7.4882998"
+   y1="83.584999"
+   x2="105.4561"
+   y2="83.584999" />
+		<linearGradient
+   id="SVGID_2_"
+   gradientUnits="userSpaceOnUse"
+   x1="7.4882998"
+   y1="83.584999"
+   x2="105.4561"
+   y2="83.584999">
+			<stop
+   offset="0"
+   style="stop-color:#FF897A"
+   id="stop2486" />
+			<stop
+   offset="1"
+   style="stop-color:#FF3400"
+   id="stop2488" />
+		</linearGradient>
+		
+	<linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_1_"
+   id="linearGradient3291"
+   gradientUnits="userSpaceOnUse"
+   x1="7.5732002"
+   y1="24.2642"
+   x2="105.3721"
+   y2="24.2642" />
+		<linearGradient
+   id="SVGID_1_"
+   gradientUnits="userSpaceOnUse"
+   x1="7.5732002"
+   y1="24.2642"
+   x2="105.3721"
+   y2="24.2642">
+			<stop
+   offset="0"
+   style="stop-color:#FF897A"
+   id="stop2477" />
+			<stop
+   offset="1"
+   style="stop-color:#FF3400"
+   id="stop2479" />
+		</linearGradient>
+		
+			
+	
+		
+	
+		
+	</defs><sodipodi:namedview
+   inkscape:window-height="970"
+   inkscape:window-width="1664"
+   inkscape:pageshadow="2"
+   inkscape:pageopacity="0.0"
+   guidetolerance="10.0"
+   gridtolerance="10.0"
+   objecttolerance="10.0"
+   borderopacity="1.0"
+   bordercolor="#666666"
+   pagecolor="#ffffff"
+   id="base"
+   showgrid="false"
+   inkscape:zoom="3.5049858"
+   inkscape:cx="2.2366608"
+   inkscape:cy="69.044502"
+   inkscape:window-x="0"
+   inkscape:window-y="44"
+   inkscape:current-layer="Layer_1" />
+
+<g
+   id="g4102">
+     
+     <ellipse
+     style="opacity:0.25;fill-rule:evenodd"
+     sodipodi:ry="18.582001"
+     sodipodi:rx="48.898998"
+     sodipodi:cy="26.895"
+     sodipodi:cx="60.167"
+     id="ellipse2468"
+     ry="18.582001"
+     rx="48.898998"
+     cy="26.895"
+     cx="60.167"
+     clip-rule="evenodd" /><path
+     style="opacity:0.25;fill-rule:evenodd"
+     id="path2472"
+     d="M 109.151,37.791 L 109.151,115.446 L 108.982,116.058 C 108.982,126.32 87.09,134.639 60.083,134.639 C 33.076,134.639 11.185,126.32 11.185,116.058 C 11.185,115.852 11.179,115.649 11.197,115.446 L 11.197,37.939 C 19.812,44.914 38.464,49.744 60.084,49.744 C 81.855,49.744 100.616,44.847 109.151,37.791 z"
+     clip-rule="evenodd" /><ellipse
+     sodipodi:ry="18.582001"
+     sodipodi:rx="48.898998"
+     sodipodi:cy="24.264999"
+     sodipodi:cx="56.473"
+     style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;fill-opacity:1;stroke-opacity:1"
+     id="ellipse2481"
+     ry="18.582001"
+     rx="48.898998"
+     cy="24.264999"
+     cx="56.473"
+     clip-rule="evenodd" /><path
+     style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;fill-opacity:1;stroke-opacity:1"
+     id="path2490"
+     d="M 105.456,35.161 L 105.456,112.815 L 105.288,113.428 C 105.288,123.69 83.395,132.009 56.388,132.009 C 29.382,132.009 7.49,123.69 7.49,113.428 C 7.49,113.223 7.484,113.019 7.502,112.815 L 7.502,35.31 C 16.117,42.285 34.77,47.115 56.389,47.115 C 78.161,47.114 96.921,42.217 105.456,35.161 z"
+     clip-rule="evenodd" /></g>
+</svg>
\ No newline at end of file
diff --git a/resources/library/shape/cylindre bleu.svg b/resources/library/shape/cylindre bleu.svg
new file mode 100644
index 00000000..64d43b23
--- /dev/null
+++ b/resources/library/shape/cylindre bleu.svg	
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="116.139px" height="134.172px" viewBox="0 0 116.139 134.172" enable-background="new 0 0 116.139 134.172"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<ellipse fill-rule="evenodd" clip-rule="evenodd" cx="60.182" cy="24.381" rx="48.899" ry="18.583"/>
+	</g>
+	<g opacity="0.25">
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M109.166,35.278v77.655l-0.169,0.613c0,10.262-21.892,18.58-48.899,18.58
+			c-27.007,0-48.898-8.318-48.898-18.58c0-0.207-0.006-0.41,0.012-0.613V35.426c8.615,6.975,27.267,11.805,48.887,11.805
+			C81.87,47.231,100.631,42.333,109.166,35.278z"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="7.6904" y1="21.9883" x2="105.4893" y2="21.9883">
+			<stop  offset="0" style="stop-color:#7CD4FF"/>
+			<stop  offset="1" style="stop-color:#3777AE"/>
+		</linearGradient>
+		
+			<ellipse fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#194E6A" cx="56.59" cy="21.989" rx="48.899" ry="18.583"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="7.6074" y1="81.3096" x2="105.5752" y2="81.3096">
+			<stop  offset="0" style="stop-color:#7CD4FF"/>
+			<stop  offset="1" style="stop-color:#3777AE"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#194E6A" d="M105.575,32.886v77.654l-0.17,0.613
+			c0,10.262-21.891,18.58-48.898,18.58s-48.898-8.318-48.898-18.58c0-0.205-0.006-0.41,0.012-0.613V33.034
+			c8.615,6.975,27.266,11.805,48.887,11.805C78.278,44.839,97.04,39.941,105.575,32.886z"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/cylindre gris.svg b/resources/library/shape/cylindre gris.svg
new file mode 100644
index 00000000..bb733e24
--- /dev/null
+++ b/resources/library/shape/cylindre gris.svg	
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="109.295px" height="133.251px" viewBox="0 0 109.295 133.251" enable-background="new 0 0 109.295 133.251"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<ellipse fill-rule="evenodd" clip-rule="evenodd" cx="55.932" cy="23.934" rx="48.9" ry="18.583"/>
+	</g>
+	<g opacity="0.25">
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M104.917,34.83v77.655l-0.169,0.612c0,10.262-21.892,18.581-48.9,18.581
+			c-27.007,0-48.898-8.319-48.898-18.581c0-0.206-0.006-0.409,0.012-0.612V34.978c8.615,6.976,27.267,11.806,48.887,11.806
+			C77.621,46.783,96.382,41.885,104.917,34.83z"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5.0962" y1="21.5693" x2="103.1729" y2="21.5693">
+			<stop  offset="0" style="stop-color:#BEBEBE"/>
+			<stop  offset="1" style="stop-color:#6A6A6A"/>
+		</linearGradient>
+		
+			<ellipse fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#414141" cx="54.135" cy="21.57" rx="49.038" ry="18.636"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5.0132" y1="81.0586" x2="103.2588" y2="81.0586">
+			<stop  offset="0" style="stop-color:#BEBEBE"/>
+			<stop  offset="1" style="stop-color:#6A6A6A"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#414141" d="M103.259,32.497v77.877l-0.17,0.613
+			c0,10.291-21.953,18.634-49.038,18.634c-27.084,0-49.037-8.343-49.037-18.634c0-0.205-0.006-0.41,0.01-0.613V32.646
+			c8.641,6.995,27.346,11.839,49.027,11.839C75.886,44.484,94.698,39.572,103.259,32.497z"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/cylindre rouge.svg b/resources/library/shape/cylindre rouge.svg
new file mode 100644
index 00000000..35200c72
--- /dev/null
+++ b/resources/library/shape/cylindre rouge.svg	
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="116.314px" height="138.089px" viewBox="0 0 116.314 138.089" enable-background="new 0 0 116.314 138.089"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<ellipse fill-rule="evenodd" clip-rule="evenodd" cx="60.167" cy="26.895" rx="48.899" ry="18.582"/>
+	</g>
+	<g opacity="0.25">
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M109.151,37.791v77.655l-0.169,0.612c0,10.262-21.892,18.581-48.899,18.581
+			c-27.007,0-48.898-8.319-48.898-18.581c0-0.206-0.006-0.409,0.012-0.612V37.939c8.615,6.975,27.267,11.805,48.887,11.805
+			C81.855,49.744,100.616,44.847,109.151,37.791z"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="7.5732" y1="24.2642" x2="105.3721" y2="24.2642">
+			<stop  offset="0" style="stop-color:#FF897A"/>
+			<stop  offset="1" style="stop-color:#FF3400"/>
+		</linearGradient>
+		
+			<ellipse fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#6F0000" cx="56.473" cy="24.265" rx="48.899" ry="18.582"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="7.4883" y1="83.585" x2="105.4561" y2="83.585">
+			<stop  offset="0" style="stop-color:#FF897A"/>
+			<stop  offset="1" style="stop-color:#FF3400"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#6F0000" d="M105.456,35.161v77.654l-0.168,0.613
+			c0,10.262-21.893,18.581-48.9,18.581c-27.006,0-48.898-8.319-48.898-18.581c0-0.205-0.006-0.409,0.012-0.613V35.31
+			c8.615,6.975,27.268,11.805,48.887,11.805C78.161,47.114,96.921,42.217,105.456,35.161z"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/cylindre vide.svg b/resources/library/shape/cylindre vide.svg
new file mode 100644
index 00000000..6966b591
--- /dev/null
+++ b/resources/library/shape/cylindre vide.svg	
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="104.495px" height="132.564px" viewBox="0 0 104.495 132.564" enable-background="new 0 0 104.495 132.564"
+	 xml:space="preserve">
+
+<g>
+	<g>
+		
+			<ellipse fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" cx="52.564" cy="22.382" rx="48.899" ry="18.583"/>
+	</g>
+	<g>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" d="M101.548,33.279v77.655l-0.169,0.612
+			c0,10.262-21.892,18.581-48.899,18.581c-27.007,0-48.898-8.319-48.898-18.581c0-0.206-0.006-0.409,0.012-0.612V33.426
+			c8.615,6.976,27.267,11.806,48.887,11.806C74.252,45.232,93.013,40.333,101.548,33.279z"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/disque blanc.svg b/resources/library/shape/disque blanc.svg
new file mode 100644
index 00000000..6d8cf593
--- /dev/null
+++ b/resources/library/shape/disque blanc.svg	
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   id="Layer_1"
+   x="0px"
+   y="0px"
+   width="116.314px"
+   height="116.314px"
+   viewBox="0 0 116.314 116.314"
+   enable-background="new 0 0 116.314 116.314"
+   xml:space="preserve"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="red_disk.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
+   id="metadata4097"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+   id="defs4095"><inkscape:perspective
+   sodipodi:type="inkscape:persp3d"
+   inkscape:vp_x="0 : 58.157001 : 1"
+   inkscape:vp_y="0 : 1000 : 0"
+   inkscape:vp_z="116.314 : 58.157001 : 1"
+   inkscape:persp3d-origin="58.157001 : 38.771334 : 1"
+   id="perspective4099" />
+	
+	
+<linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_1_"
+   id="linearGradient4108"
+   gradientUnits="userSpaceOnUse"
+   x1="2.2783"
+   y1="56.8423"
+   x2="110.667"
+   y2="56.8423" />
+		<linearGradient
+   id="SVGID_1_"
+   gradientUnits="userSpaceOnUse"
+   x1="2.2783"
+   y1="56.8423"
+   x2="110.667"
+   y2="56.8423">
+			<stop
+   offset="0"
+   style="stop-color:#FF897A"
+   id="stop4088" />
+			<stop
+   offset="1"
+   style="stop-color:#FF3400"
+   id="stop4090" />
+		</linearGradient>
+		
+	
+		
+	</defs><sodipodi:namedview
+   inkscape:window-height="970"
+   inkscape:window-width="1664"
+   inkscape:pageshadow="2"
+   inkscape:pageopacity="0.0"
+   guidetolerance="10.0"
+   gridtolerance="10.0"
+   objecttolerance="10.0"
+   borderopacity="1.0"
+   bordercolor="#666666"
+   pagecolor="#ffffff"
+   id="base"
+   showgrid="false"
+   inkscape:zoom="4.0579809"
+   inkscape:cx="36.48791"
+   inkscape:cy="53.882436"
+   inkscape:window-x="0"
+   inkscape:window-y="44"
+   inkscape:current-layer="Layer_1" />
+
+<g
+   id="g4041">
+   
+     
+     <circle
+     style="opacity:0.25;fill-rule:evenodd"
+     sodipodi:ry="54.195"
+     sodipodi:rx="54.195"
+     sodipodi:cy="59.473"
+     sodipodi:cx="60.167"
+     id="circle4083"
+     r="54.195"
+     cy="59.473"
+     cx="60.167"
+     clip-rule="evenodd" /><circle
+     sodipodi:ry="54.194"
+     sodipodi:rx="54.194"
+     sodipodi:cy="56.841999"
+     sodipodi:cx="56.473"
+     style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-opacity:1;fill-opacity:1"
+     id="circle4092"
+     r="54.194"
+     cy="56.841999"
+     cx="56.473"
+     clip-rule="evenodd" /></g>
+</svg>
\ No newline at end of file
diff --git a/resources/library/shape/disque bleu.svg b/resources/library/shape/disque bleu.svg
new file mode 100644
index 00000000..ac5ddccf
--- /dev/null
+++ b/resources/library/shape/disque bleu.svg	
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="116.137px" height="115.055px" viewBox="0 0 116.137 115.055" enable-background="new 0 0 116.137 115.055"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<circle fill-rule="evenodd" clip-rule="evenodd" cx="60.182" cy="59.403" r="54.195"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="2.396" y1="57.0122" x2="110.7847" y2="57.0122">
+			<stop  offset="0" style="stop-color:#7CD4FF"/>
+			<stop  offset="1" style="stop-color:#3777AE"/>
+		</linearGradient>
+		<circle fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#194E6A" cx="56.59" cy="57.012" r="54.194"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/disque gris.svg b/resources/library/shape/disque gris.svg
new file mode 100644
index 00000000..c31865d6
--- /dev/null
+++ b/resources/library/shape/disque gris.svg	
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="116.462px" height="115.054px" viewBox="0 0 116.462 115.054" enable-background="new 0 0 116.462 115.054"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<circle fill-rule="evenodd" clip-rule="evenodd" cx="60.236" cy="59.402" r="54.195"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="2.6655" y1="57.167" x2="111.3628" y2="57.167">
+			<stop  offset="0" style="stop-color:#BEBEBE"/>
+			<stop  offset="1" style="stop-color:#6A6A6A"/>
+		</linearGradient>
+		<circle fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#414141" cx="57.014" cy="57.166" r="54.349"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/disque rouge.svg b/resources/library/shape/disque rouge.svg
new file mode 100644
index 00000000..8609dbc8
--- /dev/null
+++ b/resources/library/shape/disque rouge.svg	
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="116.314px" height="116.314px" viewBox="0 0 116.314 116.314" enable-background="new 0 0 116.314 116.314"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<circle fill-rule="evenodd" clip-rule="evenodd" cx="60.167" cy="59.473" r="54.195"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="2.2783" y1="56.8423" x2="110.667" y2="56.8423">
+			<stop  offset="0" style="stop-color:#FF897A"/>
+			<stop  offset="1" style="stop-color:#FF3400"/>
+		</linearGradient>
+		<circle fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#6F0000" cx="56.473" cy="56.842" r="54.194"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/disque vide.svg b/resources/library/shape/disque vide.svg
new file mode 100644
index 00000000..d624d408
--- /dev/null
+++ b/resources/library/shape/disque vide.svg	
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="116.463px" height="115.054px" viewBox="0 0 116.463 115.054" enable-background="new 0 0 116.463 115.054"
+	 xml:space="preserve">
+
+<g>
+	<circle fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" cx="58.549" cy="58.208" r="54.195"/>
+</g>
+</svg>
diff --git a/resources/library/shape/étoile blanche arr.svg b/resources/library/shape/étoile blanche arr.svg
new file mode 100644
index 00000000..ccc1232e
--- /dev/null
+++ b/resources/library/shape/étoile blanche arr.svg	
@@ -0,0 +1,140 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   id="Layer_1"
+   x="0px"
+   y="0px"
+   width="128.846px"
+   height="122.544px"
+   viewBox="0 0 128.846 122.544"
+   enable-background="new 0 0 128.846 122.544"
+   xml:space="preserve"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="red_star_rnd.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
+   id="metadata8407"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+   id="defs8405"><inkscape:perspective
+   sodipodi:type="inkscape:persp3d"
+   inkscape:vp_x="0 : 61.271999 : 1"
+   inkscape:vp_y="0 : 1000 : 0"
+   inkscape:vp_z="128.84599 : 61.271999 : 1"
+   inkscape:persp3d-origin="64.422997 : 40.848 : 1"
+   id="perspective8409" />
+	
+	
+<linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_1_"
+   id="linearGradient8932"
+   gradientUnits="userSpaceOnUse"
+   x1="2.4384999"
+   y1="60.637699"
+   x2="123.3472"
+   y2="60.637699" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_2_"
+   id="linearGradient8934"
+   gradientUnits="userSpaceOnUse"
+   x1="2.4384999"
+   y1="60.637699"
+   x2="123.3472"
+   y2="60.637699" />
+		<linearGradient
+   id="SVGID_1_"
+   gradientUnits="userSpaceOnUse"
+   x1="2.4384999"
+   y1="60.637699"
+   x2="123.3472"
+   y2="60.637699">
+			<stop
+   offset="0"
+   style="stop-color:#FF897A"
+   id="stop8391" />
+			<stop
+   offset="1"
+   style="stop-color:#FF3400"
+   id="stop8393" />
+		</linearGradient>
+		
+		<linearGradient
+   id="SVGID_2_"
+   gradientUnits="userSpaceOnUse"
+   x1="2.4384999"
+   y1="60.637699"
+   x2="123.3472"
+   y2="60.637699">
+			<stop
+   offset="0"
+   style="stop-color:#FF897A"
+   id="stop8398" />
+			<stop
+   offset="1"
+   style="stop-color:#FF3400"
+   id="stop8400" />
+		</linearGradient>
+		
+	<linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_2_"
+   id="linearGradient8943"
+   gradientUnits="userSpaceOnUse"
+   x1="2.4384999"
+   y1="60.637699"
+   x2="123.3472"
+   y2="60.637699" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_1_"
+   id="linearGradient8946"
+   gradientUnits="userSpaceOnUse"
+   x1="2.4384999"
+   y1="60.637699"
+   x2="123.3472"
+   y2="60.637699" />
+		
+		
+	</defs><sodipodi:namedview
+   inkscape:window-height="970"
+   inkscape:window-width="1680"
+   inkscape:pageshadow="2"
+   inkscape:pageopacity="0.0"
+   guidetolerance="10.0"
+   gridtolerance="10.0"
+   objecttolerance="10.0"
+   borderopacity="1.0"
+   bordercolor="#666666"
+   pagecolor="#ffffff"
+   id="base"
+   showgrid="false"
+   inkscape:zoom="3.9496018"
+   inkscape:cx="14.797741"
+   inkscape:cy="61.271999"
+   inkscape:window-x="-8"
+   inkscape:window-y="-8"
+   inkscape:current-layer="Layer_1" />
+
+<g
+   id="g8950">
+   
+     
+     <path
+     style="opacity:0.25;fill-rule:evenodd"
+     id="path8384"
+     d="M 66.588,97.681 L 36.828,119.302 C 31.108,123.457 25.637,119.483 27.819,112.756 L 39.187,77.774 L 9.43,56.153 C 3.71,51.996 5.799,45.565 12.87,45.563 L 49.653,45.562 L 61.02,10.582 C 63.205,3.855 69.967,3.855 72.154,10.582 L 83.522,45.562 L 120.303,45.563 C 127.374,45.565 129.465,51.996 123.744,56.153 L 93.989,77.774 L 105.352,112.756 C 107.539,119.483 102.066,123.457 96.345,119.302 L 66.588,97.681 z"
+     clip-rule="evenodd" /><path
+     style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;fill-opacity:1;stroke-opacity:1"
+     id="path8395"
+     d="M 62.894,95.051 L 33.134,116.672 C 27.413,120.827 21.943,116.853 24.124,110.126 L 35.493,75.144 L 5.736,53.523 C 0.015,49.366 2.105,42.935 9.175,42.933 L 45.958,42.932 L 57.325,7.952 C 59.511,1.225 66.272,1.225 68.46,7.952 L 79.827,42.932 L 116.608,42.933 C 123.68,42.935 125.77,49.366 120.049,53.523 L 90.294,75.144 L 101.657,110.126 C 103.843,116.853 98.37,120.827 92.649,116.672 L 62.894,95.051 z"
+     clip-rule="evenodd" /></g>
+</svg>
\ No newline at end of file
diff --git a/resources/library/shape/étoile blanche.svg b/resources/library/shape/étoile blanche.svg
new file mode 100644
index 00000000..728fe939
--- /dev/null
+++ b/resources/library/shape/étoile blanche.svg	
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   id="Layer_1"
+   x="0px"
+   y="0px"
+   width="128.846px"
+   height="122.544px"
+   viewBox="0 0 128.846 122.544"
+   enable-background="new 0 0 128.846 122.544"
+   xml:space="preserve"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="red_star.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
+   id="metadata7779"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+   id="defs7777"><inkscape:perspective
+   sodipodi:type="inkscape:persp3d"
+   inkscape:vp_x="0 : 61.271999 : 1"
+   inkscape:vp_y="0 : 1000 : 0"
+   inkscape:vp_z="128.84599 : 61.271999 : 1"
+   inkscape:persp3d-origin="64.422997 : 40.848 : 1"
+   id="perspective7781" />
+	
+	
+<linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_1_"
+   id="linearGradient8304"
+   gradientUnits="userSpaceOnUse"
+   x1="2.8438001"
+   y1="60.637699"
+   x2="122.9438"
+   y2="60.637699" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_2_"
+   id="linearGradient8306"
+   gradientUnits="userSpaceOnUse"
+   x1="2.8438001"
+   y1="60.637699"
+   x2="122.9438"
+   y2="60.637699" />
+		<linearGradient
+   id="SVGID_1_"
+   gradientUnits="userSpaceOnUse"
+   x1="2.8438001"
+   y1="60.637699"
+   x2="122.9438"
+   y2="60.637699">
+			<stop
+   offset="0"
+   style="stop-color:#FF897A"
+   id="stop7763" />
+			<stop
+   offset="1"
+   style="stop-color:#FF3400"
+   id="stop7765" />
+		</linearGradient>
+		
+		<linearGradient
+   id="SVGID_2_"
+   gradientUnits="userSpaceOnUse"
+   x1="2.8438001"
+   y1="60.637699"
+   x2="122.9438"
+   y2="60.637699">
+			<stop
+   offset="0"
+   style="stop-color:#FF897A"
+   id="stop7770" />
+			<stop
+   offset="1"
+   style="stop-color:#FF3400"
+   id="stop7772" />
+		</linearGradient>
+		
+	
+		
+		
+	</defs><sodipodi:namedview
+   inkscape:window-height="970"
+   inkscape:window-width="1680"
+   inkscape:pageshadow="2"
+   inkscape:pageopacity="0.0"
+   guidetolerance="10.0"
+   gridtolerance="10.0"
+   objecttolerance="10.0"
+   borderopacity="1.0"
+   bordercolor="#666666"
+   pagecolor="#ffffff"
+   id="base"
+   showgrid="false"
+   inkscape:zoom="3.9496018"
+   inkscape:cx="14.797741"
+   inkscape:cy="61.271999"
+   inkscape:window-x="-8"
+   inkscape:window-y="-8"
+   inkscape:current-layer="Layer_1" />
+
+<g
+   id="g8318">
+   
+     
+     <polygon
+     style="opacity:0.25;fill-rule:evenodd"
+     id="polygon7756"
+     points="103.702,120.378 66.588,93.416 29.475,120.378 43.65,76.75 6.538,49.786 52.411,49.784 66.588,6.157 80.766,49.784 126.637,49.786 89.526,76.75 103.702,120.378 "
+     clip-rule="evenodd" /><polygon
+     style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-opacity:1;fill-opacity:1"
+     id="polygon7767"
+     points="100.006,117.749 62.895,90.786 25.779,117.749 39.955,74.121 2.844,47.156 48.717,47.154 62.895,3.527 77.071,47.154 122.944,47.156 85.831,74.121 100.006,117.749 "
+     clip-rule="evenodd" /></g>
+</svg>
\ No newline at end of file
diff --git a/resources/library/shape/étoile bleue arr.svg b/resources/library/shape/étoile bleue arr.svg
new file mode 100644
index 00000000..da45d59b
--- /dev/null
+++ b/resources/library/shape/étoile bleue arr.svg	
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="129.314px" height="122.966px" viewBox="0 0 129.314 122.966" enable-background="new 0 0 129.314 122.966"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M66.77,97.773l-29.76,21.621c-5.72,4.155-11.191,0.181-9.009-6.546L39.37,77.866
+			L9.612,56.245c-5.72-4.157-3.631-10.588,3.44-10.59l36.783-0.001l11.367-34.98c2.185-6.727,8.947-6.727,11.134,0l11.368,34.98
+			l36.781,0.001c7.071,0.002,9.162,6.433,3.441,10.59L94.17,77.866l11.363,34.982c2.187,6.727-3.286,10.701-9.007,6.546
+			L66.77,97.773z"/>
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M66.77,97.773l-29.76,21.621c-5.72,4.155-11.191,0.181-9.009-6.546L39.37,77.866
+			L9.612,56.245c-5.72-4.157-3.631-10.588,3.44-10.59l36.783-0.001l11.367-34.98c2.185-6.727,8.947-6.727,11.134,0l11.368,34.98
+			l36.781,0.001c7.071,0.002,9.162,6.433,3.441,10.59L94.17,77.866l11.363,34.982c2.187,6.727-3.286,10.701-9.007,6.546
+			L66.77,97.773z"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="2.7236" y1="60.9683" x2="123.6333" y2="60.9683">
+			<stop  offset="0" style="stop-color:#7CD4FF"/>
+			<stop  offset="1" style="stop-color:#3777AE"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#194E6A" d="M63.178,95.382l-29.76,21.621
+			c-5.719,4.154-11.191,0.18-9.008-6.547l11.367-34.982L6.02,53.853c-5.719-4.156-3.631-10.588,3.441-10.59h36.783l11.367-34.98
+			c2.184-6.727,8.947-6.727,11.133,0l11.369,34.98h36.781c7.07,0.002,9.162,6.434,3.441,10.59L90.579,75.474l11.363,34.982
+			c2.188,6.727-3.285,10.701-9.006,6.547L63.178,95.382z"/>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="2.7236" y1="60.9683" x2="123.6333" y2="60.9683">
+			<stop  offset="0" style="stop-color:#7CD4FF"/>
+			<stop  offset="1" style="stop-color:#3777AE"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#194E6A" d="M63.178,95.382l-29.76,21.621
+			c-5.719,4.154-11.191,0.18-9.008-6.547l11.367-34.982L6.02,53.853c-5.719-4.156-3.631-10.588,3.441-10.59h36.783l11.367-34.98
+			c2.184-6.727,8.947-6.727,11.133,0l11.369,34.98h36.781c7.07,0.002,9.162,6.434,3.441,10.59L90.579,75.474l11.363,34.982
+			c2.188,6.727-3.285,10.701-9.006,6.547L63.178,95.382z"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/étoile bleue.svg b/resources/library/shape/étoile bleue.svg
new file mode 100644
index 00000000..516b7180
--- /dev/null
+++ b/resources/library/shape/étoile bleue.svg	
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="129.314px" height="122.966px" viewBox="0 0 129.314 122.966" enable-background="new 0 0 129.314 122.966"
+	 xml:space="preserve">
+<g>
+	<g opacity="0.25">
+		<polygon fill-rule="evenodd" clip-rule="evenodd" points="103.883,120.471 66.771,93.508 29.657,120.471 43.833,76.843 
+			6.72,49.878 52.593,49.876 66.771,6.249 80.948,49.876 126.82,49.878 89.708,76.843 		"/>
+		<polygon fill-rule="evenodd" clip-rule="evenodd" points="103.883,120.471 66.771,93.508 29.657,120.471 43.833,76.843 
+			6.72,49.878 52.593,49.876 66.771,6.249 80.948,49.876 126.82,49.878 89.708,76.843 		"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="3.1284" y1="60.9678" x2="123.228" y2="60.9678">
+			<stop  offset="0" style="stop-color:#7CD4FF"/>
+			<stop  offset="1" style="stop-color:#3777AE"/>
+		</linearGradient>
+		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#194E6A" points="100.292,118.078 63.179,91.115 
+			26.066,118.078 40.242,74.451 3.128,47.486 49.001,47.484 63.179,3.857 77.357,47.484 123.228,47.486 86.117,74.451 		"/>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="3.1284" y1="60.9678" x2="123.228" y2="60.9678">
+			<stop  offset="0" style="stop-color:#7CD4FF"/>
+			<stop  offset="1" style="stop-color:#3777AE"/>
+		</linearGradient>
+		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#194E6A" points="100.292,118.078 63.179,91.115 
+			26.066,118.078 40.242,74.451 3.128,47.486 49.001,47.484 63.179,3.857 77.357,47.484 123.228,47.486 86.117,74.451 		"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/étoile grise arr.svg b/resources/library/shape/étoile grise arr.svg
new file mode 100644
index 00000000..9c24a838
--- /dev/null
+++ b/resources/library/shape/étoile grise arr.svg	
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="129.18px" height="121.815px" viewBox="0 0 129.18 121.815" enable-background="new 0 0 129.18 121.815"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M66.116,96.75l-29.76,21.621c-5.72,4.155-11.191,0.181-9.009-6.546
+			l11.368-34.982L8.958,55.222c-5.72-4.157-3.631-10.588,3.44-10.59l36.783-0.001L60.548,9.65c2.185-6.727,8.948-6.727,11.134,0
+			l11.368,34.98l36.781,0.001c7.071,0.002,9.162,6.433,3.441,10.59L93.517,76.843l11.363,34.982
+			c2.187,6.727-3.286,10.701-9.007,6.546L66.116,96.75z"/>
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M66.116,96.75l-29.76,21.621c-5.72,4.155-11.191,0.181-9.009-6.546
+			l11.368-34.982L8.958,55.222c-5.72-4.157-3.631-10.588,3.44-10.59l36.783-0.001L60.548,9.65c2.185-6.727,8.948-6.727,11.134,0
+			l11.368,34.98l36.781,0.001c7.071,0.002,9.162,6.433,3.441,10.59L93.517,76.843l11.363,34.982
+			c2.187,6.727-3.286,10.701-9.007,6.546L66.116,96.75z"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="3.2441" y1="61.0044" x2="124.498" y2="61.0044">
+			<stop  offset="0" style="stop-color:#BEBEBE"/>
+			<stop  offset="1" style="stop-color:#6A6A6A"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#414141" d="M63.871,95.515l-29.844,21.684
+			c-5.736,4.166-11.225,0.182-9.033-6.564l11.4-35.082L6.55,53.87C0.814,49.7,2.91,43.251,10,43.249h36.889l11.4-35.08
+			c2.189-6.746,8.973-6.746,11.165,0l11.402,35.08h36.885c7.092,0.002,9.188,6.451,3.451,10.621L91.35,75.552l11.396,35.082
+			c2.191,6.746-3.295,10.73-9.033,6.564L63.871,95.515z"/>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="3.2441" y1="61.0044" x2="124.498" y2="61.0044">
+			<stop  offset="0" style="stop-color:#BEBEBE"/>
+			<stop  offset="1" style="stop-color:#6A6A6A"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#414141" d="M63.871,95.515l-29.844,21.684
+			c-5.736,4.166-11.225,0.182-9.033-6.564l11.4-35.082L6.55,53.87C0.814,49.7,2.91,43.251,10,43.249h36.889l11.4-35.08
+			c2.189-6.746,8.973-6.746,11.165,0l11.402,35.08h36.885c7.092,0.002,9.188,6.451,3.451,10.621L91.35,75.552l11.396,35.082
+			c2.191,6.746-3.295,10.73-9.033,6.564L63.871,95.515z"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/étoile grise.svg b/resources/library/shape/étoile grise.svg
new file mode 100644
index 00000000..a6cb5804
--- /dev/null
+++ b/resources/library/shape/étoile grise.svg	
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="129.18px" height="121.815px" viewBox="0 0 129.18 121.815" enable-background="new 0 0 129.18 121.815"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<polygon fill-rule="evenodd" clip-rule="evenodd" points="102.995,119.442 65.882,92.479 28.768,119.442 42.944,75.813 
+			5.832,48.849 51.705,48.847 65.882,5.22 80.06,48.847 125.931,48.849 88.819,75.813 		"/>
+		<polygon fill-rule="evenodd" clip-rule="evenodd" points="102.995,119.442 65.882,92.479 28.768,119.442 42.944,75.813 
+			5.832,48.849 51.705,48.847 65.882,5.22 80.06,48.847 125.931,48.849 88.819,75.813 		"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="3.8833" y1="61.0073" x2="124.3252" y2="61.0073">
+			<stop  offset="0" style="stop-color:#BEBEBE"/>
+			<stop  offset="1" style="stop-color:#6A6A6A"/>
+		</linearGradient>
+		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#414141" points="101.323,118.28 64.104,91.241 
+			26.885,118.28 41.1,74.528 3.883,47.486 49.887,47.486 64.104,3.734 78.323,47.486 124.325,47.486 87.106,74.528 		"/>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="3.8833" y1="61.0073" x2="124.3252" y2="61.0073">
+			<stop  offset="0" style="stop-color:#BEBEBE"/>
+			<stop  offset="1" style="stop-color:#6A6A6A"/>
+		</linearGradient>
+		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#414141" points="101.323,118.28 64.104,91.241 
+			26.885,118.28 41.1,74.528 3.883,47.486 49.887,47.486 64.104,3.734 78.323,47.486 124.325,47.486 87.106,74.528 		"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/étoile rouge arr.svg b/resources/library/shape/étoile rouge arr.svg
new file mode 100644
index 00000000..5beec8d5
--- /dev/null
+++ b/resources/library/shape/étoile rouge arr.svg	
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="128.846px" height="122.544px" viewBox="0 0 128.846 122.544" enable-background="new 0 0 128.846 122.544"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M66.588,97.681l-29.76,21.621c-5.72,4.155-11.191,0.181-9.009-6.546
+			l11.368-34.982L9.43,56.153c-5.72-4.157-3.631-10.588,3.44-10.59l36.783-0.001l11.367-34.98c2.185-6.727,8.947-6.727,11.134,0
+			l11.368,34.98l36.781,0.001c7.071,0.002,9.162,6.433,3.441,10.59L93.989,77.774l11.363,34.982
+			c2.187,6.727-3.286,10.701-9.007,6.546L66.588,97.681z"/>
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M66.588,97.681l-29.76,21.621c-5.72,4.155-11.191,0.181-9.009-6.546
+			l11.368-34.982L9.43,56.153c-5.72-4.157-3.631-10.588,3.44-10.59l36.783-0.001l11.367-34.98c2.185-6.727,8.947-6.727,11.134,0
+			l11.368,34.98l36.781,0.001c7.071,0.002,9.162,6.433,3.441,10.59L93.989,77.774l11.363,34.982
+			c2.187,6.727-3.286,10.701-9.007,6.546L66.588,97.681z"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="2.4385" y1="60.6377" x2="123.3472" y2="60.6377">
+			<stop  offset="0" style="stop-color:#FF897A"/>
+			<stop  offset="1" style="stop-color:#FF3400"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#6F0000" d="M62.894,95.051l-29.76,21.621
+			c-5.721,4.155-11.191,0.181-9.01-6.546l11.369-34.982L5.736,53.523c-5.721-4.157-3.631-10.588,3.439-10.59l36.783-0.001
+			l11.367-34.98c2.186-6.727,8.947-6.727,11.135,0l11.367,34.98l36.781,0.001c7.072,0.002,9.162,6.433,3.441,10.59L90.294,75.144
+			l11.363,34.982c2.186,6.727-3.287,10.701-9.008,6.546L62.894,95.051z"/>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="2.4385" y1="60.6377" x2="123.3472" y2="60.6377">
+			<stop  offset="0" style="stop-color:#FF897A"/>
+			<stop  offset="1" style="stop-color:#FF3400"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#6F0000" d="M62.894,95.051l-29.76,21.621
+			c-5.721,4.155-11.191,0.181-9.01-6.546l11.369-34.982L5.736,53.523c-5.721-4.157-3.631-10.588,3.439-10.59l36.783-0.001
+			l11.367-34.98c2.186-6.727,8.947-6.727,11.135,0l11.367,34.98l36.781,0.001c7.072,0.002,9.162,6.433,3.441,10.59L90.294,75.144
+			l11.363,34.982c2.186,6.727-3.287,10.701-9.008,6.546L62.894,95.051z"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/étoile rouge.svg b/resources/library/shape/étoile rouge.svg
new file mode 100644
index 00000000..c7f9ceda
--- /dev/null
+++ b/resources/library/shape/étoile rouge.svg	
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="128.846px" height="122.544px" viewBox="0 0 128.846 122.544" enable-background="new 0 0 128.846 122.544"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<polygon fill-rule="evenodd" clip-rule="evenodd" points="103.702,120.378 66.588,93.416 29.475,120.378 43.65,76.75 
+			6.538,49.786 52.411,49.784 66.588,6.157 80.766,49.784 126.637,49.786 89.526,76.75 		"/>
+		<polygon fill-rule="evenodd" clip-rule="evenodd" points="103.702,120.378 66.588,93.416 29.475,120.378 43.65,76.75 
+			6.538,49.786 52.411,49.784 66.588,6.157 80.766,49.784 126.637,49.786 89.526,76.75 		"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="2.8438" y1="60.6377" x2="122.9438" y2="60.6377">
+			<stop  offset="0" style="stop-color:#FF897A"/>
+			<stop  offset="1" style="stop-color:#FF3400"/>
+		</linearGradient>
+		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#6F0000" points="100.006,117.749 62.895,90.786 
+			25.779,117.749 39.955,74.121 2.844,47.156 48.717,47.154 62.895,3.527 77.071,47.154 122.944,47.156 85.831,74.121 		"/>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="2.8438" y1="60.6377" x2="122.9438" y2="60.6377">
+			<stop  offset="0" style="stop-color:#FF897A"/>
+			<stop  offset="1" style="stop-color:#FF3400"/>
+		</linearGradient>
+		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#6F0000" points="100.006,117.749 62.895,90.786 
+			25.779,117.749 39.955,74.121 2.844,47.156 48.717,47.154 62.895,3.527 77.071,47.154 122.944,47.156 85.831,74.121 		"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/étoile vide arr.svg b/resources/library/shape/étoile vide arr.svg
new file mode 100644
index 00000000..5980afe0
--- /dev/null
+++ b/resources/library/shape/étoile vide arr.svg	
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="125.75px" height="122.047px" viewBox="0 0 125.75 122.047" enable-background="new 0 0 125.75 122.047"
+	 xml:space="preserve">
+
+<g>
+	<path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" d="M63.193,95.206l-29.76,21.621
+		c-5.72,4.155-11.191,0.181-9.009-6.546l11.368-34.982L6.035,53.678c-5.72-4.157-3.631-10.588,3.44-10.59l36.783-0.001l11.367-34.98
+		c2.185-6.727,8.947-6.727,11.133,0l11.368,34.98l36.781,0.001c7.071,0.002,9.162,6.433,3.441,10.59L90.593,75.298l11.363,34.982
+		c2.187,6.727-3.286,10.701-9.007,6.546L63.193,95.206z"/>
+	<path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" d="M63.193,95.206l-29.76,21.621
+		c-5.72,4.155-11.191,0.181-9.009-6.546l11.368-34.982L6.035,53.678c-5.72-4.157-3.631-10.588,3.44-10.59l36.783-0.001l11.367-34.98
+		c2.185-6.727,8.947-6.727,11.133,0l11.368,34.98l36.781,0.001c7.071,0.002,9.162,6.433,3.441,10.59L90.593,75.298l11.363,34.982
+		c2.187,6.727-3.286,10.701-9.007,6.546L63.193,95.206z"/>
+</g>
+</svg>
diff --git a/resources/library/shape/étoile vide.svg b/resources/library/shape/étoile vide.svg
new file mode 100644
index 00000000..fcc08260
--- /dev/null
+++ b/resources/library/shape/étoile vide.svg	
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="125.75px" height="122.047px" viewBox="0 0 125.75 122.047" enable-background="new 0 0 125.75 122.047"
+	 xml:space="preserve">
+
+<g>
+	<polygon fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" points="100.306,117.904 63.194,90.941 
+		26.08,117.904 40.255,74.275 3.143,47.311 49.016,47.309 63.194,3.682 77.371,47.309 123.243,47.311 86.13,74.275 	"/>
+	<polygon fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" points="100.306,117.904 63.194,90.941 
+		26.08,117.904 40.255,74.275 3.143,47.311 49.016,47.309 63.194,3.682 77.371,47.309 123.243,47.311 86.13,74.275 	"/>
+</g>
+</svg>
diff --git a/resources/library/shape/flèche blanche bas.svg b/resources/library/shape/flèche blanche bas.svg
new file mode 100644
index 00000000..e4270523
--- /dev/null
+++ b/resources/library/shape/flèche blanche bas.svg	
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   id="Layer_1"
+   x="0px"
+   y="0px"
+   width="96.661px"
+   height="119.096px"
+   viewBox="0 0 96.661 119.096"
+   enable-background="new 0 0 96.661 119.096"
+   xml:space="preserve"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="red_arrow_down.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
+   id="metadata4418"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+   id="defs4416"><inkscape:perspective
+   sodipodi:type="inkscape:persp3d"
+   inkscape:vp_x="0 : 59.548 : 1"
+   inkscape:vp_y="0 : 1000 : 0"
+   inkscape:vp_z="96.661003 : 59.548 : 1"
+   inkscape:persp3d-origin="48.330502 : 39.698667 : 1"
+   id="perspective4420" />
+	
+	
+<linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_2_"
+   id="linearGradient4429"
+   gradientUnits="userSpaceOnUse"
+   x1="2.6235001"
+   y1="58.913601"
+   x2="90.977997"
+   y2="58.913601" />
+		<linearGradient
+   id="SVGID_2_"
+   gradientUnits="userSpaceOnUse"
+   x1="2.6235001"
+   y1="58.913601"
+   x2="90.977997"
+   y2="58.913601">
+			<stop
+   offset="0"
+   style="stop-color:#FFFFFF"
+   id="stop4411" />
+		</linearGradient>
+		
+	<linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_2_"
+   id="linearGradient4434"
+   gradientUnits="userSpaceOnUse"
+   x1="2.6235001"
+   y1="58.913601"
+   x2="90.977997"
+   y2="58.913601" />
+		
+		
+	</defs><sodipodi:namedview
+   inkscape:window-height="669"
+   inkscape:window-width="640"
+   inkscape:pageshadow="2"
+   inkscape:pageopacity="0.0"
+   guidetolerance="10.0"
+   gridtolerance="10.0"
+   objecttolerance="10.0"
+   borderopacity="1.0"
+   bordercolor="#666666"
+   pagecolor="#ffffff"
+   id="base"
+   showgrid="false"
+   inkscape:zoom="4.0639484"
+   inkscape:cx="48.330502"
+   inkscape:cy="59.548"
+   inkscape:window-x="92"
+   inkscape:window-y="92"
+   inkscape:current-layer="Layer_1" />
+
+<g
+   id="g4438">
+
+     <path
+     style="opacity:0.25;fill-rule:evenodd"
+     id="path4404"
+     d="M 36.043,64.812 L 36.043,8.574 C 36.043,7.337 37.129,6.249 38.368,6.249 L 63.62,6.249 C 64.856,6.249 65.946,7.337 65.946,8.574 L 65.946,64.812 L 92.092,64.812 C 94.583,64.812 95.484,66.802 93.838,68.673 L 52.242,116.013 C 51.277,117.112 49.711,117.112 48.746,116.013 L 7.151,68.674 C 5.506,66.803 6.406,64.813 8.897,64.813 L 36.043,64.813 L 36.043,64.812 z"
+     clip-rule="evenodd" /><path
+     style="fill:url(#linearGradient4434);fill-rule:evenodd;stroke:#000000"
+     id="path4413"
+     d="M 32.349,62.183 L 32.349,5.944 C 32.349,4.707 33.435,3.619 34.673,3.619 L 59.925,3.619 C 61.161,3.619 62.251,4.707 62.251,5.944 L 62.251,62.182 L 88.397,62.182 C 90.889,62.182 91.79,64.172 90.143,66.043 L 48.547,113.383 C 47.582,114.482 46.016,114.482 45.051,113.383 L 3.457,66.044 C 1.812,64.173 2.711,62.183 5.203,62.183 L 32.349,62.183 z"
+     clip-rule="evenodd" /></g>
+</svg>
\ No newline at end of file
diff --git a/resources/library/shape/flèche blanche droite.svg b/resources/library/shape/flèche blanche droite.svg
new file mode 100644
index 00000000..593b5c67
--- /dev/null
+++ b/resources/library/shape/flèche blanche droite.svg	
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   id="Layer_1"
+   x="0px"
+   y="0px"
+   width="119.268px"
+   height="96.873px"
+   viewBox="0 0 119.268 96.873"
+   enable-background="new 0 0 119.268 96.873"
+   xml:space="preserve"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="red_arrow_right.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
+   id="metadata4600"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+   id="defs4598"><inkscape:perspective
+   sodipodi:type="inkscape:persp3d"
+   inkscape:vp_x="0 : 48.436501 : 1"
+   inkscape:vp_y="0 : 1000 : 0"
+   inkscape:vp_z="119.268 : 48.436501 : 1"
+   inkscape:persp3d-origin="59.633999 : 32.291 : 1"
+   id="perspective4602" />
+	
+	
+<linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_2_"
+   id="linearGradient4611"
+   gradientUnits="userSpaceOnUse"
+   x1="2.8101001"
+   y1="47.8018"
+   x2="113.3979"
+   y2="47.8018" />
+		<linearGradient
+   id="SVGID_2_"
+   gradientUnits="userSpaceOnUse"
+   x1="2.8101001"
+   y1="47.8018"
+   x2="113.3979"
+   y2="47.8018">
+	<stop
+   offset="0"
+   style="stop-color:#FFFFFF"
+   id="stop4593" />
+		</linearGradient>
+		
+	<linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_2_"
+   id="linearGradient4616"
+   gradientUnits="userSpaceOnUse"
+   x1="2.8101001"
+   y1="47.8018"
+   x2="113.3979"
+   y2="47.8018" />
+		
+		
+	</defs><sodipodi:namedview
+   inkscape:window-height="669"
+   inkscape:window-width="640"
+   inkscape:pageshadow="2"
+   inkscape:pageopacity="0.0"
+   guidetolerance="10.0"
+   gridtolerance="10.0"
+   objecttolerance="10.0"
+   borderopacity="1.0"
+   bordercolor="#666666"
+   pagecolor="#ffffff"
+   id="base"
+   showgrid="false"
+   inkscape:zoom="4.745615"
+   inkscape:cx="59.633999"
+   inkscape:cy="48.436501"
+   inkscape:window-x="184"
+   inkscape:window-y="184"
+   inkscape:current-layer="Layer_1" />
+
+<g
+   id="g4620">
+
+     
+     <path
+     style="opacity:0.25;fill-rule:evenodd"
+     id="path4586"
+     d="M 65.069,64.885 L 8.831,64.885 C 7.593,64.885 6.505,63.797 6.505,62.559 L 6.505,37.307 C 6.505,36.07 7.593,34.982 8.831,34.982 L 65.069,34.982 L 65.069,8.834 C 65.069,6.341 67.057,5.443 68.93,7.086 L 116.27,48.685 C 117.368,49.65 117.368,51.214 116.27,52.179 L 68.93,93.776 C 67.057,95.422 65.069,94.521 65.069,92.031 L 65.069,64.885 z"
+     clip-rule="evenodd" /><path
+     style="fill:url(#linearGradient4616);fill-rule:evenodd;stroke:#000000"
+     id="path4595"
+     d="M 61.375,62.255 L 5.136,62.255 C 3.898,62.255 2.81,61.167 2.81,59.929 L 2.81,34.677 C 2.81,33.44 3.898,32.352 5.136,32.352 L 61.375,32.352 L 61.375,6.204 C 61.375,3.711 63.363,2.813 65.235,4.456 L 112.575,46.055 C 113.673,47.02 113.673,48.584 112.575,49.549 L 65.235,91.147 C 63.363,92.793 61.375,91.892 61.375,89.402 L 61.375,62.255 z"
+     clip-rule="evenodd" /></g>
+</svg>
\ No newline at end of file
diff --git a/resources/library/shape/flèche blanche gauche.svg b/resources/library/shape/flèche blanche gauche.svg
new file mode 100644
index 00000000..90e42e31
--- /dev/null
+++ b/resources/library/shape/flèche blanche gauche.svg	
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   id="Layer_1"
+   x="0px"
+   y="0px"
+   width="119.268px"
+   height="96.873px"
+   viewBox="0 0 119.268 96.873"
+   enable-background="new 0 0 119.268 96.873"
+   xml:space="preserve"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="red_arrow_left.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
+   id="metadata4509"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+   id="defs4507"><inkscape:perspective
+   sodipodi:type="inkscape:persp3d"
+   inkscape:vp_x="0 : 48.436501 : 1"
+   inkscape:vp_y="0 : 1000 : 0"
+   inkscape:vp_z="119.268 : 48.436501 : 1"
+   inkscape:persp3d-origin="59.633999 : 32.291 : 1"
+   id="perspective4511" />
+	
+	
+<linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_2_"
+   id="linearGradient4520"
+   gradientUnits="userSpaceOnUse"
+   x1="2.8104999"
+   y1="47.8018"
+   x2="113.3989"
+   y2="47.8018" />
+		<linearGradient
+   id="SVGID_2_"
+   gradientUnits="userSpaceOnUse"
+   x1="2.8104999"
+   y1="47.8018"
+   x2="113.3989"
+   y2="47.8018">
+	<stop
+   offset="0"
+   style="stop-color:#FFFFFF"
+   id="stop4502" />
+		</linearGradient>
+		
+	<linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_2_"
+   id="linearGradient4525"
+   gradientUnits="userSpaceOnUse"
+   x1="2.8104999"
+   y1="47.8018"
+   x2="113.3989"
+   y2="47.8018" />
+		
+		
+	</defs><sodipodi:namedview
+   inkscape:window-height="669"
+   inkscape:window-width="640"
+   inkscape:pageshadow="2"
+   inkscape:pageopacity="0.0"
+   guidetolerance="10.0"
+   gridtolerance="10.0"
+   objecttolerance="10.0"
+   borderopacity="1.0"
+   bordercolor="#666666"
+   pagecolor="#ffffff"
+   id="base"
+   showgrid="false"
+   inkscape:zoom="4.745615"
+   inkscape:cx="59.633999"
+   inkscape:cy="48.436501"
+   inkscape:window-x="138"
+   inkscape:window-y="138"
+   inkscape:current-layer="Layer_1" />
+
+<g
+   id="g4529">
+
+     <path
+     style="opacity:0.25;fill-rule:evenodd"
+     id="path4495"
+     d="M 58.528,35.98 L 114.769,35.98 C 116.005,35.98 117.093,37.066 117.093,38.305 L 117.093,63.558 C 117.093,64.793 116.005,65.883 114.769,65.883 L 58.528,65.883 L 58.528,92.03 C 58.528,94.52 56.54,95.421 54.668,93.775 L 7.328,52.179 C 6.231,51.216 6.231,49.65 7.328,48.685 L 54.668,7.086 C 56.54,5.443 58.528,6.341 58.528,8.834 L 58.528,35.98 L 58.528,35.98 z"
+     clip-rule="evenodd" /><path
+     style="fill:url(#linearGradient4525);fill-rule:evenodd;stroke:#000000"
+     id="path4504"
+     d="M 54.833,33.351 L 111.074,33.351 C 112.311,33.351 113.399,34.437 113.399,35.676 L 113.399,60.929 C 113.399,62.164 112.311,63.254 111.074,63.254 L 54.833,63.254 L 54.833,89.401 C 54.833,91.891 52.845,92.792 50.974,91.146 L 3.633,49.549 C 2.536,48.586 2.536,47.02 3.633,46.055 L 50.974,4.456 C 52.845,2.813 54.833,3.711 54.833,6.204 L 54.833,33.351 z"
+     clip-rule="evenodd" /></g>
+</svg>
\ No newline at end of file
diff --git a/resources/library/shape/flèche blanche haut.svg b/resources/library/shape/flèche blanche haut.svg
new file mode 100644
index 00000000..b13c8774
--- /dev/null
+++ b/resources/library/shape/flèche blanche haut.svg	
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   id="Layer_1"
+   x="0px"
+   y="0px"
+   width="96.661px"
+   height="119.096px"
+   viewBox="0 0 96.661 119.096"
+   enable-background="new 0 0 96.661 119.096"
+   xml:space="preserve"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="red_arrow_up.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
+   id="metadata4711"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+   id="defs4709"><inkscape:perspective
+   sodipodi:type="inkscape:persp3d"
+   inkscape:vp_x="0 : 59.548 : 1"
+   inkscape:vp_y="0 : 1000 : 0"
+   inkscape:vp_z="96.661003 : 59.548 : 1"
+   inkscape:persp3d-origin="48.330502 : 39.698667 : 1"
+   id="perspective4713" />
+	
+	
+<linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_2_"
+   id="linearGradient4722"
+   gradientUnits="userSpaceOnUse"
+   x1="2.6229999"
+   y1="58.913601"
+   x2="90.977997"
+   y2="58.913601" />
+		<linearGradient
+   id="SVGID_2_"
+   gradientUnits="userSpaceOnUse"
+   x1="2.6229999"
+   y1="58.913601"
+   x2="90.977997"
+   y2="58.913601">
+	<stop
+   offset="0"
+   style="stop-color:#FFFFFF"
+   id="stop4704" />
+		</linearGradient>
+		
+	<linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_2_"
+   id="linearGradient4727"
+   gradientUnits="userSpaceOnUse"
+   x1="2.6229999"
+   y1="58.913601"
+   x2="90.977997"
+   y2="58.913601" />
+		
+		
+	</defs><sodipodi:namedview
+   inkscape:window-height="669"
+   inkscape:window-width="640"
+   inkscape:pageshadow="2"
+   inkscape:pageopacity="0.0"
+   guidetolerance="10.0"
+   gridtolerance="10.0"
+   objecttolerance="10.0"
+   borderopacity="1.0"
+   bordercolor="#666666"
+   pagecolor="#ffffff"
+   id="base"
+   showgrid="false"
+   inkscape:zoom="4.0639484"
+   inkscape:cx="48.330502"
+   inkscape:cy="59.548"
+   inkscape:window-x="394"
+   inkscape:window-y="149"
+   inkscape:current-layer="Layer_1" />
+
+<g
+   id="g4731">
+   
+     
+     <path
+     style="opacity:0.25;fill-rule:evenodd"
+     id="path4697"
+     d="M 64.949,58.272 L 64.949,114.512 C 64.949,115.748 63.86,116.838 62.623,116.838 L 37.371,116.838 C 36.133,116.838 35.045,115.748 35.045,114.512 L 35.045,58.272 L 8.898,58.272 C 6.407,58.272 5.505,56.283 7.152,54.413 L 48.749,7.072 C 49.713,5.973 51.278,5.973 52.242,7.072 L 93.84,54.413 C 95.484,56.283 94.585,58.272 92.092,58.272 L 64.949,58.272 z"
+     clip-rule="evenodd" /><path
+     style="fill:url(#linearGradient4727);fill-rule:evenodd;stroke:#000000"
+     id="path4706"
+     d="M 61.253,55.643 L 61.253,111.883 C 61.253,113.119 60.165,114.209 58.927,114.209 L 33.675,114.209 C 32.437,114.209 31.349,113.119 31.349,111.883 L 31.349,55.643 L 5.203,55.643 C 2.713,55.643 1.81,53.654 3.457,51.784 L 45.054,4.442 C 46.017,3.343 47.583,3.343 48.546,4.442 L 90.146,51.783 C 91.789,53.653 90.89,55.642 88.398,55.642 L 61.253,55.642 L 61.253,55.643 z"
+     clip-rule="evenodd" /></g>
+</svg>
\ No newline at end of file
diff --git a/resources/library/shape/flèche bleue bas.svg b/resources/library/shape/flèche bleue bas.svg
new file mode 100644
index 00000000..7613a3f2
--- /dev/null
+++ b/resources/library/shape/flèche bleue bas.svg	
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="97.773px" height="118.167px" viewBox="0 0 97.773 118.167" enable-background="new 0 0 97.773 118.167"
+	 xml:space="preserve">
+<g>
+	<g opacity="0.25">
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M36.547,64.229V7.991c0-1.237,1.086-2.325,2.325-2.325h25.252
+			c1.236,0,2.326,1.088,2.326,2.325v56.238h26.146c2.491,0,3.392,1.99,1.746,3.861l-41.596,47.34c-0.965,1.099-2.531,1.099-3.496,0
+			L7.655,68.09c-1.645-1.871-0.745-3.861,1.746-3.861H36.547z"/>
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M36.547,64.229V7.991c0-1.237,1.086-2.325,2.325-2.325h25.252
+			c1.236,0,2.326,1.088,2.326,2.325v56.238h26.146c2.491,0,3.392,1.99,1.746,3.861l-41.596,47.34c-0.965,1.099-2.531,1.099-3.496,0
+			L7.655,68.09c-1.645-1.871-0.745-3.861,1.746-3.861H36.547z"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="3.2305" y1="58.5679" x2="91.5854" y2="58.5679">
+			<stop  offset="0" style="stop-color:#7CD4FF"/>
+			<stop  offset="1" style="stop-color:#3777AE"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#194E6A" d="M32.956,61.836V5.598
+			c0-1.236,1.086-2.324,2.326-2.324h25.252c1.236,0,2.326,1.088,2.326,2.324v56.238h26.146c2.49,0,3.391,1.99,1.746,3.861
+			l-41.596,47.34c-0.965,1.1-2.531,1.1-3.496,0L4.063,65.698c-1.645-1.871-0.744-3.861,1.746-3.861H32.956z"/>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="3.2305" y1="58.5679" x2="91.5854" y2="58.5679">
+			<stop  offset="0" style="stop-color:#7CD4FF"/>
+			<stop  offset="1" style="stop-color:#3777AE"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#194E6A" d="M32.956,61.836V5.598
+			c0-1.236,1.086-2.324,2.326-2.324h25.252c1.236,0,2.326,1.088,2.326,2.324v56.238h26.146c2.49,0,3.391,1.99,1.746,3.861
+			l-41.596,47.34c-0.965,1.1-2.531,1.1-3.496,0L4.063,65.698c-1.645-1.871-0.744-3.861,1.746-3.861H32.956z"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/flèche bleue droite.svg b/resources/library/shape/flèche bleue droite.svg
new file mode 100644
index 00000000..cd147f73
--- /dev/null
+++ b/resources/library/shape/flèche bleue droite.svg	
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="121.085px" height="95.54px" viewBox="0 0 121.085 95.54" enable-background="new 0 0 121.085 95.54" xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M65.925,64.1H9.687c-1.238,0-2.326-1.088-2.326-2.326V36.522
+			c0-1.237,1.088-2.325,2.326-2.325h56.239V8.049c0-2.493,1.988-3.391,3.861-1.748l47.34,41.599c1.098,0.965,1.098,2.529,0,3.494
+			l-47.34,41.598c-1.873,1.646-3.861,0.745-3.861-1.745V64.1z"/>
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M65.925,64.1H9.687c-1.238,0-2.326-1.088-2.326-2.326V36.522
+			c0-1.237,1.088-2.325,2.326-2.325h56.239V8.049c0-2.493,1.988-3.391,3.861-1.748l47.34,41.599c1.098,0.965,1.098,2.529,0,3.494
+			l-47.34,41.598c-1.873,1.646-3.861,0.745-3.861-1.745V64.1z"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="3.77" y1="47.2549" x2="114.3589" y2="47.2549">
+			<stop  offset="0" style="stop-color:#7CD4FF"/>
+			<stop  offset="1" style="stop-color:#3777AE"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#194E6A" d="M62.334,61.707H6.096
+			c-1.238,0-2.326-1.088-2.326-2.326V34.129c0-1.236,1.088-2.324,2.326-2.324h56.239V5.657c0-2.492,1.988-3.391,3.861-1.748
+			l47.34,41.6c1.098,0.965,1.098,2.529,0,3.494L66.196,90.6c-1.873,1.645-3.861,0.744-3.861-1.746V61.707z"/>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="3.77" y1="47.2549" x2="114.3589" y2="47.2549">
+			<stop  offset="0" style="stop-color:#7CD4FF"/>
+			<stop  offset="1" style="stop-color:#3777AE"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#194E6A" d="M62.334,61.707H6.096
+			c-1.238,0-2.326-1.088-2.326-2.326V34.129c0-1.236,1.088-2.324,2.326-2.324h56.239V5.657c0-2.492,1.988-3.391,3.861-1.748
+			l47.34,41.6c1.098,0.965,1.098,2.529,0,3.494L66.196,90.6c-1.873,1.645-3.861,0.744-3.861-1.746V61.707z"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/flèche bleue gauche.svg b/resources/library/shape/flèche bleue gauche.svg
new file mode 100644
index 00000000..64cf0f8a
--- /dev/null
+++ b/resources/library/shape/flèche bleue gauche.svg	
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="121.085px" height="95.54px" viewBox="0 0 121.085 95.54" enable-background="new 0 0 121.085 95.54" xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M59.385,35.196h56.24c1.236,0,2.324,1.086,2.324,2.325v25.253
+			c0,1.235-1.088,2.325-2.324,2.325h-56.24v26.147c0,2.49-1.988,3.391-3.86,1.745L8.184,51.395c-1.097-0.963-1.097-2.53,0-3.495
+			l47.34-41.599c1.872-1.643,3.86-0.745,3.86,1.748V35.196z"/>
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M59.385,35.196h56.24c1.236,0,2.324,1.086,2.324,2.325v25.253
+			c0,1.235-1.088,2.325-2.324,2.325h-56.24v26.147c0,2.49-1.988,3.391-3.86,1.745L8.184,51.395c-1.097-0.963-1.097-2.53,0-3.495
+			l47.34-41.599c1.872-1.643,3.86-0.745,3.86,1.748V35.196z"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="3.771" y1="47.2554" x2="114.3589" y2="47.2554">
+			<stop  offset="0" style="stop-color:#7CD4FF"/>
+			<stop  offset="1" style="stop-color:#3777AE"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#194E6A" d="M55.794,32.803h56.24
+			c1.237,0,2.325,1.086,2.325,2.326v25.252c0,1.236-1.088,2.326-2.325,2.326h-56.24v26.146c0,2.49-1.988,3.391-3.86,1.746
+			L4.593,49.002c-1.097-0.963-1.097-2.529,0-3.494l47.34-41.6c1.872-1.643,3.86-0.744,3.86,1.748V32.803z"/>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="3.771" y1="47.2554" x2="114.3589" y2="47.2554">
+			<stop  offset="0" style="stop-color:#7CD4FF"/>
+			<stop  offset="1" style="stop-color:#3777AE"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#194E6A" d="M55.794,32.803h56.24
+			c1.237,0,2.325,1.086,2.325,2.326v25.252c0,1.236-1.088,2.326-2.325,2.326h-56.24v26.146c0,2.49-1.988,3.391-3.86,1.746
+			L4.593,49.002c-1.097-0.963-1.097-2.529,0-3.494l47.34-41.6c1.872-1.643,3.86-0.744,3.86,1.748V32.803z"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/flèche bleue haut.svg b/resources/library/shape/flèche bleue haut.svg
new file mode 100644
index 00000000..331c491c
--- /dev/null
+++ b/resources/library/shape/flèche bleue haut.svg	
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="97.773px" height="118.167px" viewBox="0 0 97.773 118.167" enable-background="new 0 0 97.773 118.167"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M65.453,57.689v56.24c0,1.236-1.089,2.326-2.326,2.326H37.875
+			c-1.238,0-2.326-1.09-2.326-2.326v-56.24H9.402c-2.491,0-3.393-1.989-1.746-3.859L49.252,6.489c0.964-1.099,2.529-1.099,3.493,0
+			L94.344,53.83c1.644,1.87,0.745,3.859-1.748,3.859H65.453z"/>
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M65.453,57.689v56.24c0,1.236-1.089,2.326-2.326,2.326H37.875
+			c-1.238,0-2.326-1.09-2.326-2.326v-56.24H9.402c-2.491,0-3.393-1.989-1.746-3.859L49.252,6.489c0.964-1.099,2.529-1.099,3.493,0
+			L94.344,53.83c1.644,1.87,0.745,3.859-1.748,3.859H65.453z"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="3.231" y1="58.5684" x2="91.5854" y2="58.5684">
+			<stop  offset="0" style="stop-color:#7CD4FF"/>
+			<stop  offset="1" style="stop-color:#3777AE"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#194E6A" d="M61.862,55.297v56.24
+			c0,1.236-1.09,2.326-2.326,2.326H34.284c-1.238,0-2.326-1.09-2.326-2.326v-56.24H5.811c-2.492,0-3.393-1.99-1.746-3.859
+			L45.661,4.096c0.965-1.098,2.529-1.098,3.494,0l41.598,47.342c1.645,1.869,0.746,3.859-1.748,3.859H61.862z"/>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="3.231" y1="58.5684" x2="91.5854" y2="58.5684">
+			<stop  offset="0" style="stop-color:#7CD4FF"/>
+			<stop  offset="1" style="stop-color:#3777AE"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#194E6A" d="M61.862,55.297v56.24
+			c0,1.236-1.09,2.326-2.326,2.326H34.284c-1.238,0-2.326-1.09-2.326-2.326v-56.24H5.811c-2.492,0-3.393-1.99-1.746-3.859
+			L45.661,4.096c0.965-1.098,2.529-1.098,3.494,0l41.598,47.342c1.645,1.869,0.746,3.859-1.748,3.859H61.862z"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/flèche grise bas.svg b/resources/library/shape/flèche grise bas.svg
new file mode 100644
index 00000000..d68b5218
--- /dev/null
+++ b/resources/library/shape/flèche grise bas.svg	
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="96.402px" height="118.167px" viewBox="0 0 96.402 118.167" enable-background="new 0 0 96.402 118.167"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M35.026,63.52V7.282c0-1.237,1.086-2.325,2.325-2.325h25.251
+			c1.236,0,2.326,1.088,2.326,2.325V63.52h26.146c2.491,0,3.392,1.99,1.746,3.861l-41.596,47.34c-0.965,1.1-2.531,1.1-3.496,0
+			L6.133,67.381C4.489,65.51,5.388,63.52,7.879,63.52H35.026z"/>
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M35.026,63.52V7.282c0-1.237,1.086-2.325,2.325-2.325h25.251
+			c1.236,0,2.326,1.088,2.326,2.325V63.52h26.146c2.491,0,3.392,1.99,1.746,3.861l-41.596,47.34c-0.965,1.1-2.531,1.1-3.496,0
+			L6.133,67.381C4.489,65.51,5.388,63.52,7.879,63.52H35.026z"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="3.3823" y1="59.4331" x2="91.9873" y2="59.4331">
+			<stop  offset="0" style="stop-color:#BEBEBE"/>
+			<stop  offset="1" style="stop-color:#6A6A6A"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#414141" d="M33.191,62.711V6.313
+			c0-1.24,1.09-2.332,2.334-2.332h25.322c1.24,0,2.332,1.092,2.332,2.332v56.398h26.221c2.5,0,3.402,1.996,1.752,3.873
+			l-41.714,47.473c-0.967,1.104-2.537,1.104-3.506,0L4.218,66.584c-1.65-1.877-0.748-3.873,1.75-3.873H33.191z"/>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="3.3823" y1="59.4331" x2="91.9873" y2="59.4331">
+			<stop  offset="0" style="stop-color:#BEBEBE"/>
+			<stop  offset="1" style="stop-color:#6A6A6A"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#414141" d="M33.191,62.711V6.313
+			c0-1.24,1.09-2.332,2.334-2.332h25.322c1.24,0,2.332,1.092,2.332,2.332v56.398h26.221c2.5,0,3.402,1.996,1.752,3.873
+			l-41.714,47.473c-0.967,1.104-2.537,1.104-3.506,0L4.218,66.584c-1.65-1.877-0.748-3.873,1.75-3.873H33.191z"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/flèche grise droite.svg b/resources/library/shape/flèche grise droite.svg
new file mode 100644
index 00000000..32f50aa2
--- /dev/null
+++ b/resources/library/shape/flèche grise droite.svg	
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="118.344px" height="94.854px" viewBox="0 0 118.344 94.854" enable-background="new 0 0 118.344 94.854"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M64.195,63.032H7.956c-1.237,0-2.325-1.088-2.325-2.326V35.454
+			c0-1.237,1.088-2.325,2.325-2.325h56.239V6.981c0-2.493,1.988-3.391,3.861-1.748l47.34,41.599c1.098,0.965,1.098,2.529,0,3.494
+			l-47.34,41.598c-1.873,1.646-3.861,0.745-3.861-1.745V63.032z"/>
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M64.195,63.032H7.956c-1.237,0-2.325-1.088-2.325-2.326V35.454
+			c0-1.237,1.088-2.325,2.325-2.325h56.239V6.981c0-2.493,1.988-3.391,3.861-1.748l47.34,41.599c1.098,0.965,1.098,2.529,0,3.494
+			l-47.34,41.598c-1.873,1.646-3.861,0.745-3.861-1.745V63.032z"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="2.7588" y1="47.7617" x2="113.6621" y2="47.7617">
+			<stop  offset="0" style="stop-color:#BEBEBE"/>
+			<stop  offset="1" style="stop-color:#6A6A6A"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#414141" d="M61.49,62.254H5.092
+			c-1.241,0-2.333-1.09-2.333-2.332V34.599c0-1.24,1.092-2.332,2.333-2.332H61.49V6.046c0-2.5,1.994-3.4,3.872-1.754l47.475,41.717
+			c1.101,0.969,1.101,2.537,0,3.503L65.362,91.229c-1.878,1.65-3.872,0.748-3.872-1.75V62.254z"/>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="2.7588" y1="47.7617" x2="113.6621" y2="47.7617">
+			<stop  offset="0" style="stop-color:#BEBEBE"/>
+			<stop  offset="1" style="stop-color:#6A6A6A"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#414141" d="M61.49,62.254H5.092
+			c-1.241,0-2.333-1.09-2.333-2.332V34.599c0-1.24,1.092-2.332,2.333-2.332H61.49V6.046c0-2.5,1.994-3.4,3.872-1.754l47.475,41.717
+			c1.101,0.969,1.101,2.537,0,3.503L65.362,91.229c-1.878,1.65-3.872,0.748-3.872-1.75V62.254z"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/flèche grise gauche.svg b/resources/library/shape/flèche grise gauche.svg
new file mode 100644
index 00000000..a895bb88
--- /dev/null
+++ b/resources/library/shape/flèche grise gauche.svg	
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="118.344px" height="94.854px" viewBox="0 0 118.344 94.854" enable-background="new 0 0 118.344 94.854"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M57.918,34.128h56.24c1.236,0,2.324,1.086,2.324,2.325v25.252
+			c0,1.235-1.088,2.325-2.324,2.325h-56.24v26.147c0,2.49-1.988,3.391-3.86,1.745L6.717,50.326c-1.097-0.963-1.097-2.529,0-3.494
+			l47.34-41.599c1.872-1.643,3.86-0.745,3.86,1.748V34.128z"/>
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M57.918,34.128h56.24c1.236,0,2.324,1.086,2.324,2.325v25.252
+			c0,1.235-1.088,2.325-2.324,2.325h-56.24v26.147c0,2.49-1.988,3.391-3.86,1.745L6.717,50.326c-1.097-0.963-1.097-2.529,0-3.494
+			l47.34-41.599c1.872-1.643,3.86-0.745,3.86,1.748V34.128z"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="2.4966" y1="47.7617" x2="113.3994" y2="47.7617">
+			<stop  offset="0" style="stop-color:#BEBEBE"/>
+			<stop  offset="1" style="stop-color:#6A6A6A"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#414141" d="M54.668,33.269h56.4
+			c1.24,0,2.331,1.09,2.331,2.332v25.324c0,1.24-1.091,2.332-2.331,2.332h-56.4v26.223c0,2.498-1.994,3.4-3.871,1.75L3.322,49.512
+			c-1.1-0.964-1.1-2.535,0-3.503L50.797,4.292c1.877-1.646,3.871-0.746,3.871,1.754V33.269z"/>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="2.4966" y1="47.7617" x2="113.3994" y2="47.7617">
+			<stop  offset="0" style="stop-color:#BEBEBE"/>
+			<stop  offset="1" style="stop-color:#6A6A6A"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#414141" d="M54.668,33.269h56.4
+			c1.24,0,2.331,1.09,2.331,2.332v25.324c0,1.24-1.091,2.332-2.331,2.332h-56.4v26.223c0,2.498-1.994,3.4-3.871,1.75L3.322,49.512
+			c-1.1-0.964-1.1-2.535,0-3.503L50.797,4.292c1.877-1.646,3.871-0.746,3.871,1.754V33.269z"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/flèche grise haut.svg b/resources/library/shape/flèche grise haut.svg
new file mode 100644
index 00000000..d4db8052
--- /dev/null
+++ b/resources/library/shape/flèche grise haut.svg	
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="96.402px" height="118.167px" viewBox="0 0 96.402 118.167" enable-background="new 0 0 96.402 118.167"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M64.151,56.98v56.241c0,1.236-1.089,2.326-2.326,2.326H36.573
+			c-1.238,0-2.326-1.09-2.326-2.326V56.98H8.101c-2.491,0-3.393-1.989-1.746-3.859L47.951,5.78c0.964-1.099,2.529-1.099,3.493,0
+			l41.599,47.341c1.644,1.87,0.745,3.859-1.748,3.859H64.151z"/>
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M64.151,56.98v56.241c0,1.236-1.089,2.326-2.326,2.326H36.573
+			c-1.238,0-2.326-1.09-2.326-2.326V56.98H8.101c-2.491,0-3.393-1.989-1.746-3.859L47.951,5.78c0.964-1.099,2.529-1.099,3.493,0
+			l41.599,47.341c1.644,1.87,0.745,3.859-1.748,3.859H64.151z"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="3.1616" y1="59.4341" x2="91.7666" y2="59.4341">
+			<stop  offset="0" style="stop-color:#BEBEBE"/>
+			<stop  offset="1" style="stop-color:#6A6A6A"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#414141" d="M61.958,56.153v56.401
+			c0,1.24-1.092,2.332-2.332,2.332H34.302c-1.242,0-2.332-1.092-2.332-2.332V56.153H5.749c-2.498,0-3.402-1.994-1.752-3.869
+			L45.712,4.808c0.967-1.102,2.537-1.102,3.504,0l41.717,47.477c1.648,1.875,0.746,3.869-1.754,3.869H61.958z"/>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="3.1616" y1="59.4341" x2="91.7666" y2="59.4341">
+			<stop  offset="0" style="stop-color:#BEBEBE"/>
+			<stop  offset="1" style="stop-color:#6A6A6A"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#414141" d="M61.958,56.153v56.401
+			c0,1.24-1.092,2.332-2.332,2.332H34.302c-1.242,0-2.332-1.092-2.332-2.332V56.153H5.749c-2.498,0-3.402-1.994-1.752-3.869
+			L45.712,4.808c0.967-1.102,2.537-1.102,3.504,0l41.717,47.477c1.648,1.875,0.746,3.869-1.754,3.869H61.958z"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/flèche rouge bas.svg b/resources/library/shape/flèche rouge bas.svg
new file mode 100644
index 00000000..96d38b83
--- /dev/null
+++ b/resources/library/shape/flèche rouge bas.svg	
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="96.661px" height="119.096px" viewBox="0 0 96.661 119.096" enable-background="new 0 0 96.661 119.096"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M36.043,64.812V8.574c0-1.237,1.086-2.325,2.325-2.325h25.252
+			c1.236,0,2.326,1.088,2.326,2.325v56.238h26.146c2.491,0,3.392,1.99,1.746,3.861l-41.596,47.34c-0.965,1.099-2.531,1.099-3.496,0
+			L7.151,68.674c-1.645-1.871-0.745-3.861,1.746-3.861H36.043z"/>
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M36.043,64.812V8.574c0-1.237,1.086-2.325,2.325-2.325h25.252
+			c1.236,0,2.326,1.088,2.326,2.325v56.238h26.146c2.491,0,3.392,1.99,1.746,3.861l-41.596,47.34c-0.965,1.099-2.531,1.099-3.496,0
+			L7.151,68.674c-1.645-1.871-0.745-3.861,1.746-3.861H36.043z"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="2.6235" y1="58.9136" x2="90.978" y2="58.9136">
+			<stop  offset="0" style="stop-color:#FF897A"/>
+			<stop  offset="1" style="stop-color:#FF3400"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#6F0000" d="M32.349,62.183V5.944
+			c0-1.237,1.086-2.325,2.324-2.325h25.252c1.236,0,2.326,1.088,2.326,2.325v56.238h26.146c2.492,0,3.393,1.99,1.746,3.861
+			l-41.596,47.34c-0.965,1.099-2.531,1.099-3.496,0L3.457,66.044c-1.645-1.871-0.746-3.861,1.746-3.861H32.349z"/>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="2.6235" y1="58.9136" x2="90.978" y2="58.9136">
+			<stop  offset="0" style="stop-color:#FF897A"/>
+			<stop  offset="1" style="stop-color:#FF3400"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#6F0000" d="M32.349,62.183V5.944
+			c0-1.237,1.086-2.325,2.324-2.325h25.252c1.236,0,2.326,1.088,2.326,2.325v56.238h26.146c2.492,0,3.393,1.99,1.746,3.861
+			l-41.596,47.34c-0.965,1.099-2.531,1.099-3.496,0L3.457,66.044c-1.645-1.871-0.746-3.861,1.746-3.861H32.349z"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/flèche rouge droite.svg b/resources/library/shape/flèche rouge droite.svg
new file mode 100644
index 00000000..d2fbc359
--- /dev/null
+++ b/resources/library/shape/flèche rouge droite.svg	
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="119.268px" height="96.873px" viewBox="0 0 119.268 96.873" enable-background="new 0 0 119.268 96.873"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M65.069,64.885H8.831c-1.238,0-2.326-1.088-2.326-2.326V37.307
+			c0-1.237,1.088-2.325,2.326-2.325h56.238V8.834c0-2.493,1.988-3.391,3.861-1.748l47.34,41.599c1.098,0.965,1.098,2.529,0,3.494
+			L68.93,93.776c-1.873,1.646-3.861,0.745-3.861-1.745V64.885z"/>
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M65.069,64.885H8.831c-1.238,0-2.326-1.088-2.326-2.326V37.307
+			c0-1.237,1.088-2.325,2.326-2.325h56.238V8.834c0-2.493,1.988-3.391,3.861-1.748l47.34,41.599c1.098,0.965,1.098,2.529,0,3.494
+			L68.93,93.776c-1.873,1.646-3.861,0.745-3.861-1.745V64.885z"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="2.8101" y1="47.8018" x2="113.3979" y2="47.8018">
+			<stop  offset="0" style="stop-color:#FF897A"/>
+			<stop  offset="1" style="stop-color:#FF3400"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#6F0000" d="M61.375,62.255H5.136
+			c-1.238,0-2.326-1.088-2.326-2.326V34.677c0-1.237,1.088-2.325,2.326-2.325h56.239V6.204c0-2.493,1.988-3.391,3.86-1.748
+			l47.34,41.599c1.098,0.965,1.098,2.529,0,3.494l-47.34,41.598c-1.872,1.646-3.86,0.745-3.86-1.745V62.255z"/>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="2.8101" y1="47.8018" x2="113.3979" y2="47.8018">
+			<stop  offset="0" style="stop-color:#FF897A"/>
+			<stop  offset="1" style="stop-color:#FF3400"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#6F0000" d="M61.375,62.255H5.136
+			c-1.238,0-2.326-1.088-2.326-2.326V34.677c0-1.237,1.088-2.325,2.326-2.325h56.239V6.204c0-2.493,1.988-3.391,3.86-1.748
+			l47.34,41.599c1.098,0.965,1.098,2.529,0,3.494l-47.34,41.598c-1.872,1.646-3.86,0.745-3.86-1.745V62.255z"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/flèche rouge gauche.svg b/resources/library/shape/flèche rouge gauche.svg
new file mode 100644
index 00000000..336a1e11
--- /dev/null
+++ b/resources/library/shape/flèche rouge gauche.svg	
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="119.268px" height="96.873px" viewBox="0 0 119.268 96.873" enable-background="new 0 0 119.268 96.873"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M58.528,35.98h56.241c1.236,0,2.324,1.086,2.324,2.325v25.253
+			c0,1.235-1.088,2.325-2.324,2.325H58.528v26.147c0,2.49-1.988,3.391-3.86,1.745L7.328,52.179c-1.097-0.963-1.097-2.529,0-3.494
+			l47.34-41.599c1.872-1.643,3.86-0.745,3.86,1.748V35.98z"/>
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M58.528,35.98h56.241c1.236,0,2.324,1.086,2.324,2.325v25.253
+			c0,1.235-1.088,2.325-2.324,2.325H58.528v26.147c0,2.49-1.988,3.391-3.86,1.745L7.328,52.179c-1.097-0.963-1.097-2.529,0-3.494
+			l47.34-41.599c1.872-1.643,3.86-0.745,3.86,1.748V35.98z"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="2.8105" y1="47.8018" x2="113.3989" y2="47.8018">
+			<stop  offset="0" style="stop-color:#FF897A"/>
+			<stop  offset="1" style="stop-color:#FF3400"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#6F0000" d="M54.833,33.351h56.241
+			c1.237,0,2.325,1.086,2.325,2.325v25.253c0,1.235-1.088,2.325-2.325,2.325H54.833v26.147c0,2.49-1.988,3.391-3.859,1.745
+			L3.633,49.549c-1.097-0.963-1.097-2.529,0-3.494L50.974,4.456c1.871-1.643,3.859-0.745,3.859,1.748V33.351z"/>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="2.8105" y1="47.8018" x2="113.3989" y2="47.8018">
+			<stop  offset="0" style="stop-color:#FF897A"/>
+			<stop  offset="1" style="stop-color:#FF3400"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#6F0000" d="M54.833,33.351h56.241
+			c1.237,0,2.325,1.086,2.325,2.325v25.253c0,1.235-1.088,2.325-2.325,2.325H54.833v26.147c0,2.49-1.988,3.391-3.859,1.745
+			L3.633,49.549c-1.097-0.963-1.097-2.529,0-3.494L50.974,4.456c1.871-1.643,3.859-0.745,3.859,1.748V33.351z"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/flèche rouge haut.svg b/resources/library/shape/flèche rouge haut.svg
new file mode 100644
index 00000000..6dd21956
--- /dev/null
+++ b/resources/library/shape/flèche rouge haut.svg	
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="96.661px" height="119.096px" viewBox="0 0 96.661 119.096" enable-background="new 0 0 96.661 119.096"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M64.949,58.272v56.24c0,1.236-1.089,2.326-2.326,2.326H37.371
+			c-1.238,0-2.326-1.09-2.326-2.326v-56.24H8.898c-2.491,0-3.393-1.989-1.746-3.859L48.749,7.072c0.964-1.099,2.529-1.099,3.493,0
+			L93.84,54.413c1.644,1.87,0.745,3.859-1.748,3.859H64.949z"/>
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M64.949,58.272v56.24c0,1.236-1.089,2.326-2.326,2.326H37.371
+			c-1.238,0-2.326-1.09-2.326-2.326v-56.24H8.898c-2.491,0-3.393-1.989-1.746-3.859L48.749,7.072c0.964-1.099,2.529-1.099,3.493,0
+			L93.84,54.413c1.644,1.87,0.745,3.859-1.748,3.859H64.949z"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="2.623" y1="58.9136" x2="90.978" y2="58.9136">
+			<stop  offset="0" style="stop-color:#FF897A"/>
+			<stop  offset="1" style="stop-color:#FF3400"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#6F0000" d="M61.253,55.643v56.24
+			c0,1.236-1.088,2.326-2.326,2.326H33.675c-1.238,0-2.326-1.09-2.326-2.326v-56.24H5.203c-2.49,0-3.393-1.989-1.746-3.859
+			L45.054,4.442c0.963-1.099,2.529-1.099,3.492,0l41.6,47.341c1.643,1.87,0.744,3.859-1.748,3.859H61.253z"/>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="2.623" y1="58.9136" x2="90.978" y2="58.9136">
+			<stop  offset="0" style="stop-color:#FF897A"/>
+			<stop  offset="1" style="stop-color:#FF3400"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#6F0000" d="M61.253,55.643v56.24
+			c0,1.236-1.088,2.326-2.326,2.326H33.675c-1.238,0-2.326-1.09-2.326-2.326v-56.24H5.203c-2.49,0-3.393-1.989-1.746-3.859
+			L45.054,4.442c0.963-1.099,2.529-1.099,3.492,0l41.6,47.341c1.643,1.87,0.744,3.859-1.748,3.859H61.253z"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/flèche vide bas.svg b/resources/library/shape/flèche vide bas.svg
new file mode 100644
index 00000000..07ce46d0
--- /dev/null
+++ b/resources/library/shape/flèche vide bas.svg	
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="97.774px" height="116.878px" viewBox="0 0 97.774 116.878" enable-background="new 0 0 97.774 116.878"
+	 xml:space="preserve">
+
+<g>
+	<path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" d="M34.752,61.478V5.239
+		c0-1.237,1.086-2.325,2.325-2.325H62.33c1.236,0,2.326,1.088,2.326,2.325v56.239h26.146c2.491,0,3.392,1.99,1.746,3.861
+		l-41.596,47.34c-0.965,1.098-2.531,1.098-3.496,0L5.86,65.339c-1.645-1.871-0.745-3.861,1.746-3.861H34.752z"/>
+	<path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" d="M34.752,61.478V5.239
+		c0-1.237,1.086-2.325,2.325-2.325H62.33c1.236,0,2.326,1.088,2.326,2.325v56.239h26.146c2.491,0,3.392,1.99,1.746,3.861
+		l-41.596,47.34c-0.965,1.098-2.531,1.098-3.496,0L5.86,65.339c-1.645-1.871-0.745-3.861,1.746-3.861H34.752z"/>
+</g>
+</svg>
diff --git a/resources/library/shape/flèche vide droite.svg b/resources/library/shape/flèche vide droite.svg
new file mode 100644
index 00000000..ee87f755
--- /dev/null
+++ b/resources/library/shape/flèche vide droite.svg	
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="116.463px" height="93.249px" viewBox="0 0 116.463 93.249" enable-background="new 0 0 116.463 93.249"
+	 xml:space="preserve">
+
+<g>
+	<path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" d="M61.819,60.847H5.581
+		c-1.238,0-2.326-1.088-2.326-2.326V33.268c0-1.237,1.088-2.325,2.326-2.325h56.238V4.795c0-2.493,1.988-3.391,3.861-1.748
+		l47.34,41.599c1.098,0.965,1.098,2.529,0,3.495L65.68,89.738c-1.873,1.646-3.861,0.745-3.861-1.745V60.847z"/>
+	<path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" d="M61.819,60.847H5.581
+		c-1.238,0-2.326-1.088-2.326-2.326V33.268c0-1.237,1.088-2.325,2.326-2.325h56.238V4.795c0-2.493,1.988-3.391,3.861-1.748
+		l47.34,41.599c1.098,0.965,1.098,2.529,0,3.495L65.68,89.738c-1.873,1.646-3.861,0.745-3.861-1.745V60.847z"/>
+</g>
+</svg>
diff --git a/resources/library/shape/flèche vide gauche.svg b/resources/library/shape/flèche vide gauche.svg
new file mode 100644
index 00000000..198f69da
--- /dev/null
+++ b/resources/library/shape/flèche vide gauche.svg	
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="116.463px" height="93.249px" viewBox="0 0 116.463 93.249" enable-background="new 0 0 116.463 93.249"
+	 xml:space="preserve">
+
+<g>
+	<path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" d="M55.279,31.942h56.24
+		c1.236,0,2.324,1.086,2.324,2.325v25.253c0,1.235-1.088,2.325-2.324,2.325h-56.24v26.147c0,2.49-1.988,3.391-3.86,1.745
+		L4.078,48.141c-1.097-0.963-1.097-2.53,0-3.495l47.34-41.599c1.872-1.643,3.86-0.745,3.86,1.748V31.942z"/>
+	<path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" d="M55.279,31.942h56.24
+		c1.236,0,2.324,1.086,2.324,2.325v25.253c0,1.235-1.088,2.325-2.324,2.325h-56.24v26.147c0,2.49-1.988,3.391-3.86,1.745
+		L4.078,48.141c-1.097-0.963-1.097-2.53,0-3.495l47.34-41.599c1.872-1.643,3.86-0.745,3.86,1.748V31.942z"/>
+</g>
+</svg>
diff --git a/resources/library/shape/flèche vide haut.svg b/resources/library/shape/flèche vide haut.svg
new file mode 100644
index 00000000..54433be6
--- /dev/null
+++ b/resources/library/shape/flèche vide haut.svg	
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="97.774px" height="116.878px" viewBox="0 0 97.774 116.878" enable-background="new 0 0 97.774 116.878"
+	 xml:space="preserve">
+
+<g>
+	<path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" d="M63.658,54.937v56.24
+		c0,1.236-1.089,2.326-2.326,2.326H36.08c-1.238,0-2.326-1.09-2.326-2.326v-56.24H7.607c-2.491,0-3.393-1.989-1.746-3.859
+		L47.458,3.737c0.964-1.099,2.529-1.099,3.493,0l41.599,47.341c1.644,1.87,0.745,3.859-1.748,3.859H63.658z"/>
+	<path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" d="M63.658,54.937v56.24
+		c0,1.236-1.089,2.326-2.326,2.326H36.08c-1.238,0-2.326-1.09-2.326-2.326v-56.24H7.607c-2.491,0-3.393-1.989-1.746-3.859
+		L47.458,3.737c0.964-1.099,2.529-1.099,3.493,0l41.599,47.341c1.644,1.87,0.745,3.859-1.748,3.859H63.658z"/>
+</g>
+</svg>
diff --git a/resources/library/shape/hexagone blanc.svg b/resources/library/shape/hexagone blanc.svg
new file mode 100644
index 00000000..dcffbff1
--- /dev/null
+++ b/resources/library/shape/hexagone blanc.svg	
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   id="Layer_1"
+   x="0px"
+   y="0px"
+   width="137.659px"
+   height="119.541px"
+   viewBox="0 0 137.659 119.541"
+   enable-background="new 0 0 137.659 119.541"
+   xml:space="preserve"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="red_exagon.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
+   id="metadata2487"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+   id="defs2485"><inkscape:perspective
+   sodipodi:type="inkscape:persp3d"
+   inkscape:vp_x="0 : 59.7705 : 1"
+   inkscape:vp_y="0 : 1000 : 0"
+   inkscape:vp_z="137.659 : 59.7705 : 1"
+   inkscape:persp3d-origin="68.829498 : 39.847 : 1"
+   id="perspective2489" />
+	
+	
+
+		<linearGradient
+   id="SVGID_1_"
+   gradientUnits="userSpaceOnUse"
+   x1="2.793"
+   y1="58.5303"
+   x2="130.65581"
+   y2="58.5303">
+			<stop
+   offset="0"
+   style="stop-color:#FF897A"
+   id="stop2471" />
+			<stop
+   offset="1"
+   style="stop-color:#FF3400"
+   id="stop2473" />
+		</linearGradient>
+		
+		<linearGradient
+   id="SVGID_2_"
+   gradientUnits="userSpaceOnUse"
+   x1="2.793"
+   y1="58.5303"
+   x2="130.65581"
+   y2="58.5303">
+			<stop
+   offset="0"
+   style="stop-color:#FF897A"
+   id="stop2478" />
+			<stop
+   offset="1"
+   style="stop-color:#FF3400"
+   id="stop2480" />
+		</linearGradient>
+		
+	
+		
+		
+	</defs><sodipodi:namedview
+   inkscape:window-height="970"
+   inkscape:window-width="1680"
+   inkscape:pageshadow="2"
+   inkscape:pageopacity="0.0"
+   guidetolerance="10.0"
+   gridtolerance="10.0"
+   objecttolerance="10.0"
+   borderopacity="1.0"
+   bordercolor="#666666"
+   pagecolor="#ffffff"
+   id="base"
+   showgrid="false"
+   inkscape:zoom="4.0488201"
+   inkscape:cx="20.420333"
+   inkscape:cy="59.7705"
+   inkscape:window-x="-8"
+   inkscape:window-y="-8"
+   inkscape:current-layer="Layer_1" />
+
+<g
+   id="g3884">
+   
+     
+     <polygon
+     style="opacity:0.25;fill-rule:evenodd"
+     id="polygon2464"
+     points="102.386,116.527 70.421,116.527 38.453,116.527 6.488,61.16 22.471,33.478 38.453,5.794 70.421,5.794 102.386,5.794 118.371,33.478 134.351,61.16 118.371,88.844 102.386,116.527 "
+     clip-rule="evenodd" /><polygon
+     style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;fill-opacity:1;stroke-opacity:1"
+     id="polygon2475"
+     points="98.691,113.896 66.727,113.896 34.758,113.896 2.793,58.531 18.775,30.848 34.758,3.165 66.727,3.165 98.691,3.165 114.675,30.848 130.656,58.531 114.675,86.215 98.691,113.896 "
+     clip-rule="evenodd" /></g>
+</svg>
\ No newline at end of file
diff --git a/resources/library/shape/hexagone bleu.svg b/resources/library/shape/hexagone bleu.svg
new file mode 100644
index 00000000..86b78cff
--- /dev/null
+++ b/resources/library/shape/hexagone bleu.svg	
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="136.857px" height="120.909px" viewBox="0 0 136.857 120.909" enable-background="new 0 0 136.857 120.909"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<polygon fill-rule="evenodd" clip-rule="evenodd" points="102.508,117.698 70.543,117.698 38.575,117.698 6.61,62.332 
+			22.593,34.648 38.575,6.966 70.543,6.966 102.508,6.966 118.492,34.648 134.473,62.332 118.492,90.015 		"/>
+		<polygon fill-rule="evenodd" clip-rule="evenodd" points="102.508,117.698 70.543,117.698 38.575,117.698 6.61,62.332 
+			22.593,34.648 38.575,6.966 70.543,6.966 102.508,6.966 118.492,34.648 134.473,62.332 118.492,90.015 		"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="3.0195" y1="59.9395" x2="130.8809" y2="59.9395">
+			<stop  offset="0" style="stop-color:#7CD4FF"/>
+			<stop  offset="1" style="stop-color:#3777AE"/>
+		</linearGradient>
+		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#194E6A" points="98.916,115.306 66.951,115.306 
+			34.984,115.306 3.02,59.939 19.002,32.257 34.984,4.573 66.951,4.573 98.916,4.573 114.9,32.257 130.881,59.939 114.9,87.623 		
+			"/>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="3.0195" y1="59.9395" x2="130.8809" y2="59.9395">
+			<stop  offset="0" style="stop-color:#7CD4FF"/>
+			<stop  offset="1" style="stop-color:#3777AE"/>
+		</linearGradient>
+		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#194E6A" points="98.916,115.306 66.951,115.306 
+			34.984,115.306 3.02,59.939 19.002,32.257 34.984,4.573 66.951,4.573 98.916,4.573 114.9,32.257 130.881,59.939 114.9,87.623 		
+			"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/hexagone gris.svg b/resources/library/shape/hexagone gris.svg
new file mode 100644
index 00000000..4e6dfcf7
--- /dev/null
+++ b/resources/library/shape/hexagone gris.svg	
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="133.428px" height="118.852px" viewBox="0 0 133.428 118.852" enable-background="new 0 0 133.428 118.852"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<polygon fill-rule="evenodd" clip-rule="evenodd" points="99.986,116.443 68.022,116.443 36.054,116.443 4.089,61.077 
+			20.072,33.394 36.054,5.71 68.022,5.71 99.986,5.71 115.971,33.394 131.951,61.077 115.971,88.759 		"/>
+		<polygon fill-rule="evenodd" clip-rule="evenodd" points="99.986,116.443 68.022,116.443 36.054,116.443 4.089,61.077 
+			20.072,33.394 36.054,5.71 68.022,5.71 99.986,5.71 115.971,33.394 131.951,61.077 115.971,88.759 		"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="2.1108" y1="59.2944" x2="130.3359" y2="59.2944">
+			<stop  offset="0" style="stop-color:#BEBEBE"/>
+			<stop  offset="1" style="stop-color:#6A6A6A"/>
+		</linearGradient>
+		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#414141" points="98.281,114.818 66.226,114.818 
+			34.166,114.818 2.111,59.294 18.138,31.533 34.166,3.771 66.226,3.771 98.281,3.771 114.311,31.533 130.336,59.294 
+			114.311,87.056 		"/>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="2.1108" y1="59.2944" x2="130.3359" y2="59.2944">
+			<stop  offset="0" style="stop-color:#BEBEBE"/>
+			<stop  offset="1" style="stop-color:#6A6A6A"/>
+		</linearGradient>
+		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#414141" points="98.281,114.818 66.226,114.818 
+			34.166,114.818 2.111,59.294 18.138,31.533 34.166,3.771 66.226,3.771 98.281,3.771 114.311,31.533 130.336,59.294 
+			114.311,87.056 		"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/hexagone rouge.svg b/resources/library/shape/hexagone rouge.svg
new file mode 100644
index 00000000..5f0cda9f
--- /dev/null
+++ b/resources/library/shape/hexagone rouge.svg	
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="137.659px" height="119.541px" viewBox="0 0 137.659 119.541" enable-background="new 0 0 137.659 119.541"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<polygon fill-rule="evenodd" clip-rule="evenodd" points="102.386,116.527 70.421,116.527 38.453,116.527 6.488,61.16 
+			22.471,33.478 38.453,5.794 70.421,5.794 102.386,5.794 118.371,33.478 134.351,61.16 118.371,88.844 		"/>
+		<polygon fill-rule="evenodd" clip-rule="evenodd" points="102.386,116.527 70.421,116.527 38.453,116.527 6.488,61.16 
+			22.471,33.478 38.453,5.794 70.421,5.794 102.386,5.794 118.371,33.478 134.351,61.16 118.371,88.844 		"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="2.793" y1="58.5303" x2="130.6558" y2="58.5303">
+			<stop  offset="0" style="stop-color:#FF897A"/>
+			<stop  offset="1" style="stop-color:#FF3400"/>
+		</linearGradient>
+		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#6F0000" points="98.691,113.896 66.727,113.896 
+			34.758,113.896 2.793,58.531 18.775,30.848 34.758,3.165 66.727,3.165 98.691,3.165 114.675,30.848 130.656,58.531 
+			114.675,86.215 		"/>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="2.793" y1="58.5303" x2="130.6558" y2="58.5303">
+			<stop  offset="0" style="stop-color:#FF897A"/>
+			<stop  offset="1" style="stop-color:#FF3400"/>
+		</linearGradient>
+		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#6F0000" points="98.691,113.896 66.727,113.896 
+			34.758,113.896 2.793,58.531 18.775,30.848 34.758,3.165 66.727,3.165 98.691,3.165 114.675,30.848 130.656,58.531 
+			114.675,86.215 		"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/hexagone vide.svg b/resources/library/shape/hexagone vide.svg
new file mode 100644
index 00000000..b63b0f4a
--- /dev/null
+++ b/resources/library/shape/hexagone vide.svg	
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="131.372px" height="116.478px" viewBox="0 0 131.372 116.478" enable-background="new 0 0 131.372 116.478"
+	 xml:space="preserve">
+
+<g>
+	<polygon fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" points="97.97,113.574 66.005,113.574 
+		34.037,113.574 2.072,58.208 18.055,30.525 34.037,2.842 66.005,2.842 97.97,2.842 113.955,30.525 129.935,58.208 113.955,85.891 	
+		"/>
+	<polygon fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" points="97.97,113.574 66.005,113.574 
+		34.037,113.574 2.072,58.208 18.055,30.525 34.037,2.842 66.005,2.842 97.97,2.842 113.955,30.525 129.935,58.208 113.955,85.891 	
+		"/>
+</g>
+</svg>
diff --git a/resources/library/shape/pentagone blanc.svg b/resources/library/shape/pentagone blanc.svg
new file mode 100644
index 00000000..54cec831
--- /dev/null
+++ b/resources/library/shape/pentagone blanc.svg	
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   id="Layer_1"
+   x="0px"
+   y="0px"
+   width="128.463px"
+   height="121.082px"
+   viewBox="0 0 128.463 121.082"
+   enable-background="new 0 0 128.463 121.082"
+   xml:space="preserve"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="red_pentagon.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
+   id="metadata3371"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+   id="defs3369"><inkscape:perspective
+   sodipodi:type="inkscape:persp3d"
+   inkscape:vp_x="0 : 60.541 : 1"
+   inkscape:vp_y="0 : 1000 : 0"
+   inkscape:vp_z="128.463 : 60.541 : 1"
+   inkscape:persp3d-origin="64.231499 : 40.360667 : 1"
+   id="perspective3373" />
+	
+	
+<linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_1_"
+   id="linearGradient3901"
+   gradientUnits="userSpaceOnUse"
+   x1="3.1147001"
+   y1="59.300301"
+   x2="121.1382"
+   y2="59.300301" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#SVGID_2_"
+   id="linearGradient3903"
+   gradientUnits="userSpaceOnUse"
+   x1="3.1147001"
+   y1="59.300301"
+   x2="121.1382"
+   y2="59.300301" />
+		<linearGradient
+   id="SVGID_1_"
+   gradientUnits="userSpaceOnUse"
+   x1="3.1147001"
+   y1="59.300301"
+   x2="121.1382"
+   y2="59.300301">
+			<stop
+   offset="0"
+   style="stop-color:#FF897A"
+   id="stop3355" />
+			<stop
+   offset="1"
+   style="stop-color:#FF3400"
+   id="stop3357" />
+		</linearGradient>
+		
+		<linearGradient
+   id="SVGID_2_"
+   gradientUnits="userSpaceOnUse"
+   x1="3.1147001"
+   y1="59.300301"
+   x2="121.1382"
+   y2="59.300301">
+			<stop
+   offset="0"
+   style="stop-color:#FF897A"
+   id="stop3362" />
+			<stop
+   offset="1"
+   style="stop-color:#FF3400"
+   id="stop3364" />
+		</linearGradient>
+		
+	
+		
+		
+	</defs><sodipodi:namedview
+   inkscape:window-height="970"
+   inkscape:window-width="1680"
+   inkscape:pageshadow="2"
+   inkscape:pageopacity="0.0"
+   guidetolerance="10.0"
+   gridtolerance="10.0"
+   objecttolerance="10.0"
+   borderopacity="1.0"
+   bordercolor="#666666"
+   pagecolor="#ffffff"
+   id="base"
+   showgrid="false"
+   inkscape:zoom="3.9972911"
+   inkscape:cx="15.198292"
+   inkscape:cy="60.541"
+   inkscape:window-x="-8"
+   inkscape:window-y="-8"
+   inkscape:current-layer="Layer_1" />
+
+<g
+   id="g3915">
+
+     
+     <polygon
+     style="opacity:0.25;fill-rule:evenodd"
+     id="polygon3348"
+     points="102.293,118.053 65.822,118.055 29.35,118.053 18.078,83.368 6.81,48.68 36.313,27.242 65.822,5.806 124.833,48.68 113.565,83.368 102.293,118.053 "
+     clip-rule="evenodd" /><polygon
+     style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;fill-opacity:1;stroke-opacity:1"
+     id="polygon3359"
+     points="98.599,115.423 62.126,115.424 25.656,115.423 14.382,80.738 3.115,46.05 32.619,24.612 62.126,3.176 121.138,46.05 109.871,80.738 98.599,115.423 "
+     clip-rule="evenodd" /></g>
+</svg>
\ No newline at end of file
diff --git a/resources/library/shape/pentagone bleu.svg b/resources/library/shape/pentagone bleu.svg
new file mode 100644
index 00000000..d6b50746
--- /dev/null
+++ b/resources/library/shape/pentagone bleu.svg	
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="127.943px" height="121.595px" viewBox="0 0 127.943 121.595" enable-background="new 0 0 127.943 121.595"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<polygon fill-rule="evenodd" clip-rule="evenodd" points="102.557,118.798 66.084,118.8 29.613,118.798 18.34,84.112 
+			7.073,49.425 36.576,27.985 66.084,6.55 125.096,49.425 113.828,84.112 		"/>
+		<polygon fill-rule="evenodd" clip-rule="evenodd" points="102.557,118.798 66.084,118.8 29.613,118.798 18.34,84.112 
+			7.073,49.425 36.576,27.985 66.084,6.55 125.096,49.425 113.828,84.112 		"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="3.4819" y1="60.2827" x2="121.5059" y2="60.2827">
+			<stop  offset="0" style="stop-color:#7CD4FF"/>
+			<stop  offset="1" style="stop-color:#3777AE"/>
+		</linearGradient>
+		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#194E6A" points="98.965,116.405 62.494,116.407 
+			26.021,116.405 14.75,81.72 3.482,47.032 32.984,25.594 62.494,4.158 121.506,47.032 110.236,81.72 		"/>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="3.4819" y1="60.2827" x2="121.5059" y2="60.2827">
+			<stop  offset="0" style="stop-color:#7CD4FF"/>
+			<stop  offset="1" style="stop-color:#3777AE"/>
+		</linearGradient>
+		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#194E6A" points="98.965,116.405 62.494,116.407 
+			26.021,116.405 14.75,81.72 3.482,47.032 32.984,25.594 62.494,4.158 121.506,47.032 110.236,81.72 		"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/pentagone gris.svg b/resources/library/shape/pentagone gris.svg
new file mode 100644
index 00000000..f289c75a
--- /dev/null
+++ b/resources/library/shape/pentagone gris.svg	
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="123.828px" height="119.538px" viewBox="0 0 123.828 119.538" enable-background="new 0 0 123.828 119.538"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<polygon fill-rule="evenodd" clip-rule="evenodd" points="99.906,117.543 63.435,117.545 26.963,117.543 15.69,82.858 
+			4.423,48.171 33.926,26.732 63.435,5.296 122.446,48.171 111.178,82.858 		"/>
+		<polygon fill-rule="evenodd" clip-rule="evenodd" points="99.906,117.543 63.435,117.545 26.963,117.543 15.69,82.858 
+			4.423,48.171 33.926,26.732 63.435,5.296 122.446,48.171 111.178,82.858 		"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="2.0166" y1="59.6382" x2="120.374" y2="59.6382">
+			<stop  offset="0" style="stop-color:#BEBEBE"/>
+			<stop  offset="1" style="stop-color:#6A6A6A"/>
+		</linearGradient>
+		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#414141" points="97.771,115.92 61.194,115.922 
+			24.62,115.92 13.315,81.137 2.017,46.351 31.603,24.851 61.194,3.354 120.374,46.351 109.073,81.137 		"/>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="2.0166" y1="59.6382" x2="120.374" y2="59.6382">
+			<stop  offset="0" style="stop-color:#BEBEBE"/>
+			<stop  offset="1" style="stop-color:#6A6A6A"/>
+		</linearGradient>
+		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#414141" points="97.771,115.92 61.194,115.922 
+			24.62,115.92 13.315,81.137 2.017,46.351 31.603,24.851 61.194,3.354 120.374,46.351 109.073,81.137 		"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/pentagone rouge.svg b/resources/library/shape/pentagone rouge.svg
new file mode 100644
index 00000000..d46ddbaa
--- /dev/null
+++ b/resources/library/shape/pentagone rouge.svg	
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="128.463px" height="121.082px" viewBox="0 0 128.463 121.082" enable-background="new 0 0 128.463 121.082"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<polygon fill-rule="evenodd" clip-rule="evenodd" points="102.293,118.053 65.822,118.055 29.35,118.053 18.078,83.368 
+			6.81,48.68 36.313,27.242 65.822,5.806 124.833,48.68 113.565,83.368 		"/>
+		<polygon fill-rule="evenodd" clip-rule="evenodd" points="102.293,118.053 65.822,118.055 29.35,118.053 18.078,83.368 
+			6.81,48.68 36.313,27.242 65.822,5.806 124.833,48.68 113.565,83.368 		"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="3.1147" y1="59.3003" x2="121.1382" y2="59.3003">
+			<stop  offset="0" style="stop-color:#FF897A"/>
+			<stop  offset="1" style="stop-color:#FF3400"/>
+		</linearGradient>
+		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#6F0000" points="98.599,115.423 62.126,115.424 
+			25.656,115.423 14.382,80.738 3.115,46.05 32.619,24.612 62.126,3.176 121.138,46.05 109.871,80.738 		"/>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="3.1147" y1="59.3003" x2="121.1382" y2="59.3003">
+			<stop  offset="0" style="stop-color:#FF897A"/>
+			<stop  offset="1" style="stop-color:#FF3400"/>
+		</linearGradient>
+		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#6F0000" points="98.599,115.423 62.126,115.424 
+			25.656,115.423 14.382,80.738 3.115,46.05 32.619,24.612 62.126,3.176 121.138,46.05 109.871,80.738 		"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/pentagone vide.svg b/resources/library/shape/pentagone vide.svg
new file mode 100644
index 00000000..c3547169
--- /dev/null
+++ b/resources/library/shape/pentagone vide.svg	
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="123.829px" height="117.98px" viewBox="0 0 123.829 117.98" enable-background="new 0 0 123.829 117.98"
+	 xml:space="preserve">
+
+<g>
+	<polygon fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" points="98.704,114.331 62.232,114.333 
+		25.76,114.331 14.488,79.646 3.22,44.958 32.723,23.519 62.232,2.083 121.244,44.958 109.975,79.646 	"/>
+	<polygon fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" points="98.704,114.331 62.232,114.333 
+		25.76,114.331 14.488,79.646 3.22,44.958 32.723,23.519 62.232,2.083 121.244,44.958 109.975,79.646 	"/>
+</g>
+</svg>
diff --git a/resources/library/shape/rectangle bleu arr.svg b/resources/library/shape/rectangle bleu arr.svg
new file mode 100644
index 00000000..69465107
--- /dev/null
+++ b/resources/library/shape/rectangle bleu arr.svg	
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="157.533px" height="112.898px" viewBox="0 0 157.533 112.898" enable-background="new 0 0 157.533 112.898"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M9.633,17.481c0-4.787,3.88-8.668,8.668-8.668h125.167
+			c4.787,0,8.668,3.881,8.668,8.668v82.062c0,4.788-3.881,8.671-8.668,8.671H18.302c-4.788,0-8.668-3.883-8.668-8.671V17.481z"/>
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M9.633,17.481c0-4.787,3.88-8.668,8.668-8.668h125.167
+			c4.787,0,8.668,3.881,8.668,8.668v82.062c0,4.788-3.881,8.671-8.668,8.671H18.302c-4.788,0-8.668-3.883-8.668-8.671V17.481z"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="6.0166" y1="54.7896" x2="148.52" y2="54.7896">
+			<stop  offset="0" style="stop-color:#7CD4FF"/>
+			<stop  offset="1" style="stop-color:#3777AE"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#194E6A" d="M6.017,13.758
+			c0-4.786,3.88-8.668,8.668-8.668h125.167c4.787,0,8.668,3.882,8.668,8.668v82.064c0,4.787-3.881,8.666-8.668,8.666H14.685
+			c-4.788,0-8.668-3.879-8.668-8.666V13.758z"/>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="6.0166" y1="54.7896" x2="148.52" y2="54.7896">
+			<stop  offset="0" style="stop-color:#7CD4FF"/>
+			<stop  offset="1" style="stop-color:#3777AE"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#194E6A" d="M6.017,13.758
+			c0-4.786,3.88-8.668,8.668-8.668h125.167c4.787,0,8.668,3.882,8.668,8.668v82.064c0,4.787-3.881,8.666-8.668,8.666H14.685
+			c-4.788,0-8.668-3.879-8.668-8.666V13.758z"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/rectangle bleu.svg b/resources/library/shape/rectangle bleu.svg
new file mode 100644
index 00000000..6e74c4b1
--- /dev/null
+++ b/resources/library/shape/rectangle bleu.svg	
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="157.533px" height="112.898px" viewBox="0 0 157.533 112.898" enable-background="new 0 0 157.533 112.898"
+	 xml:space="preserve">
+<g>
+	<g opacity="0.25">
+		<g>
+			<polygon points="10.126,8.483 152.763,8.483 152.763,108.233 10.126,108.233 10.126,8.483 			"/>
+			<path d="M81.445,58.358"/>
+		</g>
+		<g>
+			<polygon points="10.126,8.483 152.763,8.483 152.763,108.233 10.126,108.233 10.126,8.483 			"/>
+			<path d="M81.445,58.358"/>
+		</g>
+	</g>
+	<g>
+		<g>
+			<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="6.5093" y1="54.6367" x2="149.146" y2="54.6367">
+				<stop  offset="0" style="stop-color:#7CD4FF"/>
+				<stop  offset="1" style="stop-color:#3777AE"/>
+			</linearGradient>
+			<polygon fill="url(#SVGID_1_)" stroke="#194E6A" points="6.509,4.762 149.146,4.762 149.146,104.511 6.509,104.511 6.509,4.762 
+							"/>
+			<path fill="#999999" d="M77.828,54.635"/>
+		</g>
+		<g>
+			<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="6.5093" y1="54.6367" x2="149.146" y2="54.6367">
+				<stop  offset="0" style="stop-color:#7CD4FF"/>
+				<stop  offset="1" style="stop-color:#3777AE"/>
+			</linearGradient>
+			<polygon fill="url(#SVGID_2_)" stroke="#194E6A" points="6.509,4.762 149.146,4.762 149.146,104.511 6.509,104.511 6.509,4.762 
+							"/>
+			<path fill="none" stroke="#000000" stroke-miterlimit="3.8637" d="M77.828,54.635"/>
+		</g>
+	</g>
+</g>
+
+</svg>
diff --git a/resources/library/shape/rectangle gris arr.svg b/resources/library/shape/rectangle gris arr.svg
new file mode 100644
index 00000000..593751fa
--- /dev/null
+++ b/resources/library/shape/rectangle gris arr.svg	
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="157.533px" height="112.898px" viewBox="0 0 157.533 112.898" enable-background="new 0 0 157.533 112.898"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M9.955,17.229c0-4.787,3.879-8.668,8.666-8.668h125.167
+			c4.789,0,8.671,3.881,8.671,8.668v82.062c0,4.788-3.882,8.671-8.671,8.671H18.621c-4.787,0-8.666-3.883-8.666-8.671V17.229z"/>
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M9.955,17.229c0-4.787,3.879-8.668,8.666-8.668h125.167
+			c4.789,0,8.671,3.881,8.671,8.668v82.062c0,4.788-3.882,8.671-8.671,8.671H18.621c-4.787,0-8.666-3.883-8.666-8.671V17.229z"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="6.3384" y1="54.5376" x2="148.8413" y2="54.5376">
+			<stop  offset="0" style="stop-color:#BEBEBE"/>
+			<stop  offset="1" style="stop-color:#6A6A6A"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#414141" d="M6.338,13.506
+			c0-4.786,3.878-8.668,8.666-8.668h125.167c4.788,0,8.67,3.882,8.67,8.668v82.064c0,4.787-3.882,8.666-8.67,8.666H15.004
+			c-4.788,0-8.666-3.879-8.666-8.666V13.506z"/>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="6.3384" y1="54.5376" x2="148.8413" y2="54.5376">
+			<stop  offset="0" style="stop-color:#BEBEBE"/>
+			<stop  offset="1" style="stop-color:#6A6A6A"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#414141" d="M6.338,13.506
+			c0-4.786,3.878-8.668,8.666-8.668h125.167c4.788,0,8.67,3.882,8.67,8.668v82.064c0,4.787-3.882,8.666-8.67,8.666H15.004
+			c-4.788,0-8.666-3.879-8.666-8.666V13.506z"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/rectangle gris.svg b/resources/library/shape/rectangle gris.svg
new file mode 100644
index 00000000..3e031ced
--- /dev/null
+++ b/resources/library/shape/rectangle gris.svg	
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="157.533px" height="112.898px" viewBox="0 0 157.533 112.898" enable-background="new 0 0 157.533 112.898"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<g>
+			<polygon points="9.955,8.483 152.59,8.483 152.59,108.233 9.955,108.233 9.955,8.483 			"/>
+			<path d="M81.274,58.358"/>
+		</g>
+		<g>
+			<polygon points="9.955,8.483 152.59,8.483 152.59,108.233 9.955,108.233 9.955,8.483 			"/>
+			<path d="M81.274,58.358"/>
+		</g>
+	</g>
+	<g>
+		<g>
+			<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="6.3384" y1="54.6367" x2="148.9741" y2="54.6367">
+				<stop  offset="0" style="stop-color:#BEBEBE"/>
+				<stop  offset="1" style="stop-color:#6A6A6A"/>
+			</linearGradient>
+			<polygon fill="url(#SVGID_1_)" stroke="#414141" points="6.338,4.762 148.974,4.762 148.974,104.511 6.338,104.511 6.338,4.762 
+							"/>
+			<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="77.6567" y1="54.6353" x2="77.6567" y2="54.6353">
+				<stop  offset="0" style="stop-color:#BEBEBE"/>
+				<stop  offset="1" style="stop-color:#6A6A6A"/>
+			</linearGradient>
+			<path fill="url(#SVGID_2_)" stroke="#414141" d="M77.657,54.635"/>
+		</g>
+		<g>
+			<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="6.3384" y1="54.6367" x2="148.9741" y2="54.6367">
+				<stop  offset="0" style="stop-color:#BEBEBE"/>
+				<stop  offset="1" style="stop-color:#6A6A6A"/>
+			</linearGradient>
+			<polygon fill="url(#SVGID_3_)" stroke="#414141" points="6.338,4.762 148.974,4.762 148.974,104.511 6.338,104.511 6.338,4.762 
+							"/>
+			<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="77.6567" y1="54.6353" x2="77.6567" y2="54.6353">
+				<stop  offset="0" style="stop-color:#BEBEBE"/>
+				<stop  offset="1" style="stop-color:#6A6A6A"/>
+			</linearGradient>
+			<path fill="url(#SVGID_4_)" stroke="#414141" d="M77.657,54.635"/>
+		</g>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/rectangle rouge arr.svg b/resources/library/shape/rectangle rouge arr.svg
new file mode 100644
index 00000000..830d8ff0
--- /dev/null
+++ b/resources/library/shape/rectangle rouge arr.svg	
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="157.533px" height="112.898px" viewBox="0 0 157.533 112.898" enable-background="new 0 0 157.533 112.898"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M9.54,17.229c0-4.787,3.88-8.668,8.668-8.668h125.167
+			c4.787,0,8.668,3.881,8.668,8.668v82.062c0,4.788-3.881,8.671-8.668,8.671H18.208c-4.788,0-8.668-3.883-8.668-8.671V17.229z"/>
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M9.54,17.229c0-4.787,3.88-8.668,8.668-8.668h125.167
+			c4.787,0,8.668,3.881,8.668,8.668v82.062c0,4.788-3.881,8.671-8.668,8.671H18.208c-4.788,0-8.668-3.883-8.668-8.671V17.229z"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5.9233" y1="54.5376" x2="148.4263" y2="54.5376">
+			<stop  offset="0" style="stop-color:#FF897A"/>
+			<stop  offset="1" style="stop-color:#FF3400"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#6F0000" d="M5.923,13.506
+			c0-4.786,3.88-8.668,8.668-8.668h125.167c4.788,0,8.668,3.882,8.668,8.668v82.064c0,4.787-3.88,8.666-8.668,8.666H14.591
+			c-4.788,0-8.668-3.879-8.668-8.666V13.506z"/>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5.9233" y1="54.5376" x2="148.4263" y2="54.5376">
+			<stop  offset="0" style="stop-color:#FF897A"/>
+			<stop  offset="1" style="stop-color:#FF3400"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#6F0000" d="M5.923,13.506
+			c0-4.786,3.88-8.668,8.668-8.668h125.167c4.788,0,8.668,3.882,8.668,8.668v82.064c0,4.787-3.88,8.666-8.668,8.666H14.591
+			c-4.788,0-8.668-3.879-8.668-8.666V13.506z"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/rectangle rouge.svg b/resources/library/shape/rectangle rouge.svg
new file mode 100644
index 00000000..91318f39
--- /dev/null
+++ b/resources/library/shape/rectangle rouge.svg	
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="157.533px" height="112.898px" viewBox="0 0 157.533 112.898" enable-background="new 0 0 157.533 112.898"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<g>
+			<polygon points="9.54,8.483 152.177,8.483 152.177,108.233 9.54,108.233 9.54,8.483 			"/>
+			<path d="M80.859,58.358"/>
+		</g>
+		<g>
+			<polygon points="9.54,8.483 152.177,8.483 152.177,108.233 9.54,108.233 9.54,8.483 			"/>
+			<path d="M80.859,58.358"/>
+		</g>
+	</g>
+	<g>
+		<g>
+			<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5.9233" y1="54.6367" x2="148.5601" y2="54.6367">
+				<stop  offset="0" style="stop-color:#FF897A"/>
+				<stop  offset="1" style="stop-color:#FF3400"/>
+			</linearGradient>
+			<polygon fill="url(#SVGID_1_)" stroke="#6F0000" points="5.923,4.762 148.56,4.762 148.56,104.511 5.923,104.511 5.923,4.762 			
+				"/>
+			<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="77.2422" y1="54.6353" x2="77.2422" y2="54.6353">
+				<stop  offset="0" style="stop-color:#FF897A"/>
+				<stop  offset="1" style="stop-color:#FF3400"/>
+			</linearGradient>
+			<path fill="url(#SVGID_2_)" stroke="#6F0000" d="M77.242,54.635"/>
+		</g>
+		<g>
+			<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="5.9233" y1="54.6367" x2="148.5601" y2="54.6367">
+				<stop  offset="0" style="stop-color:#FF897A"/>
+				<stop  offset="1" style="stop-color:#FF3400"/>
+			</linearGradient>
+			<polygon fill="url(#SVGID_3_)" stroke="#6F0000" points="5.923,4.762 148.56,4.762 148.56,104.511 5.923,104.511 5.923,4.762 			
+				"/>
+			<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="77.2422" y1="54.6353" x2="77.2422" y2="54.6353">
+				<stop  offset="0" style="stop-color:#FF897A"/>
+				<stop  offset="1" style="stop-color:#FF3400"/>
+			</linearGradient>
+			<path fill="url(#SVGID_4_)" stroke="#6F0000" d="M77.242,54.635"/>
+		</g>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/rectangle vide arr.svg b/resources/library/shape/rectangle vide arr.svg
new file mode 100644
index 00000000..c09036cf
--- /dev/null
+++ b/resources/library/shape/rectangle vide arr.svg	
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="157.533px" height="112.898px" viewBox="0 0 157.533 112.898" enable-background="new 0 0 157.533 112.898"
+	 xml:space="preserve">
+
+<g>
+	<path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" d="M7.752,15.981c0-4.786,3.878-8.668,8.666-8.668
+		h125.168c4.787,0,8.669,3.882,8.669,8.668v82.064c0,4.787-3.882,8.666-8.669,8.666H16.418c-4.788,0-8.666-3.879-8.666-8.666V15.981
+		z"/>
+	<path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" d="M7.752,15.981c0-4.786,3.878-8.668,8.666-8.668
+		h125.168c4.787,0,8.669,3.882,8.669,8.668v82.064c0,4.787-3.882,8.666-8.669,8.666H16.418c-4.788,0-8.666-3.879-8.666-8.666V15.981
+		z"/>
+</g>
+</svg>
diff --git a/resources/library/shape/rectangle vide.svg b/resources/library/shape/rectangle vide.svg
new file mode 100644
index 00000000..7a66c4b6
--- /dev/null
+++ b/resources/library/shape/rectangle vide.svg	
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="157.533px" height="112.898px" viewBox="0 0 157.533 112.898" enable-background="new 0 0 157.533 112.898"
+	 xml:space="preserve">
+
+<g>
+	<g>
+		<polygon fill="none" stroke="#595959" points="6.752,7.313 149.387,7.313 149.387,107.062 6.752,107.062 6.752,7.313 		"/>
+		<path fill="none" stroke="#595959" d="M78.071,57.186"/>
+	</g>
+	<g>
+		<polygon fill="none" stroke="#595959" points="6.752,7.313 149.387,7.313 149.387,107.062 6.752,107.062 6.752,7.313 		"/>
+		<path fill="none" stroke="#595959" d="M78.071,57.186"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/triangle bleu arr.svg b/resources/library/shape/triangle bleu arr.svg
new file mode 100644
index 00000000..c32a4f8f
--- /dev/null
+++ b/resources/library/shape/triangle bleu arr.svg	
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="138.629px" height="121.897px" viewBox="0 0 138.629 121.897" enable-background="new 0 0 138.629 121.897"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M71.427,120.692l-58.237-0.001c-6.572-0.001-9.401-4.899-6.115-10.592
+			l29.118-50.437l29.12-50.435c3.286-5.692,8.944-5.692,12.23,0l29.12,50.435l29.117,50.437c3.287,5.692,0.457,10.591-6.114,10.592
+			L71.427,120.692z"/>
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M71.427,120.692l-58.237-0.001c-6.572-0.001-9.401-4.899-6.115-10.592
+			l29.118-50.437l29.12-50.435c3.286-5.692,8.944-5.692,12.23,0l29.12,50.435l29.117,50.437c3.287,5.692,0.457,10.591-6.114,10.592
+			L71.427,120.692z"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="2.1089" y1="60.4336" x2="133.5645" y2="60.4336">
+			<stop  offset="0" style="stop-color:#7CD4FF"/>
+			<stop  offset="1" style="stop-color:#3777AE"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#194E6A" d="M67.836,118.3l-58.237-0.002
+			c-6.572,0-9.401-4.898-6.115-10.592l29.118-50.436l29.12-50.435c3.286-5.692,8.944-5.692,12.23,0l29.12,50.435l29.117,50.436
+			c3.287,5.693,0.457,10.592-6.114,10.592L67.836,118.3z"/>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="2.1089" y1="60.4336" x2="133.5645" y2="60.4336">
+			<stop  offset="0" style="stop-color:#7CD4FF"/>
+			<stop  offset="1" style="stop-color:#3777AE"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#194E6A" d="M67.836,118.3l-58.237-0.002
+			c-6.572,0-9.401-4.898-6.115-10.592l29.118-50.436l29.12-50.435c3.286-5.692,8.944-5.692,12.23,0l29.12,50.435l29.117,50.436
+			c3.287,5.693,0.457,10.592-6.114,10.592L67.836,118.3z"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/triangle bleu.svg b/resources/library/shape/triangle bleu.svg
new file mode 100644
index 00000000..18ee0141
--- /dev/null
+++ b/resources/library/shape/triangle bleu.svg	
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="138.629px" height="121.897px" viewBox="0 0 138.629 121.897" enable-background="new 0 0 138.629 121.897"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<polygon fill-rule="evenodd" clip-rule="evenodd" points="136.192,118.913 71.427,118.915 6.662,118.913 39.042,62.824 
+			71.427,6.737 103.812,62.824 		"/>
+		<polygon fill-rule="evenodd" clip-rule="evenodd" points="136.192,118.913 71.427,118.915 6.662,118.913 39.042,62.824 
+			71.427,6.737 103.812,62.824 		"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="3.0713" y1="60.4336" x2="132.6006" y2="60.4336">
+			<stop  offset="0" style="stop-color:#7CD4FF"/>
+			<stop  offset="1" style="stop-color:#3777AE"/>
+		</linearGradient>
+		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#194E6A" points="132.601,116.521 
+			67.836,116.523 3.071,116.521 35.452,60.431 67.836,4.344 100.22,60.431 		"/>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="3.0713" y1="60.4336" x2="132.6006" y2="60.4336">
+			<stop  offset="0" style="stop-color:#7CD4FF"/>
+			<stop  offset="1" style="stop-color:#3777AE"/>
+		</linearGradient>
+		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#194E6A" points="132.601,116.521 
+			67.836,116.523 3.071,116.521 35.452,60.431 67.836,4.344 100.22,60.431 		"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/triangle gris arr.svg b/resources/library/shape/triangle gris arr.svg
new file mode 100644
index 00000000..4e3b5035
--- /dev/null
+++ b/resources/library/shape/triangle gris arr.svg	
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="137.543px" height="122.28px" viewBox="0 0 137.543 122.28" enable-background="new 0 0 137.543 122.28"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M70.535,120.661l-58.237-0.001c-6.572-0.001-9.401-4.899-6.115-10.592
+			l29.118-50.437l29.12-50.435c3.286-5.692,8.944-5.692,12.23,0l29.12,50.435l29.117,50.437c3.287,5.692,0.457,10.591-6.114,10.592
+			L70.535,120.661z"/>
+		<path fill-rule="evenodd" clip-rule="evenodd" d="M70.535,120.661l-58.237-0.001c-6.572-0.001-9.401-4.899-6.115-10.592
+			l29.118-50.437l29.12-50.435c3.286-5.692,8.944-5.692,12.23,0l29.12,50.435l29.117,50.437c3.287,5.692,0.457,10.591-6.114,10.592
+			L70.535,120.661z"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="1.9136" y1="61.0127" x2="133.7422" y2="61.0127">
+			<stop  offset="0" style="stop-color:#BEBEBE"/>
+			<stop  offset="1" style="stop-color:#6A6A6A"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#414141" d="M67.829,119.044l-58.404-0.001
+			c-6.591-0.001-9.428-4.914-6.133-10.622L32.493,57.84L61.696,7.263c3.295-5.708,8.968-5.708,12.265,0l29.202,50.578l29.2,50.581
+			c3.297,5.708,0.459,10.621-6.132,10.622L67.829,119.044z"/>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="1.9136" y1="61.0127" x2="133.7422" y2="61.0127">
+			<stop  offset="0" style="stop-color:#BEBEBE"/>
+			<stop  offset="1" style="stop-color:#6A6A6A"/>
+		</linearGradient>
+		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#414141" d="M67.829,119.044l-58.404-0.001
+			c-6.591-0.001-9.428-4.914-6.133-10.622L32.493,57.84L61.696,7.263c3.295-5.708,8.968-5.708,12.265,0l29.202,50.578l29.2,50.581
+			c3.297,5.708,0.459,10.621-6.132,10.622L67.829,119.044z"/>
+	</g>
+</g>
+</svg>
diff --git a/resources/library/shape/triangle gris.svg b/resources/library/shape/triangle gris.svg
new file mode 100644
index 00000000..a2d2ab3d
--- /dev/null
+++ b/resources/library/shape/triangle gris.svg	
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="137.543px" height="122.28px" viewBox="0 0 137.543 122.28" enable-background="new 0 0 137.543 122.28"
+	 xml:space="preserve">
+
+<g>
+	<g opacity="0.25">
+		<polygon fill-rule="evenodd" clip-rule="evenodd" points="135.558,118.878 70.792,118.88 6.027,118.878 38.408,62.789 
+			70.792,6.702 103.177,62.789 		"/>
+		<polygon fill-rule="evenodd" clip-rule="evenodd" points="135.558,118.878 70.792,118.88 6.027,118.878 38.408,62.789 
+			70.792,6.702 103.177,62.789 		"/>
+	</g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="2.6196" y1="61.0107" x2="132.5166" y2="61.0107">
+			<stop  offset="0" style="stop-color:#BEBEBE"/>
+			<stop  offset="1" style="stop-color:#6A6A6A"/>
+		</linearGradient>
+		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#414141" points="132.517,117.257 
+			67.569,117.259 2.62,117.257 35.092,61.009 67.569,4.763 100.044,61.009 		"/>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="2.6196" y1="61.0107" x2="132.5166" y2="61.0107">
+			<stop  offset="0" style="stop-color:#BEBEBE"/>
+			<stop  offset="1" style="stop-color:#6A6A6A"/>
+		</linearGradient>
+		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#414141" points="132.517,117.257 
+			67.569,117.259 2.62,117.257 35.092,61.009 67.569,4.763 100.044,61.009 		"/>
+	</g>
+</g>
+</svg>

From 5243e1cf6bb64d03f1d1a40a8919ed6348a9788b Mon Sep 17 00:00:00 2001
From: bmagnin <vi>
Date: Tue, 1 May 2012 16:45:20 +0200
Subject: [PATCH 09/31] removed old version

---
 .../library/shape/blanche bulle gauche.svg    | 123 ------
 .../library/shape/blanche bulle idée.svg     | 340 ----------------
 resources/library/shape/blanche cylindre.svg  | 150 --------
 resources/library/shape/blanche disque.svg    | 110 ------
 resources/library/shape/blanche hexagone.svg  | 107 ------
 resources/library/shape/blanche pentagone.svg | 124 ------
 resources/library/shape/bleu bulle gauche.svg | 363 ------------------
 resources/library/shape/bleu bulle idée.svg  |  72 ----
 resources/library/shape/bleu bulle.svg        |  33 --
 resources/library/shape/bleu carré arr.svg   |  24 --
 resources/library/shape/bleu carré.svg       |  21 -
 resources/library/shape/bleu cylindre.svg     |  35 --
 resources/library/shape/bleu disque.svg       |  20 -
 resources/library/shape/bleu flèche bas.svg |  33 --
 resources/library/shape/bleu hexagone.svg     |  32 --
 resources/library/shape/bleu pentagone.svg    |  30 --
 .../library/shape/bleu rectangle arr.svg      |  32 --
 resources/library/shape/bleu rectangle.svg    |  40 --
 resources/library/shape/bleu triangle arr.svg |  34 --
 resources/library/shape/bleu triangle.svg     |  30 --
 resources/library/shape/gris bulle gauche.svg | 361 -----------------
 resources/library/shape/gris bulle idée.svg  |  72 ----
 resources/library/shape/gris bulle.svg        |  34 --
 resources/library/shape/gris carré arr.svg   |  24 --
 resources/library/shape/gris carré.svg       |  21 -
 resources/library/shape/gris cylindre.svg     |  35 --
 resources/library/shape/gris disque.svg       |  20 -
 resources/library/shape/gris hexagone.svg     |  32 --
 resources/library/shape/gris pentagone.svg    |  30 --
 .../library/shape/gris rectangle arr.svg      |  32 --
 resources/library/shape/gris rectangle.svg    |  48 ---
 resources/library/shape/gris triangle arr.svg |  34 --
 resources/library/shape/gris triangle.svg     |  30 --
 resources/library/shape/gris étoile arr.svg  |  38 --
 resources/library/shape/gris étoile.svg      |  30 --
 .../library/shape/rouge bulle gauche.svg      | 362 -----------------
 resources/library/shape/rouge bulle idée.svg |  74 ----
 resources/library/shape/rouge bulle.svg       |  34 --
 resources/library/shape/rouge carré arr.svg  |  24 --
 resources/library/shape/rouge carré.svg      |  21 -
 resources/library/shape/rouge cylindre.svg    |  35 --
 resources/library/shape/rouge disque.svg      |  20 -
 resources/library/shape/rouge hexagone.svg    |  32 --
 resources/library/shape/rouge pentagone.svg   |  30 --
 .../library/shape/rouge rectangle arr.svg     |  32 --
 resources/library/shape/rouge rectangle.svg   |  48 ---
 resources/library/shape/rouge étoile arr.svg |  38 --
 resources/library/shape/rouge étoile.svg     |  30 --
 resources/library/shape/vide bulle gauche.svg | 327 ----------------
 resources/library/shape/vide bulle idée.svg  |  28 --
 resources/library/shape/vide bulle.svg        |  16 -
 resources/library/shape/vide carré arr.svg   |  12 -
 resources/library/shape/vide carré.svg       |  12 -
 resources/library/shape/vide cylindre.svg     |  19 -
 resources/library/shape/vide disque.svg       |  11 -
 resources/library/shape/vide hexagone.svg     |  16 -
 resources/library/shape/vide pentagone.svg    |  14 -
 .../library/shape/vide rectangle arr.svg      |  16 -
 resources/library/shape/vide rectangle.svg    |  18 -
 59 files changed, 3863 deletions(-)
 delete mode 100644 resources/library/shape/blanche bulle gauche.svg
 delete mode 100644 resources/library/shape/blanche bulle idée.svg
 delete mode 100644 resources/library/shape/blanche cylindre.svg
 delete mode 100644 resources/library/shape/blanche disque.svg
 delete mode 100644 resources/library/shape/blanche hexagone.svg
 delete mode 100644 resources/library/shape/blanche pentagone.svg
 delete mode 100644 resources/library/shape/bleu bulle gauche.svg
 delete mode 100644 resources/library/shape/bleu bulle idée.svg
 delete mode 100644 resources/library/shape/bleu bulle.svg
 delete mode 100644 resources/library/shape/bleu carré arr.svg
 delete mode 100644 resources/library/shape/bleu carré.svg
 delete mode 100644 resources/library/shape/bleu cylindre.svg
 delete mode 100644 resources/library/shape/bleu disque.svg
 delete mode 100644 resources/library/shape/bleu flèche bas.svg
 delete mode 100644 resources/library/shape/bleu hexagone.svg
 delete mode 100644 resources/library/shape/bleu pentagone.svg
 delete mode 100644 resources/library/shape/bleu rectangle arr.svg
 delete mode 100644 resources/library/shape/bleu rectangle.svg
 delete mode 100644 resources/library/shape/bleu triangle arr.svg
 delete mode 100644 resources/library/shape/bleu triangle.svg
 delete mode 100644 resources/library/shape/gris bulle gauche.svg
 delete mode 100644 resources/library/shape/gris bulle idée.svg
 delete mode 100644 resources/library/shape/gris bulle.svg
 delete mode 100644 resources/library/shape/gris carré arr.svg
 delete mode 100644 resources/library/shape/gris carré.svg
 delete mode 100644 resources/library/shape/gris cylindre.svg
 delete mode 100644 resources/library/shape/gris disque.svg
 delete mode 100644 resources/library/shape/gris hexagone.svg
 delete mode 100644 resources/library/shape/gris pentagone.svg
 delete mode 100644 resources/library/shape/gris rectangle arr.svg
 delete mode 100644 resources/library/shape/gris rectangle.svg
 delete mode 100644 resources/library/shape/gris triangle arr.svg
 delete mode 100644 resources/library/shape/gris triangle.svg
 delete mode 100644 resources/library/shape/gris étoile arr.svg
 delete mode 100644 resources/library/shape/gris étoile.svg
 delete mode 100644 resources/library/shape/rouge bulle gauche.svg
 delete mode 100644 resources/library/shape/rouge bulle idée.svg
 delete mode 100644 resources/library/shape/rouge bulle.svg
 delete mode 100644 resources/library/shape/rouge carré arr.svg
 delete mode 100644 resources/library/shape/rouge carré.svg
 delete mode 100644 resources/library/shape/rouge cylindre.svg
 delete mode 100644 resources/library/shape/rouge disque.svg
 delete mode 100644 resources/library/shape/rouge hexagone.svg
 delete mode 100644 resources/library/shape/rouge pentagone.svg
 delete mode 100644 resources/library/shape/rouge rectangle arr.svg
 delete mode 100644 resources/library/shape/rouge rectangle.svg
 delete mode 100644 resources/library/shape/rouge étoile arr.svg
 delete mode 100644 resources/library/shape/rouge étoile.svg
 delete mode 100644 resources/library/shape/vide bulle gauche.svg
 delete mode 100644 resources/library/shape/vide bulle idée.svg
 delete mode 100644 resources/library/shape/vide bulle.svg
 delete mode 100644 resources/library/shape/vide carré arr.svg
 delete mode 100644 resources/library/shape/vide carré.svg
 delete mode 100644 resources/library/shape/vide cylindre.svg
 delete mode 100644 resources/library/shape/vide disque.svg
 delete mode 100644 resources/library/shape/vide hexagone.svg
 delete mode 100644 resources/library/shape/vide pentagone.svg
 delete mode 100644 resources/library/shape/vide rectangle arr.svg
 delete mode 100644 resources/library/shape/vide rectangle.svg

diff --git a/resources/library/shape/blanche bulle gauche.svg b/resources/library/shape/blanche bulle gauche.svg
deleted file mode 100644
index 3a011abf..00000000
--- a/resources/library/shape/blanche bulle gauche.svg	
+++ /dev/null
@@ -1,123 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<svg
-   xmlns:i="http://ns.adobe.com/AdobeIllustrator/10.0/"
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   version="1.0"
-   id="Layer_1"
-   x="0px"
-   y="0px"
-   width="153.157px"
-   height="137.618px"
-   viewBox="0 0 153.157 137.618"
-   enable-background="new 0 0 153.157 137.618"
-   xml:space="preserve"
-   sodipodi:version="0.32"
-   inkscape:version="0.46"
-   sodipodi:docname="red_bubble_speak_left.svg"
-   inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
-   id="metadata4295"><rdf:RDF><cc:Work
-       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
-         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
-   id="defs4293"><inkscape:perspective
-   sodipodi:type="inkscape:persp3d"
-   inkscape:vp_x="0 : 68.808998 : 1"
-   inkscape:vp_y="0 : 1000 : 0"
-   inkscape:vp_z="153.157 : 68.808998 : 1"
-   inkscape:persp3d-origin="76.578499 : 45.872665 : 1"
-   id="perspective4297" />
-	<foreignObject
-   id="foreignObject4273"
-   height="1"
-   width="1"
-   y="0"
-   x="0"
-   requiredExtensions="http://ns.adobe.com/AdobeIllustrator/10.0/">
-		<i:pgfRef
-   xlink:href="#adobe_illustrator_pgf">
-		</i:pgfRef>
-	</foreignObject>
-	
-<linearGradient
-   inkscape:collect="always"
-   xlink:href="#SVGID_2_"
-   id="linearGradient4328"
-   gradientUnits="userSpaceOnUse"
-   x1="6.2402"
-   y1="68.174301"
-   x2="149.0103"
-   y2="68.174301" />
-		
-		
-		
-	<linearGradient
-   inkscape:collect="always"
-   xlink:href="#SVGID_2_"
-   id="linearGradient4338"
-   gradientUnits="userSpaceOnUse"
-   x1="6.2402"
-   y1="68.174301"
-   x2="149.0103"
-   y2="68.174301" />
-			<linearGradient
-   y2="68.174301"
-   x2="149.0103"
-   y1="68.174301"
-   x1="6.2402"
-   gradientUnits="userSpaceOnUse"
-   id="SVGID_2_">
-	<stop
-   id="stop4288"
-   style="stop-color:#FFFFFF"
-   offset="0" />
-			</linearGradient>
-			
-		<linearGradient
-   inkscape:collect="always"
-   xlink:href="#SVGID_2_"
-   id="linearGradient4343"
-   gradientUnits="userSpaceOnUse"
-   x1="6.2402"
-   y1="68.174301"
-   x2="149.0103"
-   y2="68.174301" />
-			
-			
-		</defs><sodipodi:namedview
-   inkscape:window-height="669"
-   inkscape:window-width="640"
-   inkscape:pageshadow="2"
-   inkscape:pageopacity="0.0"
-   guidetolerance="10.0"
-   gridtolerance="10.0"
-   objecttolerance="10.0"
-   borderopacity="1.0"
-   bordercolor="#666666"
-   pagecolor="#ffffff"
-   id="base"
-   showgrid="false"
-   inkscape:zoom="3.5169819"
-   inkscape:cx="76.578499"
-   inkscape:cy="68.808998"
-   inkscape:window-x="243"
-   inkscape:window-y="125"
-   inkscape:current-layer="Layer_1" />
-<g
-   id="g4347">
-   
-     
-     <path
-     d="M 153.432,96.928 C 153.432,101.768 149.51,105.692 144.672,105.692 L 73.532,105.692 L 73.532,136.387 L 53.426,105.692 L 18.155,105.692 C 13.317,105.692 9.394,101.768 9.394,96.928 L 9.394,13.982 C 9.394,9.142 13.317,5.22 18.155,5.22 L 144.673,5.22 C 149.511,5.22 153.433,9.142 153.433,13.982 L 153.433,96.928 L 153.432,96.928 z"
-     id="path4281"
-     style="opacity:0.25" /><path
-     d="M 150.127,94.299 C 150.127,99.138 146.205,103.062 141.365,103.062 L 70.227,103.062 L 70.227,133.758 L 50.12,103.062 L 14.85,103.062 C 10.011,103.062 6.088,99.138 6.088,94.299 L 6.088,11.353 C 6.088,6.513 10.011,2.591 14.85,2.591 L 141.366,2.591 C 146.206,2.591 150.128,6.513 150.128,11.353 L 150.128,94.299 L 150.127,94.299 z"
-     id="path4290"
-     style="fill:url(#linearGradient4343);stroke:#000000" /></g>
-</svg>
\ No newline at end of file
diff --git a/resources/library/shape/blanche bulle idée.svg b/resources/library/shape/blanche bulle idée.svg
deleted file mode 100644
index 8c49b12b..00000000
--- a/resources/library/shape/blanche bulle idée.svg	
+++ /dev/null
@@ -1,340 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   version="1.0"
-   id="Layer_1"
-   x="0px"
-   y="0px"
-   width="153.157px"
-   height="137.618px"
-   viewBox="0 0 153.157 137.618"
-   enable-background="new 0 0 153.157 137.618"
-   xml:space="preserve"
-   sodipodi:version="0.32"
-   inkscape:version="0.46"
-   sodipodi:docname="red_bubble_think.svg"
-   inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
-   id="metadata2583"><rdf:RDF><cc:Work
-       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
-         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
-   id="defs2581"><inkscape:perspective
-   sodipodi:type="inkscape:persp3d"
-   inkscape:vp_x="0 : 68.808998 : 1"
-   inkscape:vp_y="0 : 1000 : 0"
-   inkscape:vp_z="153.157 : 68.808998 : 1"
-   inkscape:persp3d-origin="76.578499 : 45.872665 : 1"
-   id="perspective2585" />
-	
-	
-<linearGradient
-   inkscape:collect="always"
-   xlink:href="#SVGID_1_"
-   id="linearGradient3395"
-   gradientUnits="userSpaceOnUse"
-   x1="78.9702"
-   y1="128.8438"
-   x2="88.9468"
-   y2="128.8438" /><linearGradient
-   inkscape:collect="always"
-   xlink:href="#SVGID_2_"
-   id="linearGradient3397"
-   gradientUnits="userSpaceOnUse"
-   x1="78.9702"
-   y1="128.8438"
-   x2="88.9468"
-   y2="128.8438" /><linearGradient
-   inkscape:collect="always"
-   xlink:href="#SVGID_3_"
-   id="linearGradient3399"
-   gradientUnits="userSpaceOnUse"
-   x1="82.856903"
-   y1="113.6045"
-   x2="98.319801"
-   y2="113.6045" /><linearGradient
-   inkscape:collect="always"
-   xlink:href="#SVGID_4_"
-   id="linearGradient3401"
-   gradientUnits="userSpaceOnUse"
-   x1="82.856903"
-   y1="113.6045"
-   x2="98.319801"
-   y2="113.6045" /><linearGradient
-   inkscape:collect="always"
-   xlink:href="#SVGID_5_"
-   id="linearGradient3403"
-   gradientUnits="userSpaceOnUse"
-   x1="3.0302999"
-   y1="52.751999"
-   x2="147.0659"
-   y2="52.751999" /><linearGradient
-   inkscape:collect="always"
-   xlink:href="#SVGID_6_"
-   id="linearGradient3405"
-   gradientUnits="userSpaceOnUse"
-   x1="3.0302999"
-   y1="52.751999"
-   x2="147.0659"
-   y2="52.751999" />
-		
-		
-		
-	
-		
-		
-		
-	
-			
-			
-		
-			
-			
-		
-			
-			
-		<linearGradient
-   inkscape:collect="always"
-   xlink:href="#SVGID_5_"
-   id="linearGradient3449"
-   gradientUnits="userSpaceOnUse"
-   x1="3.0302999"
-   y1="52.751999"
-   x2="147.0659"
-   y2="52.751999" /><linearGradient
-   inkscape:collect="always"
-   xlink:href="#SVGID_6_"
-   id="linearGradient3451"
-   gradientUnits="userSpaceOnUse"
-   x1="3.0302999"
-   y1="52.751999"
-   x2="147.0659"
-   y2="52.751999" />
-			<linearGradient
-   y2="52.751999"
-   x2="147.0659"
-   y1="52.751999"
-   x1="3.0302999"
-   gradientUnits="userSpaceOnUse"
-   id="SVGID_5_">
-				<stop
-   id="stop2567"
-   style="stop-color:#FF897A"
-   offset="0" />
-				<stop
-   id="stop2569"
-   style="stop-color:#FF3400"
-   offset="1" />
-			</linearGradient>
-			
-			<linearGradient
-   y2="52.751999"
-   x2="147.0659"
-   y1="52.751999"
-   x1="3.0302999"
-   gradientUnits="userSpaceOnUse"
-   id="SVGID_6_">
-				<stop
-   id="stop2574"
-   style="stop-color:#FF897A"
-   offset="0" />
-				<stop
-   id="stop2576"
-   style="stop-color:#FF3400"
-   offset="1" />
-			</linearGradient>
-			
-		<linearGradient
-   inkscape:collect="always"
-   xlink:href="#SVGID_6_"
-   id="linearGradient3460"
-   gradientUnits="userSpaceOnUse"
-   x1="3.0302999"
-   y1="52.751999"
-   x2="147.0659"
-   y2="52.751999" /><linearGradient
-   inkscape:collect="always"
-   xlink:href="#SVGID_5_"
-   id="linearGradient3463"
-   gradientUnits="userSpaceOnUse"
-   x1="3.0302999"
-   y1="52.751999"
-   x2="147.0659"
-   y2="52.751999" /><linearGradient
-   inkscape:collect="always"
-   xlink:href="#SVGID_3_"
-   id="linearGradient3465"
-   gradientUnits="userSpaceOnUse"
-   x1="82.856903"
-   y1="113.6045"
-   x2="98.319801"
-   y2="113.6045" /><linearGradient
-   inkscape:collect="always"
-   xlink:href="#SVGID_4_"
-   id="linearGradient3467"
-   gradientUnits="userSpaceOnUse"
-   x1="82.856903"
-   y1="113.6045"
-   x2="98.319801"
-   y2="113.6045" />
-			<linearGradient
-   y2="113.6045"
-   x2="98.319801"
-   y1="113.6045"
-   x1="82.856903"
-   gradientUnits="userSpaceOnUse"
-   id="SVGID_3_">
-				<stop
-   id="stop2551"
-   style="stop-color:#FF897A"
-   offset="0" />
-				<stop
-   id="stop2553"
-   style="stop-color:#FF3400"
-   offset="1" />
-			</linearGradient>
-			
-			<linearGradient
-   y2="113.6045"
-   x2="98.319801"
-   y1="113.6045"
-   x1="82.856903"
-   gradientUnits="userSpaceOnUse"
-   id="SVGID_4_">
-				<stop
-   id="stop2558"
-   style="stop-color:#FF897A"
-   offset="0" />
-				<stop
-   id="stop2560"
-   style="stop-color:#FF3400"
-   offset="1" />
-			</linearGradient>
-			
-		<linearGradient
-   inkscape:collect="always"
-   xlink:href="#SVGID_4_"
-   id="linearGradient3476"
-   gradientUnits="userSpaceOnUse"
-   x1="82.856903"
-   y1="113.6045"
-   x2="98.319801"
-   y2="113.6045" /><linearGradient
-   inkscape:collect="always"
-   xlink:href="#SVGID_1_"
-   id="linearGradient3481"
-   gradientUnits="userSpaceOnUse"
-   x1="78.9702"
-   y1="128.8438"
-   x2="88.9468"
-   y2="128.8438" /><linearGradient
-   inkscape:collect="always"
-   xlink:href="#SVGID_2_"
-   id="linearGradient3483"
-   gradientUnits="userSpaceOnUse"
-   x1="78.9702"
-   y1="128.8438"
-   x2="88.9468"
-   y2="128.8438" />
-			<linearGradient
-   y2="128.8438"
-   x2="88.9468"
-   y1="128.8438"
-   x1="78.9702"
-   gradientUnits="userSpaceOnUse"
-   id="SVGID_1_">
-				<stop
-   id="stop2535"
-   style="stop-color:#FF897A"
-   offset="0" />
-				<stop
-   id="stop2537"
-   style="stop-color:#FF3400"
-   offset="1" />
-			</linearGradient>
-			
-			<linearGradient
-   y2="128.8438"
-   x2="88.9468"
-   y1="128.8438"
-   x1="78.9702"
-   gradientUnits="userSpaceOnUse"
-   id="SVGID_2_">
-				<stop
-   id="stop2542"
-   style="stop-color:#FF897A"
-   offset="0" />
-				<stop
-   id="stop2544"
-   style="stop-color:#FF3400"
-   offset="1" />
-			</linearGradient>
-			
-		</defs><sodipodi:namedview
-   inkscape:window-height="970"
-   inkscape:window-width="1664"
-   inkscape:pageshadow="2"
-   inkscape:pageopacity="0.0"
-   guidetolerance="10.0"
-   gridtolerance="10.0"
-   objecttolerance="10.0"
-   borderopacity="1.0"
-   bordercolor="#666666"
-   pagecolor="#ffffff"
-   id="base"
-   showgrid="false"
-   inkscape:zoom="3.5169819"
-   inkscape:cx="20.848897"
-   inkscape:cy="68.808998"
-   inkscape:window-x="0"
-   inkscape:window-y="44"
-   inkscape:current-layer="Layer_1" />
-
-<g
-   id="g3415">
-   
-     
-     <path
-     clip-rule="evenodd"
-     d="M 82.666,131.472 C 82.666,128.718 84.898,126.488 87.654,126.488 C 90.408,126.488 92.642,128.718 92.642,131.472 C 92.642,134.228 90.408,136.462 87.654,136.462 C 84.898,136.462 82.666,134.228 82.666,131.472 z"
-     id="path2514"
-     style="opacity:0.25;fill-rule:evenodd" /><circle
-     clip-rule="evenodd"
-     cx="94.283997"
-     cy="116.233"
-     r="7.7309999"
-     id="circle2520"
-     sodipodi:cx="94.283997"
-     sodipodi:cy="116.233"
-     sodipodi:rx="7.7309999"
-     sodipodi:ry="7.7309999"
-     style="opacity:0.25;fill-rule:evenodd" /><path
-     clip-rule="evenodd"
-     d="M 6.725,13.909 C 6.725,9.069 10.647,5.147 15.486,5.147 L 142.002,5.147 C 146.84,5.147 150.762,9.069 150.762,13.909 L 150.762,96.855 C 150.762,101.695 146.84,105.619 142.002,105.619 L 15.486,105.619 C 10.647,105.619 6.725,101.695 6.725,96.855 L 6.725,13.909 L 6.725,13.909 z"
-     id="path2526"
-     style="opacity:0.25;fill-rule:evenodd" /><circle
-     clip-rule="evenodd"
-     cx="83.958"
-     cy="128.843"
-     r="4.9879999"
-     id="circle2539"
-     style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;fill-opacity:1;stroke-opacity:1"
-     sodipodi:cx="83.958"
-     sodipodi:cy="128.843"
-     sodipodi:rx="4.9879999"
-     sodipodi:ry="4.9879999" /><path
-     clip-rule="evenodd"
-     d="M 82.857,113.603 C 82.857,109.335 86.318,105.873 90.587,105.873 C 94.858,105.873 98.319,109.336 98.319,113.603 C 98.319,117.876 94.858,121.337 90.587,121.337 C 86.318,121.337 82.857,117.876 82.857,113.603 z"
-     id="path2555"
-     style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;fill-opacity:1;stroke-opacity:1" /><path
-     clip-rule="evenodd"
-     d="M 3.03,11.279 C 3.03,6.439 6.952,2.517 11.791,2.517 L 138.306,2.517 C 143.146,2.517 147.066,6.439 147.066,11.279 L 147.066,94.226 C 147.066,99.064 143.146,102.988 138.306,102.988 L 11.791,102.988 C 6.952,102.988 3.03,99.064 3.03,94.226 L 3.03,11.279 L 3.03,11.279 z"
-     id="path2571"
-     style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;fill-opacity:1;stroke-opacity:1" /></g>
-</svg>
\ No newline at end of file
diff --git a/resources/library/shape/blanche cylindre.svg b/resources/library/shape/blanche cylindre.svg
deleted file mode 100644
index 4ae22974..00000000
--- a/resources/library/shape/blanche cylindre.svg	
+++ /dev/null
@@ -1,150 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   version="1.0"
-   id="Layer_1"
-   x="0px"
-   y="0px"
-   width="116.314px"
-   height="138.089px"
-   viewBox="0 0 116.314 138.089"
-   enable-background="new 0 0 116.314 138.089"
-   xml:space="preserve"
-   sodipodi:version="0.32"
-   inkscape:version="0.46"
-   sodipodi:docname="red_cylinder.svg"
-   inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
-   id="metadata2495"><rdf:RDF><cc:Work
-       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
-         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
-   id="defs2493"><inkscape:perspective
-   sodipodi:type="inkscape:persp3d"
-   inkscape:vp_x="0 : 69.044502 : 1"
-   inkscape:vp_y="0 : 1000 : 0"
-   inkscape:vp_z="116.314 : 69.044502 : 1"
-   inkscape:persp3d-origin="58.157001 : 46.029668 : 1"
-   id="perspective2497" />
-	
-	
-	
-	
-<linearGradient
-   inkscape:collect="always"
-   xlink:href="#SVGID_2_"
-   id="linearGradient3283"
-   gradientUnits="userSpaceOnUse"
-   x1="7.4882998"
-   y1="83.584999"
-   x2="105.4561"
-   y2="83.584999" />
-		<linearGradient
-   id="SVGID_2_"
-   gradientUnits="userSpaceOnUse"
-   x1="7.4882998"
-   y1="83.584999"
-   x2="105.4561"
-   y2="83.584999">
-			<stop
-   offset="0"
-   style="stop-color:#FF897A"
-   id="stop2486" />
-			<stop
-   offset="1"
-   style="stop-color:#FF3400"
-   id="stop2488" />
-		</linearGradient>
-		
-	<linearGradient
-   inkscape:collect="always"
-   xlink:href="#SVGID_1_"
-   id="linearGradient3291"
-   gradientUnits="userSpaceOnUse"
-   x1="7.5732002"
-   y1="24.2642"
-   x2="105.3721"
-   y2="24.2642" />
-		<linearGradient
-   id="SVGID_1_"
-   gradientUnits="userSpaceOnUse"
-   x1="7.5732002"
-   y1="24.2642"
-   x2="105.3721"
-   y2="24.2642">
-			<stop
-   offset="0"
-   style="stop-color:#FF897A"
-   id="stop2477" />
-			<stop
-   offset="1"
-   style="stop-color:#FF3400"
-   id="stop2479" />
-		</linearGradient>
-		
-			
-	
-		
-	
-		
-	</defs><sodipodi:namedview
-   inkscape:window-height="970"
-   inkscape:window-width="1664"
-   inkscape:pageshadow="2"
-   inkscape:pageopacity="0.0"
-   guidetolerance="10.0"
-   gridtolerance="10.0"
-   objecttolerance="10.0"
-   borderopacity="1.0"
-   bordercolor="#666666"
-   pagecolor="#ffffff"
-   id="base"
-   showgrid="false"
-   inkscape:zoom="3.5049858"
-   inkscape:cx="2.2366608"
-   inkscape:cy="69.044502"
-   inkscape:window-x="0"
-   inkscape:window-y="44"
-   inkscape:current-layer="Layer_1" />
-
-<g
-   id="g4102">
-     
-     <ellipse
-     style="opacity:0.25;fill-rule:evenodd"
-     sodipodi:ry="18.582001"
-     sodipodi:rx="48.898998"
-     sodipodi:cy="26.895"
-     sodipodi:cx="60.167"
-     id="ellipse2468"
-     ry="18.582001"
-     rx="48.898998"
-     cy="26.895"
-     cx="60.167"
-     clip-rule="evenodd" /><path
-     style="opacity:0.25;fill-rule:evenodd"
-     id="path2472"
-     d="M 109.151,37.791 L 109.151,115.446 L 108.982,116.058 C 108.982,126.32 87.09,134.639 60.083,134.639 C 33.076,134.639 11.185,126.32 11.185,116.058 C 11.185,115.852 11.179,115.649 11.197,115.446 L 11.197,37.939 C 19.812,44.914 38.464,49.744 60.084,49.744 C 81.855,49.744 100.616,44.847 109.151,37.791 z"
-     clip-rule="evenodd" /><ellipse
-     sodipodi:ry="18.582001"
-     sodipodi:rx="48.898998"
-     sodipodi:cy="24.264999"
-     sodipodi:cx="56.473"
-     style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;fill-opacity:1;stroke-opacity:1"
-     id="ellipse2481"
-     ry="18.582001"
-     rx="48.898998"
-     cy="24.264999"
-     cx="56.473"
-     clip-rule="evenodd" /><path
-     style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;fill-opacity:1;stroke-opacity:1"
-     id="path2490"
-     d="M 105.456,35.161 L 105.456,112.815 L 105.288,113.428 C 105.288,123.69 83.395,132.009 56.388,132.009 C 29.382,132.009 7.49,123.69 7.49,113.428 C 7.49,113.223 7.484,113.019 7.502,112.815 L 7.502,35.31 C 16.117,42.285 34.77,47.115 56.389,47.115 C 78.161,47.114 96.921,42.217 105.456,35.161 z"
-     clip-rule="evenodd" /></g>
-</svg>
\ No newline at end of file
diff --git a/resources/library/shape/blanche disque.svg b/resources/library/shape/blanche disque.svg
deleted file mode 100644
index 6d8cf593..00000000
--- a/resources/library/shape/blanche disque.svg	
+++ /dev/null
@@ -1,110 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   version="1.0"
-   id="Layer_1"
-   x="0px"
-   y="0px"
-   width="116.314px"
-   height="116.314px"
-   viewBox="0 0 116.314 116.314"
-   enable-background="new 0 0 116.314 116.314"
-   xml:space="preserve"
-   sodipodi:version="0.32"
-   inkscape:version="0.46"
-   sodipodi:docname="red_disk.svg"
-   inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
-   id="metadata4097"><rdf:RDF><cc:Work
-       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
-         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
-   id="defs4095"><inkscape:perspective
-   sodipodi:type="inkscape:persp3d"
-   inkscape:vp_x="0 : 58.157001 : 1"
-   inkscape:vp_y="0 : 1000 : 0"
-   inkscape:vp_z="116.314 : 58.157001 : 1"
-   inkscape:persp3d-origin="58.157001 : 38.771334 : 1"
-   id="perspective4099" />
-	
-	
-<linearGradient
-   inkscape:collect="always"
-   xlink:href="#SVGID_1_"
-   id="linearGradient4108"
-   gradientUnits="userSpaceOnUse"
-   x1="2.2783"
-   y1="56.8423"
-   x2="110.667"
-   y2="56.8423" />
-		<linearGradient
-   id="SVGID_1_"
-   gradientUnits="userSpaceOnUse"
-   x1="2.2783"
-   y1="56.8423"
-   x2="110.667"
-   y2="56.8423">
-			<stop
-   offset="0"
-   style="stop-color:#FF897A"
-   id="stop4088" />
-			<stop
-   offset="1"
-   style="stop-color:#FF3400"
-   id="stop4090" />
-		</linearGradient>
-		
-	
-		
-	</defs><sodipodi:namedview
-   inkscape:window-height="970"
-   inkscape:window-width="1664"
-   inkscape:pageshadow="2"
-   inkscape:pageopacity="0.0"
-   guidetolerance="10.0"
-   gridtolerance="10.0"
-   objecttolerance="10.0"
-   borderopacity="1.0"
-   bordercolor="#666666"
-   pagecolor="#ffffff"
-   id="base"
-   showgrid="false"
-   inkscape:zoom="4.0579809"
-   inkscape:cx="36.48791"
-   inkscape:cy="53.882436"
-   inkscape:window-x="0"
-   inkscape:window-y="44"
-   inkscape:current-layer="Layer_1" />
-
-<g
-   id="g4041">
-   
-     
-     <circle
-     style="opacity:0.25;fill-rule:evenodd"
-     sodipodi:ry="54.195"
-     sodipodi:rx="54.195"
-     sodipodi:cy="59.473"
-     sodipodi:cx="60.167"
-     id="circle4083"
-     r="54.195"
-     cy="59.473"
-     cx="60.167"
-     clip-rule="evenodd" /><circle
-     sodipodi:ry="54.194"
-     sodipodi:rx="54.194"
-     sodipodi:cy="56.841999"
-     sodipodi:cx="56.473"
-     style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-opacity:1;fill-opacity:1"
-     id="circle4092"
-     r="54.194"
-     cy="56.841999"
-     cx="56.473"
-     clip-rule="evenodd" /></g>
-</svg>
\ No newline at end of file
diff --git a/resources/library/shape/blanche hexagone.svg b/resources/library/shape/blanche hexagone.svg
deleted file mode 100644
index dcffbff1..00000000
--- a/resources/library/shape/blanche hexagone.svg	
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   version="1.0"
-   id="Layer_1"
-   x="0px"
-   y="0px"
-   width="137.659px"
-   height="119.541px"
-   viewBox="0 0 137.659 119.541"
-   enable-background="new 0 0 137.659 119.541"
-   xml:space="preserve"
-   sodipodi:version="0.32"
-   inkscape:version="0.46"
-   sodipodi:docname="red_exagon.svg"
-   inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
-   id="metadata2487"><rdf:RDF><cc:Work
-       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
-         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
-   id="defs2485"><inkscape:perspective
-   sodipodi:type="inkscape:persp3d"
-   inkscape:vp_x="0 : 59.7705 : 1"
-   inkscape:vp_y="0 : 1000 : 0"
-   inkscape:vp_z="137.659 : 59.7705 : 1"
-   inkscape:persp3d-origin="68.829498 : 39.847 : 1"
-   id="perspective2489" />
-	
-	
-
-		<linearGradient
-   id="SVGID_1_"
-   gradientUnits="userSpaceOnUse"
-   x1="2.793"
-   y1="58.5303"
-   x2="130.65581"
-   y2="58.5303">
-			<stop
-   offset="0"
-   style="stop-color:#FF897A"
-   id="stop2471" />
-			<stop
-   offset="1"
-   style="stop-color:#FF3400"
-   id="stop2473" />
-		</linearGradient>
-		
-		<linearGradient
-   id="SVGID_2_"
-   gradientUnits="userSpaceOnUse"
-   x1="2.793"
-   y1="58.5303"
-   x2="130.65581"
-   y2="58.5303">
-			<stop
-   offset="0"
-   style="stop-color:#FF897A"
-   id="stop2478" />
-			<stop
-   offset="1"
-   style="stop-color:#FF3400"
-   id="stop2480" />
-		</linearGradient>
-		
-	
-		
-		
-	</defs><sodipodi:namedview
-   inkscape:window-height="970"
-   inkscape:window-width="1680"
-   inkscape:pageshadow="2"
-   inkscape:pageopacity="0.0"
-   guidetolerance="10.0"
-   gridtolerance="10.0"
-   objecttolerance="10.0"
-   borderopacity="1.0"
-   bordercolor="#666666"
-   pagecolor="#ffffff"
-   id="base"
-   showgrid="false"
-   inkscape:zoom="4.0488201"
-   inkscape:cx="20.420333"
-   inkscape:cy="59.7705"
-   inkscape:window-x="-8"
-   inkscape:window-y="-8"
-   inkscape:current-layer="Layer_1" />
-
-<g
-   id="g3884">
-   
-     
-     <polygon
-     style="opacity:0.25;fill-rule:evenodd"
-     id="polygon2464"
-     points="102.386,116.527 70.421,116.527 38.453,116.527 6.488,61.16 22.471,33.478 38.453,5.794 70.421,5.794 102.386,5.794 118.371,33.478 134.351,61.16 118.371,88.844 102.386,116.527 "
-     clip-rule="evenodd" /><polygon
-     style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;fill-opacity:1;stroke-opacity:1"
-     id="polygon2475"
-     points="98.691,113.896 66.727,113.896 34.758,113.896 2.793,58.531 18.775,30.848 34.758,3.165 66.727,3.165 98.691,3.165 114.675,30.848 130.656,58.531 114.675,86.215 98.691,113.896 "
-     clip-rule="evenodd" /></g>
-</svg>
\ No newline at end of file
diff --git a/resources/library/shape/blanche pentagone.svg b/resources/library/shape/blanche pentagone.svg
deleted file mode 100644
index 54cec831..00000000
--- a/resources/library/shape/blanche pentagone.svg	
+++ /dev/null
@@ -1,124 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   version="1.0"
-   id="Layer_1"
-   x="0px"
-   y="0px"
-   width="128.463px"
-   height="121.082px"
-   viewBox="0 0 128.463 121.082"
-   enable-background="new 0 0 128.463 121.082"
-   xml:space="preserve"
-   sodipodi:version="0.32"
-   inkscape:version="0.46"
-   sodipodi:docname="red_pentagon.svg"
-   inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
-   id="metadata3371"><rdf:RDF><cc:Work
-       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
-         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
-   id="defs3369"><inkscape:perspective
-   sodipodi:type="inkscape:persp3d"
-   inkscape:vp_x="0 : 60.541 : 1"
-   inkscape:vp_y="0 : 1000 : 0"
-   inkscape:vp_z="128.463 : 60.541 : 1"
-   inkscape:persp3d-origin="64.231499 : 40.360667 : 1"
-   id="perspective3373" />
-	
-	
-<linearGradient
-   inkscape:collect="always"
-   xlink:href="#SVGID_1_"
-   id="linearGradient3901"
-   gradientUnits="userSpaceOnUse"
-   x1="3.1147001"
-   y1="59.300301"
-   x2="121.1382"
-   y2="59.300301" /><linearGradient
-   inkscape:collect="always"
-   xlink:href="#SVGID_2_"
-   id="linearGradient3903"
-   gradientUnits="userSpaceOnUse"
-   x1="3.1147001"
-   y1="59.300301"
-   x2="121.1382"
-   y2="59.300301" />
-		<linearGradient
-   id="SVGID_1_"
-   gradientUnits="userSpaceOnUse"
-   x1="3.1147001"
-   y1="59.300301"
-   x2="121.1382"
-   y2="59.300301">
-			<stop
-   offset="0"
-   style="stop-color:#FF897A"
-   id="stop3355" />
-			<stop
-   offset="1"
-   style="stop-color:#FF3400"
-   id="stop3357" />
-		</linearGradient>
-		
-		<linearGradient
-   id="SVGID_2_"
-   gradientUnits="userSpaceOnUse"
-   x1="3.1147001"
-   y1="59.300301"
-   x2="121.1382"
-   y2="59.300301">
-			<stop
-   offset="0"
-   style="stop-color:#FF897A"
-   id="stop3362" />
-			<stop
-   offset="1"
-   style="stop-color:#FF3400"
-   id="stop3364" />
-		</linearGradient>
-		
-	
-		
-		
-	</defs><sodipodi:namedview
-   inkscape:window-height="970"
-   inkscape:window-width="1680"
-   inkscape:pageshadow="2"
-   inkscape:pageopacity="0.0"
-   guidetolerance="10.0"
-   gridtolerance="10.0"
-   objecttolerance="10.0"
-   borderopacity="1.0"
-   bordercolor="#666666"
-   pagecolor="#ffffff"
-   id="base"
-   showgrid="false"
-   inkscape:zoom="3.9972911"
-   inkscape:cx="15.198292"
-   inkscape:cy="60.541"
-   inkscape:window-x="-8"
-   inkscape:window-y="-8"
-   inkscape:current-layer="Layer_1" />
-
-<g
-   id="g3915">
-
-     
-     <polygon
-     style="opacity:0.25;fill-rule:evenodd"
-     id="polygon3348"
-     points="102.293,118.053 65.822,118.055 29.35,118.053 18.078,83.368 6.81,48.68 36.313,27.242 65.822,5.806 124.833,48.68 113.565,83.368 102.293,118.053 "
-     clip-rule="evenodd" /><polygon
-     style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;fill-opacity:1;stroke-opacity:1"
-     id="polygon3359"
-     points="98.599,115.423 62.126,115.424 25.656,115.423 14.382,80.738 3.115,46.05 32.619,24.612 62.126,3.176 121.138,46.05 109.871,80.738 98.599,115.423 "
-     clip-rule="evenodd" /></g>
-</svg>
\ No newline at end of file
diff --git a/resources/library/shape/bleu bulle gauche.svg b/resources/library/shape/bleu bulle gauche.svg
deleted file mode 100644
index 3088d9f8..00000000
--- a/resources/library/shape/bleu bulle gauche.svg	
+++ /dev/null
@@ -1,363 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" [
-	<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
-	<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
-	<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
-	<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
-	<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
-	<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
-	<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
-	<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
-]>
-<svg version="1.0" id="Layer_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="154.686px"
-	 height="138.05px" viewBox="0 0 154.686 138.05" enable-background="new 0 0 154.686 138.05" xml:space="preserve">
-<switch>
-	<foreignObject requiredExtensions="&ns_ai;" x="0" y="0" width="1" height="1">
-		<i:pgfRef  xlink:href="#adobe_illustrator_pgf">
-		</i:pgfRef>
-	</foreignObject>
-	<g i:extraneous="self">
-		<rect x="0" fill="none" width="154.686" height="138.05"/>
-		<g opacity="0.25">
-			<path d="M154.248,97.026c0,4.839-3.922,8.763-8.76,8.763H74.349v30.696l-20.107-30.696h-35.27c-4.838,0-8.763-3.924-8.763-8.763
-				V14.08c0-4.84,3.925-8.762,8.763-8.762h126.516c4.838,0,8.76,3.922,8.76,8.762V97.026z"/>
-			<path d="M154.248,97.026c0,4.839-3.922,8.763-8.76,8.763H74.349v30.696l-20.107-30.696h-35.27c-4.838,0-8.763-3.924-8.763-8.763
-				V14.08c0-4.84,3.925-8.762,8.763-8.762h126.516c4.838,0,8.76,3.922,8.76,8.762V97.026z"/>
-		</g>
-		<g>
-			<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="7.2712" y1="68.5093" x2="148.8914" y2="68.5093">
-				<stop  offset="0" style="stop-color:#7CD4FF"/>
-				<stop  offset="1" style="stop-color:#3777AE"/>
-			</linearGradient>
-			<path fill="url(#SVGID_1_)" stroke="#194E6A" d="M150.839,94.634c0,4.839-3.922,8.763-8.76,8.763h-71.14v30.696l-20.107-30.696
-				h-35.27c-4.838,0-8.76-3.924-8.76-8.763V11.688c0-4.84,3.922-8.762,8.76-8.762h126.517c4.838,0,8.76,3.922,8.76,8.762V94.634z"/>
-			<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="7.2712" y1="68.5093" x2="148.8914" y2="68.5093">
-				<stop  offset="0" style="stop-color:#7CD4FF"/>
-				<stop  offset="1" style="stop-color:#3777AE"/>
-			</linearGradient>
-			<path fill="url(#SVGID_2_)" stroke="#194E6A" d="M150.839,94.634c0,4.839-3.922,8.763-8.76,8.763h-71.14v30.696l-20.107-30.696
-				h-35.27c-4.838,0-8.76-3.924-8.76-8.763V11.688c0-4.84,3.922-8.762,8.76-8.762h126.517c4.838,0,8.76,3.922,8.76,8.762V94.634z"/>
-		</g>
-	</g>
-</switch>
-<i:pgf  id="adobe_illustrator_pgf">
-	<![CDATA[
-	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
-	]]>
-	<![CDATA[
-	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
-	]]>
-	<![CDATA[
-	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
-	]]>
-	<![CDATA[
-	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
-	]]>
-	<![CDATA[
-	hnar5w1FtNsnlfnVjmNKtKccyyv9z2EAqBcdN3Qr44HxqCEQDsOTljCbT1GDdLcofAzHjd4fQQzQ
-QfmHgh/0m88FaSYbZNJp+CONnjb6gQhuG6SjwcY4EO6mCuKsPHybDSfjnvgnmEeP7s8b7ZNyMB+U
-23ah7V4wAqOhutAaXkXR+UYXRtgNUMEC/H//V4BSOoY//sAfp/DhFzz6K8gFz4OPz1RwgNpdB7I8
-n8xyMKw0TyU5nssEvwM8wybpNM/ozxr6M57KJtMMl4Nn2nftnhm+S5gYFUydjGfBSOu21m199qbC
-zZ+pYJjLHEZ4GaCSPJejmCCVzPBZjqXxByqdzcKHHEXnMto8e8qkGXnSaCQclWaDGZpOcrkcTEx/
-RGWSmQxAzfJsksuyHDxhkjybYYPZTDaZ4WCNtCelAJ/jk2kqk9WfNfRngJQkxaEnAJ3N5ThTK45J
-0gx0bnzG8kkmx+iPeJZNshme0YelP1HGDmPQHuW4JMdxWQxJe5ZLMlmOD6qweYpNMhT8rfavPigF
-tAmqj9CiKVhQH+mIUgEbnijdlxYx3Ai82y8177LU/12r/5y1agObUUkmbRQv8M8gkAlGosH7O5Vv
-g9fAuzkW/Yd4Nk3lEMuy2SzDphEA+IfJwQd4TrHoA4u4GjE6R6cz2UzwvmBlaDaZQ/yeodlkNkdl
-MJWoz6hckkrTWZg8gARUwpM0oBOEbjaTTjJo7bQniEo46DjD688a+rM0D2hjaSz2EPxsjjW1Y7NJ
-ns6Zvwurm83SWf0Zz+SSuYw+LvVvdewwBuVJLpPMshkMRX7CUzTIOCBXDSoIvGQ6l6ODWt/aE0Qk
-yvy0Z4hKFCxozzRMadB13KkjKNnguBEo9mEri7TH4963MAh+iL3BEHa+KFo6imXSnEwIgCaWYTKG
-/Y4KFj8CNAe9MZT8d4JmATsZHuiZhWVmsmgevDy+e1hMmuGgUz5taZzgWUTImWxWb1588w66SAad
-xQLBArgfYILF4rKS7L9E+u9DpEiv+i+ZEoS4SUE0SfBGUVZmQbXFKmcigf5mZeW2JE6mUmAuCeIA
-+gym0IvxBD0974lfUvBrPPlrHBxPZsH/q6ujc7wrwI4QrNmrplQyvaic8jRnUUS/A5ksv6Cctgwq
-a4ZeVGNZTm/ZDuS0fUqDrymwBvgGpdYAn6d5taX+jOP0lkb42WzGoiB/B3KIZi1Kc8ugSuvw9Weu
-8A340eCb8KOr5Tp+9Gf2+NE//b/g8F2mAKAIef3D4WbvQ7gRe8MRmDofUu+3EOyNYdV7M2EKb4AF
-BWk2EYWg9Dn5Cz2Br6jNwWi6rAb+P1q+FA8=
-	]]>
-</i:pgf>
-</svg>
diff --git a/resources/library/shape/bleu bulle idée.svg b/resources/library/shape/bleu bulle idée.svg
deleted file mode 100644
index 0456e5a9..00000000
--- a/resources/library/shape/bleu bulle idée.svg	
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="154.685px" height="138.05px" viewBox="0 0 154.685 138.05" enable-background="new 0 0 154.685 138.05"
-	 xml:space="preserve">
-
-<g>
-	<g opacity="0.25">
-		<g>
-			<circle fill-rule="evenodd" clip-rule="evenodd" cx="88.365" cy="131.57" r="4.988"/>
-			<circle fill-rule="evenodd" clip-rule="evenodd" cx="88.365" cy="131.57" r="4.988"/>
-		</g>
-		<g>
-			<path fill-rule="evenodd" clip-rule="evenodd" d="M87.263,116.331c0-4.268,3.462-7.73,7.731-7.73c4.271,0,7.732,3.463,7.732,7.73
-				c0,4.272-3.462,7.733-7.732,7.733C90.725,124.064,87.263,120.604,87.263,116.331z"/>
-			<path fill-rule="evenodd" clip-rule="evenodd" d="M87.263,116.331c0-4.268,3.462-7.73,7.731-7.73c4.271,0,7.732,3.463,7.732,7.73
-				c0,4.272-3.462,7.733-7.732,7.733C90.725,124.064,87.263,120.604,87.263,116.331z"/>
-		</g>
-		<g>
-			<path fill-rule="evenodd" clip-rule="evenodd" d="M7.437,14.007c0-4.84,3.922-8.762,8.761-8.762h126.516
-				c4.838,0,8.76,3.922,8.76,8.762v82.946c0,4.839-3.922,8.763-8.76,8.763H16.198c-4.839,0-8.761-3.924-8.761-8.763V14.007z"/>
-			<path fill-rule="evenodd" clip-rule="evenodd" d="M7.437,14.007c0-4.84,3.922-8.762,8.761-8.762h126.516
-				c4.838,0,8.76,3.922,8.76,8.762v82.946c0,4.839-3.922,8.763-8.76,8.763H16.198c-4.839,0-8.761-3.924-8.761-8.763V14.007z"/>
-		</g>
-	</g>
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="79.7866" y1="129.1797" x2="89.7622" y2="129.1797">
-			<stop  offset="0" style="stop-color:#7CD4FF"/>
-			<stop  offset="1" style="stop-color:#3777AE"/>
-		</linearGradient>
-		<circle fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#194E6A" cx="84.774" cy="129.179" r="4.988"/>
-		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="79.7866" y1="129.1797" x2="89.7622" y2="129.1797">
-			<stop  offset="0" style="stop-color:#7CD4FF"/>
-			<stop  offset="1" style="stop-color:#3777AE"/>
-		</linearGradient>
-		<circle fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#194E6A" cx="84.774" cy="129.179" r="4.988"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="83.6724" y1="113.9404" x2="99.1362" y2="113.9404">
-			<stop  offset="0" style="stop-color:#7CD4FF"/>
-			<stop  offset="1" style="stop-color:#3777AE"/>
-		</linearGradient>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_3_)" stroke="#194E6A" d="M83.672,113.938
-			c0-4.268,3.462-7.73,7.731-7.73c4.271,0,7.732,3.463,7.732,7.73c0,4.273-3.462,7.734-7.732,7.734
-			C87.134,121.673,83.672,118.212,83.672,113.938z"/>
-		<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="83.6724" y1="113.9404" x2="99.1362" y2="113.9404">
-			<stop  offset="0" style="stop-color:#7CD4FF"/>
-			<stop  offset="1" style="stop-color:#3777AE"/>
-		</linearGradient>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_4_)" stroke="#194E6A" d="M83.672,113.938
-			c0-4.268,3.462-7.73,7.731-7.73c4.271,0,7.732,3.463,7.732,7.73c0,4.273-3.462,7.734-7.732,7.734
-			C87.134,121.673,83.672,118.212,83.672,113.938z"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="3.8462" y1="53.0879" x2="147.8823" y2="53.0879">
-			<stop  offset="0" style="stop-color:#7CD4FF"/>
-			<stop  offset="1" style="stop-color:#3777AE"/>
-		</linearGradient>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_5_)" stroke="#194E6A" d="M3.846,11.614
-			c0-4.84,3.922-8.762,8.761-8.762h126.516c4.838,0,8.76,3.922,8.76,8.762v82.947c0,4.838-3.922,8.762-8.76,8.762H12.607
-			c-4.839,0-8.761-3.924-8.761-8.762V11.614z"/>
-		<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="3.8462" y1="53.0879" x2="147.8823" y2="53.0879">
-			<stop  offset="0" style="stop-color:#7CD4FF"/>
-			<stop  offset="1" style="stop-color:#3777AE"/>
-		</linearGradient>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_6_)" stroke="#194E6A" d="M3.846,11.614
-			c0-4.84,3.922-8.762,8.761-8.762h126.516c4.838,0,8.76,3.922,8.76,8.762v82.947c0,4.838-3.922,8.762-8.76,8.762H12.607
-			c-4.839,0-8.761-3.924-8.761-8.762V11.614z"/>
-	</g>
-</g>
-</svg>
diff --git a/resources/library/shape/bleu bulle.svg b/resources/library/shape/bleu bulle.svg
deleted file mode 100644
index 128b179b..00000000
--- a/resources/library/shape/bleu bulle.svg	
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="154.685px" height="138.05px" viewBox="0 0 154.685 138.05" enable-background="new 0 0 154.685 138.05"
-	 xml:space="preserve">
-<g>
-	<g opacity="0.25">
-		<path fill-rule="evenodd" clip-rule="evenodd" d="M7.437,14.08c0-4.84,3.922-8.762,8.76-8.762h126.516
-			c4.838,0,8.762,3.922,8.762,8.762v82.946c0,4.839-3.924,8.763-8.762,8.763h-35.27l-20.107,30.696v-30.696H16.197
-			c-4.838,0-8.76-3.924-8.76-8.763V14.08z"/>
-		<path fill-rule="evenodd" clip-rule="evenodd" d="M7.437,14.08c0-4.84,3.922-8.762,8.76-8.762h126.516
-			c4.838,0,8.762,3.922,8.762,8.762v82.946c0,4.839-3.924,8.763-8.762,8.763h-35.27l-20.107,30.696v-30.696H16.197
-			c-4.838,0-8.76-3.924-8.76-8.763V14.08z"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="3.8457" y1="68.5098" x2="147.8823" y2="68.5098">
-			<stop  offset="0" style="stop-color:#7CD4FF"/>
-			<stop  offset="1" style="stop-color:#3777AE"/>
-		</linearGradient>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#194E6A" d="M3.846,11.688
-			c0-4.84,3.922-8.762,8.76-8.762h126.517c4.838,0,8.76,3.922,8.76,8.762v82.947c0,4.838-3.922,8.762-8.76,8.762h-35.27
-			l-20.107,30.697v-30.697h-71.14c-4.838,0-8.76-3.924-8.76-8.762V11.688z"/>
-		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="3.8457" y1="68.5098" x2="147.8823" y2="68.5098">
-			<stop  offset="0" style="stop-color:#7CD4FF"/>
-			<stop  offset="1" style="stop-color:#3777AE"/>
-		</linearGradient>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#194E6A" d="M3.846,11.688
-			c0-4.84,3.922-8.762,8.76-8.762h126.517c4.838,0,8.76,3.922,8.76,8.762v82.947c0,4.838-3.922,8.762-8.76,8.762h-35.27
-			l-20.107,30.697v-30.697h-71.14c-4.838,0-8.76-3.924-8.76-8.762V11.688z"/>
-	</g>
-</g>
-</svg>
diff --git a/resources/library/shape/bleu carré arr.svg b/resources/library/shape/bleu carré arr.svg
deleted file mode 100644
index 653b7dec..00000000
--- a/resources/library/shape/bleu carré arr.svg	
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="116.137px" height="115.055px" viewBox="0 0 116.137 115.055" enable-background="new 0 0 116.137 115.055"
-	 xml:space="preserve">
-
-<g>
-	<g opacity="0.25">
-		<path fill-rule="evenodd" clip-rule="evenodd" d="M5.901,31.21c0-14.409,11.679-26.088,26.088-26.088h56.389
-			c14.408,0,26.086,11.679,26.086,26.088v56.389c0,14.408-11.678,26.088-26.086,26.088H31.989c-14.409,0-26.088-11.68-26.088-26.088
-			V31.21z"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="2.3091" y1="57.0117" x2="110.8716" y2="57.0117">
-			<stop  offset="0" style="stop-color:#7CD4FF"/>
-			<stop  offset="1" style="stop-color:#3777AE"/>
-		</linearGradient>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#194E6A" d="M2.309,28.818
-			c0-14.409,11.68-26.088,26.088-26.088h56.389c14.408,0,26.086,11.679,26.086,26.088v56.388c0,14.408-11.678,26.088-26.086,26.088
-			H28.397c-14.408,0-26.088-11.68-26.088-26.088V28.818z"/>
-	</g>
-</g>
-</svg>
diff --git a/resources/library/shape/bleu carré.svg b/resources/library/shape/bleu carré.svg
deleted file mode 100644
index 6c4049bb..00000000
--- a/resources/library/shape/bleu carré.svg	
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="116.137px" height="115.055px" viewBox="0 0 116.137 115.055" enable-background="new 0 0 116.137 115.055"
-	 xml:space="preserve">
-
-<g>
-	<g opacity="0.25">
-		<rect x="5.9" y="5.122" fill-rule="evenodd" clip-rule="evenodd" width="108.563" height="108.564"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="2.3091" y1="57.0117" x2="110.8726" y2="57.0117">
-			<stop  offset="0" style="stop-color:#7CD4FF"/>
-			<stop  offset="1" style="stop-color:#3777AE"/>
-		</linearGradient>
-		
-			<rect x="2.309" y="2.729" fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#194E6A" width="108.563" height="108.564"/>
-	</g>
-</g>
-</svg>
diff --git a/resources/library/shape/bleu cylindre.svg b/resources/library/shape/bleu cylindre.svg
deleted file mode 100644
index 64d43b23..00000000
--- a/resources/library/shape/bleu cylindre.svg	
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="116.139px" height="134.172px" viewBox="0 0 116.139 134.172" enable-background="new 0 0 116.139 134.172"
-	 xml:space="preserve">
-
-<g>
-	<g opacity="0.25">
-		<ellipse fill-rule="evenodd" clip-rule="evenodd" cx="60.182" cy="24.381" rx="48.899" ry="18.583"/>
-	</g>
-	<g opacity="0.25">
-		<path fill-rule="evenodd" clip-rule="evenodd" d="M109.166,35.278v77.655l-0.169,0.613c0,10.262-21.892,18.58-48.899,18.58
-			c-27.007,0-48.898-8.318-48.898-18.58c0-0.207-0.006-0.41,0.012-0.613V35.426c8.615,6.975,27.267,11.805,48.887,11.805
-			C81.87,47.231,100.631,42.333,109.166,35.278z"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="7.6904" y1="21.9883" x2="105.4893" y2="21.9883">
-			<stop  offset="0" style="stop-color:#7CD4FF"/>
-			<stop  offset="1" style="stop-color:#3777AE"/>
-		</linearGradient>
-		
-			<ellipse fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#194E6A" cx="56.59" cy="21.989" rx="48.899" ry="18.583"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="7.6074" y1="81.3096" x2="105.5752" y2="81.3096">
-			<stop  offset="0" style="stop-color:#7CD4FF"/>
-			<stop  offset="1" style="stop-color:#3777AE"/>
-		</linearGradient>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#194E6A" d="M105.575,32.886v77.654l-0.17,0.613
-			c0,10.262-21.891,18.58-48.898,18.58s-48.898-8.318-48.898-18.58c0-0.205-0.006-0.41,0.012-0.613V33.034
-			c8.615,6.975,27.266,11.805,48.887,11.805C78.278,44.839,97.04,39.941,105.575,32.886z"/>
-	</g>
-</g>
-</svg>
diff --git a/resources/library/shape/bleu disque.svg b/resources/library/shape/bleu disque.svg
deleted file mode 100644
index ac5ddccf..00000000
--- a/resources/library/shape/bleu disque.svg	
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="116.137px" height="115.055px" viewBox="0 0 116.137 115.055" enable-background="new 0 0 116.137 115.055"
-	 xml:space="preserve">
-
-<g>
-	<g opacity="0.25">
-		<circle fill-rule="evenodd" clip-rule="evenodd" cx="60.182" cy="59.403" r="54.195"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="2.396" y1="57.0122" x2="110.7847" y2="57.0122">
-			<stop  offset="0" style="stop-color:#7CD4FF"/>
-			<stop  offset="1" style="stop-color:#3777AE"/>
-		</linearGradient>
-		<circle fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#194E6A" cx="56.59" cy="57.012" r="54.194"/>
-	</g>
-</g>
-</svg>
diff --git a/resources/library/shape/bleu flèche bas.svg b/resources/library/shape/bleu flèche bas.svg
deleted file mode 100644
index 7613a3f2..00000000
--- a/resources/library/shape/bleu flèche bas.svg	
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="97.773px" height="118.167px" viewBox="0 0 97.773 118.167" enable-background="new 0 0 97.773 118.167"
-	 xml:space="preserve">
-<g>
-	<g opacity="0.25">
-		<path fill-rule="evenodd" clip-rule="evenodd" d="M36.547,64.229V7.991c0-1.237,1.086-2.325,2.325-2.325h25.252
-			c1.236,0,2.326,1.088,2.326,2.325v56.238h26.146c2.491,0,3.392,1.99,1.746,3.861l-41.596,47.34c-0.965,1.099-2.531,1.099-3.496,0
-			L7.655,68.09c-1.645-1.871-0.745-3.861,1.746-3.861H36.547z"/>
-		<path fill-rule="evenodd" clip-rule="evenodd" d="M36.547,64.229V7.991c0-1.237,1.086-2.325,2.325-2.325h25.252
-			c1.236,0,2.326,1.088,2.326,2.325v56.238h26.146c2.491,0,3.392,1.99,1.746,3.861l-41.596,47.34c-0.965,1.099-2.531,1.099-3.496,0
-			L7.655,68.09c-1.645-1.871-0.745-3.861,1.746-3.861H36.547z"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="3.2305" y1="58.5679" x2="91.5854" y2="58.5679">
-			<stop  offset="0" style="stop-color:#7CD4FF"/>
-			<stop  offset="1" style="stop-color:#3777AE"/>
-		</linearGradient>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#194E6A" d="M32.956,61.836V5.598
-			c0-1.236,1.086-2.324,2.326-2.324h25.252c1.236,0,2.326,1.088,2.326,2.324v56.238h26.146c2.49,0,3.391,1.99,1.746,3.861
-			l-41.596,47.34c-0.965,1.1-2.531,1.1-3.496,0L4.063,65.698c-1.645-1.871-0.744-3.861,1.746-3.861H32.956z"/>
-		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="3.2305" y1="58.5679" x2="91.5854" y2="58.5679">
-			<stop  offset="0" style="stop-color:#7CD4FF"/>
-			<stop  offset="1" style="stop-color:#3777AE"/>
-		</linearGradient>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#194E6A" d="M32.956,61.836V5.598
-			c0-1.236,1.086-2.324,2.326-2.324h25.252c1.236,0,2.326,1.088,2.326,2.324v56.238h26.146c2.49,0,3.391,1.99,1.746,3.861
-			l-41.596,47.34c-0.965,1.1-2.531,1.1-3.496,0L4.063,65.698c-1.645-1.871-0.744-3.861,1.746-3.861H32.956z"/>
-	</g>
-</g>
-</svg>
diff --git a/resources/library/shape/bleu hexagone.svg b/resources/library/shape/bleu hexagone.svg
deleted file mode 100644
index 86b78cff..00000000
--- a/resources/library/shape/bleu hexagone.svg	
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="136.857px" height="120.909px" viewBox="0 0 136.857 120.909" enable-background="new 0 0 136.857 120.909"
-	 xml:space="preserve">
-
-<g>
-	<g opacity="0.25">
-		<polygon fill-rule="evenodd" clip-rule="evenodd" points="102.508,117.698 70.543,117.698 38.575,117.698 6.61,62.332 
-			22.593,34.648 38.575,6.966 70.543,6.966 102.508,6.966 118.492,34.648 134.473,62.332 118.492,90.015 		"/>
-		<polygon fill-rule="evenodd" clip-rule="evenodd" points="102.508,117.698 70.543,117.698 38.575,117.698 6.61,62.332 
-			22.593,34.648 38.575,6.966 70.543,6.966 102.508,6.966 118.492,34.648 134.473,62.332 118.492,90.015 		"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="3.0195" y1="59.9395" x2="130.8809" y2="59.9395">
-			<stop  offset="0" style="stop-color:#7CD4FF"/>
-			<stop  offset="1" style="stop-color:#3777AE"/>
-		</linearGradient>
-		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#194E6A" points="98.916,115.306 66.951,115.306 
-			34.984,115.306 3.02,59.939 19.002,32.257 34.984,4.573 66.951,4.573 98.916,4.573 114.9,32.257 130.881,59.939 114.9,87.623 		
-			"/>
-		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="3.0195" y1="59.9395" x2="130.8809" y2="59.9395">
-			<stop  offset="0" style="stop-color:#7CD4FF"/>
-			<stop  offset="1" style="stop-color:#3777AE"/>
-		</linearGradient>
-		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#194E6A" points="98.916,115.306 66.951,115.306 
-			34.984,115.306 3.02,59.939 19.002,32.257 34.984,4.573 66.951,4.573 98.916,4.573 114.9,32.257 130.881,59.939 114.9,87.623 		
-			"/>
-	</g>
-</g>
-</svg>
diff --git a/resources/library/shape/bleu pentagone.svg b/resources/library/shape/bleu pentagone.svg
deleted file mode 100644
index d6b50746..00000000
--- a/resources/library/shape/bleu pentagone.svg	
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="127.943px" height="121.595px" viewBox="0 0 127.943 121.595" enable-background="new 0 0 127.943 121.595"
-	 xml:space="preserve">
-
-<g>
-	<g opacity="0.25">
-		<polygon fill-rule="evenodd" clip-rule="evenodd" points="102.557,118.798 66.084,118.8 29.613,118.798 18.34,84.112 
-			7.073,49.425 36.576,27.985 66.084,6.55 125.096,49.425 113.828,84.112 		"/>
-		<polygon fill-rule="evenodd" clip-rule="evenodd" points="102.557,118.798 66.084,118.8 29.613,118.798 18.34,84.112 
-			7.073,49.425 36.576,27.985 66.084,6.55 125.096,49.425 113.828,84.112 		"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="3.4819" y1="60.2827" x2="121.5059" y2="60.2827">
-			<stop  offset="0" style="stop-color:#7CD4FF"/>
-			<stop  offset="1" style="stop-color:#3777AE"/>
-		</linearGradient>
-		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#194E6A" points="98.965,116.405 62.494,116.407 
-			26.021,116.405 14.75,81.72 3.482,47.032 32.984,25.594 62.494,4.158 121.506,47.032 110.236,81.72 		"/>
-		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="3.4819" y1="60.2827" x2="121.5059" y2="60.2827">
-			<stop  offset="0" style="stop-color:#7CD4FF"/>
-			<stop  offset="1" style="stop-color:#3777AE"/>
-		</linearGradient>
-		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#194E6A" points="98.965,116.405 62.494,116.407 
-			26.021,116.405 14.75,81.72 3.482,47.032 32.984,25.594 62.494,4.158 121.506,47.032 110.236,81.72 		"/>
-	</g>
-</g>
-</svg>
diff --git a/resources/library/shape/bleu rectangle arr.svg b/resources/library/shape/bleu rectangle arr.svg
deleted file mode 100644
index 69465107..00000000
--- a/resources/library/shape/bleu rectangle arr.svg	
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="157.533px" height="112.898px" viewBox="0 0 157.533 112.898" enable-background="new 0 0 157.533 112.898"
-	 xml:space="preserve">
-
-<g>
-	<g opacity="0.25">
-		<path fill-rule="evenodd" clip-rule="evenodd" d="M9.633,17.481c0-4.787,3.88-8.668,8.668-8.668h125.167
-			c4.787,0,8.668,3.881,8.668,8.668v82.062c0,4.788-3.881,8.671-8.668,8.671H18.302c-4.788,0-8.668-3.883-8.668-8.671V17.481z"/>
-		<path fill-rule="evenodd" clip-rule="evenodd" d="M9.633,17.481c0-4.787,3.88-8.668,8.668-8.668h125.167
-			c4.787,0,8.668,3.881,8.668,8.668v82.062c0,4.788-3.881,8.671-8.668,8.671H18.302c-4.788,0-8.668-3.883-8.668-8.671V17.481z"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="6.0166" y1="54.7896" x2="148.52" y2="54.7896">
-			<stop  offset="0" style="stop-color:#7CD4FF"/>
-			<stop  offset="1" style="stop-color:#3777AE"/>
-		</linearGradient>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#194E6A" d="M6.017,13.758
-			c0-4.786,3.88-8.668,8.668-8.668h125.167c4.787,0,8.668,3.882,8.668,8.668v82.064c0,4.787-3.881,8.666-8.668,8.666H14.685
-			c-4.788,0-8.668-3.879-8.668-8.666V13.758z"/>
-		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="6.0166" y1="54.7896" x2="148.52" y2="54.7896">
-			<stop  offset="0" style="stop-color:#7CD4FF"/>
-			<stop  offset="1" style="stop-color:#3777AE"/>
-		</linearGradient>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#194E6A" d="M6.017,13.758
-			c0-4.786,3.88-8.668,8.668-8.668h125.167c4.787,0,8.668,3.882,8.668,8.668v82.064c0,4.787-3.881,8.666-8.668,8.666H14.685
-			c-4.788,0-8.668-3.879-8.668-8.666V13.758z"/>
-	</g>
-</g>
-</svg>
diff --git a/resources/library/shape/bleu rectangle.svg b/resources/library/shape/bleu rectangle.svg
deleted file mode 100644
index 6e74c4b1..00000000
--- a/resources/library/shape/bleu rectangle.svg	
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="157.533px" height="112.898px" viewBox="0 0 157.533 112.898" enable-background="new 0 0 157.533 112.898"
-	 xml:space="preserve">
-<g>
-	<g opacity="0.25">
-		<g>
-			<polygon points="10.126,8.483 152.763,8.483 152.763,108.233 10.126,108.233 10.126,8.483 			"/>
-			<path d="M81.445,58.358"/>
-		</g>
-		<g>
-			<polygon points="10.126,8.483 152.763,8.483 152.763,108.233 10.126,108.233 10.126,8.483 			"/>
-			<path d="M81.445,58.358"/>
-		</g>
-	</g>
-	<g>
-		<g>
-			<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="6.5093" y1="54.6367" x2="149.146" y2="54.6367">
-				<stop  offset="0" style="stop-color:#7CD4FF"/>
-				<stop  offset="1" style="stop-color:#3777AE"/>
-			</linearGradient>
-			<polygon fill="url(#SVGID_1_)" stroke="#194E6A" points="6.509,4.762 149.146,4.762 149.146,104.511 6.509,104.511 6.509,4.762 
-							"/>
-			<path fill="#999999" d="M77.828,54.635"/>
-		</g>
-		<g>
-			<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="6.5093" y1="54.6367" x2="149.146" y2="54.6367">
-				<stop  offset="0" style="stop-color:#7CD4FF"/>
-				<stop  offset="1" style="stop-color:#3777AE"/>
-			</linearGradient>
-			<polygon fill="url(#SVGID_2_)" stroke="#194E6A" points="6.509,4.762 149.146,4.762 149.146,104.511 6.509,104.511 6.509,4.762 
-							"/>
-			<path fill="none" stroke="#000000" stroke-miterlimit="3.8637" d="M77.828,54.635"/>
-		</g>
-	</g>
-</g>
-
-</svg>
diff --git a/resources/library/shape/bleu triangle arr.svg b/resources/library/shape/bleu triangle arr.svg
deleted file mode 100644
index c32a4f8f..00000000
--- a/resources/library/shape/bleu triangle arr.svg	
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="138.629px" height="121.897px" viewBox="0 0 138.629 121.897" enable-background="new 0 0 138.629 121.897"
-	 xml:space="preserve">
-
-<g>
-	<g opacity="0.25">
-		<path fill-rule="evenodd" clip-rule="evenodd" d="M71.427,120.692l-58.237-0.001c-6.572-0.001-9.401-4.899-6.115-10.592
-			l29.118-50.437l29.12-50.435c3.286-5.692,8.944-5.692,12.23,0l29.12,50.435l29.117,50.437c3.287,5.692,0.457,10.591-6.114,10.592
-			L71.427,120.692z"/>
-		<path fill-rule="evenodd" clip-rule="evenodd" d="M71.427,120.692l-58.237-0.001c-6.572-0.001-9.401-4.899-6.115-10.592
-			l29.118-50.437l29.12-50.435c3.286-5.692,8.944-5.692,12.23,0l29.12,50.435l29.117,50.437c3.287,5.692,0.457,10.591-6.114,10.592
-			L71.427,120.692z"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="2.1089" y1="60.4336" x2="133.5645" y2="60.4336">
-			<stop  offset="0" style="stop-color:#7CD4FF"/>
-			<stop  offset="1" style="stop-color:#3777AE"/>
-		</linearGradient>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#194E6A" d="M67.836,118.3l-58.237-0.002
-			c-6.572,0-9.401-4.898-6.115-10.592l29.118-50.436l29.12-50.435c3.286-5.692,8.944-5.692,12.23,0l29.12,50.435l29.117,50.436
-			c3.287,5.693,0.457,10.592-6.114,10.592L67.836,118.3z"/>
-		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="2.1089" y1="60.4336" x2="133.5645" y2="60.4336">
-			<stop  offset="0" style="stop-color:#7CD4FF"/>
-			<stop  offset="1" style="stop-color:#3777AE"/>
-		</linearGradient>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#194E6A" d="M67.836,118.3l-58.237-0.002
-			c-6.572,0-9.401-4.898-6.115-10.592l29.118-50.436l29.12-50.435c3.286-5.692,8.944-5.692,12.23,0l29.12,50.435l29.117,50.436
-			c3.287,5.693,0.457,10.592-6.114,10.592L67.836,118.3z"/>
-	</g>
-</g>
-</svg>
diff --git a/resources/library/shape/bleu triangle.svg b/resources/library/shape/bleu triangle.svg
deleted file mode 100644
index 18ee0141..00000000
--- a/resources/library/shape/bleu triangle.svg	
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="138.629px" height="121.897px" viewBox="0 0 138.629 121.897" enable-background="new 0 0 138.629 121.897"
-	 xml:space="preserve">
-
-<g>
-	<g opacity="0.25">
-		<polygon fill-rule="evenodd" clip-rule="evenodd" points="136.192,118.913 71.427,118.915 6.662,118.913 39.042,62.824 
-			71.427,6.737 103.812,62.824 		"/>
-		<polygon fill-rule="evenodd" clip-rule="evenodd" points="136.192,118.913 71.427,118.915 6.662,118.913 39.042,62.824 
-			71.427,6.737 103.812,62.824 		"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="3.0713" y1="60.4336" x2="132.6006" y2="60.4336">
-			<stop  offset="0" style="stop-color:#7CD4FF"/>
-			<stop  offset="1" style="stop-color:#3777AE"/>
-		</linearGradient>
-		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#194E6A" points="132.601,116.521 
-			67.836,116.523 3.071,116.521 35.452,60.431 67.836,4.344 100.22,60.431 		"/>
-		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="3.0713" y1="60.4336" x2="132.6006" y2="60.4336">
-			<stop  offset="0" style="stop-color:#7CD4FF"/>
-			<stop  offset="1" style="stop-color:#3777AE"/>
-		</linearGradient>
-		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#194E6A" points="132.601,116.521 
-			67.836,116.523 3.071,116.521 35.452,60.431 67.836,4.344 100.22,60.431 		"/>
-	</g>
-</g>
-</svg>
diff --git a/resources/library/shape/gris bulle gauche.svg b/resources/library/shape/gris bulle gauche.svg
deleted file mode 100644
index e51ee4ac..00000000
--- a/resources/library/shape/gris bulle gauche.svg	
+++ /dev/null
@@ -1,361 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" [
-	<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
-	<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
-	<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
-	<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
-	<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
-	<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
-	<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
-	<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
-]>
-<svg version="1.0" id="Layer_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="153.178px"
-	 height="138.27px" viewBox="0 0 153.178 138.27" enable-background="new 0 0 153.178 138.27" xml:space="preserve">
-<switch>
-	<foreignObject requiredExtensions="&ns_ai;" x="0" y="0" width="1" height="1">
-		<i:pgfRef  xlink:href="#adobe_illustrator_pgf">
-		</i:pgfRef>
-	</foreignObject>
-	<g i:extraneous="self">
-		<rect y="0" fill="none" width="153.178" height="138.27"/>
-		<g opacity="0.25">
-			<path d="M153.206,97.671c0,4.838-3.922,8.762-8.76,8.762h-71.14v30.697L53.2,106.434H17.93c-4.839,0-8.761-3.924-8.761-8.762
-				V14.725c0-4.84,3.922-8.762,8.761-8.762h126.517c4.838,0,8.76,3.922,8.76,8.762V97.671z"/>
-			<path d="M153.206,97.671c0,4.838-3.922,8.762-8.76,8.762h-71.14v30.697L53.2,106.434H17.93c-4.839,0-8.761-3.924-8.761-8.762
-				V14.725c0-4.84,3.922-8.762,8.761-8.762h126.517c4.838,0,8.76,3.922,8.76,8.762V97.671z"/>
-		</g>
-		<g>
-			<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5.7461" y1="69.2712" x2="149.2666" y2="69.2712">
-				<stop  offset="0" style="stop-color:#BEBEBE"/>
-				<stop  offset="1" style="stop-color:#6A6A6A"/>
-			</linearGradient>
-			<path fill="url(#SVGID_1_)" stroke="#414141" d="M150.644,95.468c0,4.853-3.934,8.789-8.785,8.789H70.518v30.783l-20.166-30.783
-				H14.982c-4.851,0-8.785-3.935-8.785-8.789V12.287c0-4.854,3.933-8.785,8.785-8.785h126.876c4.852,0,8.785,3.931,8.785,8.785
-				V95.468z"/>
-			<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5.7461" y1="69.2712" x2="149.2666" y2="69.2712">
-				<stop  offset="0" style="stop-color:#BEBEBE"/>
-				<stop  offset="1" style="stop-color:#6A6A6A"/>
-			</linearGradient>
-			<path fill="url(#SVGID_2_)" stroke="#414141" d="M150.644,95.468c0,4.853-3.934,8.789-8.785,8.789H70.518v30.783l-20.166-30.783
-				H14.982c-4.851,0-8.785-3.935-8.785-8.789V12.287c0-4.854,3.933-8.785,8.785-8.785h126.876c4.852,0,8.785,3.931,8.785,8.785
-				V95.468z"/>
-		</g>
-	</g>
-</switch>
-<i:pgf  id="adobe_illustrator_pgf">
-	<![CDATA[
-	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
-	]]>
-	<![CDATA[
-	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
-	]]>
-	<![CDATA[
-	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
-	]]>
-	<![CDATA[
-	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
-	]]>
-	<![CDATA[
-	9IHO5PPgQ4FmClljnoI2aVadNBwxw+RYKsuAllmuoM1MfUZnUwybpfI5LsUUMhx4wKZYmmWofDaf
-4jI53nxSCeUKuRTL5PLms5b5LJNjUhmaL8BnCDyjQ2MQQngmlefpvO0ZB5BJs+ajHMcB7NKMNq6M
-5QEaPFuAozCeFSCOaRWS8SyfysHfqZBzAHI2x4Al1Ls3nlRCxhSNZ3B9NUQYz0xcqaAt37XuKxgc
-t0Lv+NXOeaz2v8v1P2q5uoDZ6BSbsQoZ8J9hKEtFY9T9nc691HUIMiyfQYxLcwUWsnKmwDKZHPjA
-A0ZmeQRJ43Lnh/uSk635VCbD58AcAAqyOUQm+iMgcziGh5MHnbEMXCA+xeWA5M1nM6lctpAxn0A6
-4VM8m8+Zz1rmswzAcKYAgEI64VNslrW34/KpfIHL2p/xKZrnzEc5jk4xdJ7XBoYIRX+ijR7Sif6o
-kE1xfA71qD/L0YxOchA2FKuZFMOBbcQYgPEEUoo2SeMZpBQNFcYzA10qcMhEBgL1IVQW8dwKlQdg
-T4t2JxPhWxxSH5IwHIEtMEYlaUDEYHqcSgypQoHLFKw7H02VP0IMDxDK0irFJBkuk8pweTAstpDK
-ZnKQB3Lq+O7BigJgYGhZZ+NkjgPUDAiDM5uX3/yDLpNBI44CEsEGeBBiqXJ5WYH2L6H+RxEqVLL+
-JVWSMLepizZJ3iqrqi1QdJECmkzC75yq6lak6UwOzWVRGoI+qTR8MZnCp+eC9CVTX5PpXxNqMlWo
-/20qp3O0O4CdgWrgFVWwQ2BUVYZ3qJvfoWw+t6CCdiyKaZbRW5rPAIEaLbuhgrFfGfAtqrAB36LO
-WuDnmJze0nzG82ZLK/x8PutQq79DBYZbULU7FgXchG8+84RvwY8B34YfU5k38WM+w+PH/PR/qNG7
-SgGAItT1j0Tawod4IwmjMTB8PmTht0gJE7DqgiLOwBvAg6KsTCWRkj+nf8En4Cd6c2BCXdZD/w/b
-zTvm
-	]]>
-</i:pgf>
-</svg>
diff --git a/resources/library/shape/gris bulle idée.svg b/resources/library/shape/gris bulle idée.svg
deleted file mode 100644
index d3008f6e..00000000
--- a/resources/library/shape/gris bulle idée.svg	
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="153.178px" height="138.27px" viewBox="0 0 153.178 138.27" enable-background="new 0 0 153.178 138.27"
-	 xml:space="preserve">
-
-<g>
-	<g opacity="0.25">
-		<g>
-			<circle fill-rule="evenodd" clip-rule="evenodd" cx="87.277" cy="131.214" r="4.988"/>
-			<circle fill-rule="evenodd" clip-rule="evenodd" cx="87.277" cy="131.214" r="4.988"/>
-		</g>
-		<g>
-			<path fill-rule="evenodd" clip-rule="evenodd" d="M86.175,115.975c0-4.268,3.462-7.73,7.731-7.73c4.271,0,7.732,3.463,7.732,7.73
-				c0,4.272-3.462,7.733-7.732,7.733C89.637,123.708,86.175,120.248,86.175,115.975z"/>
-			<path fill-rule="evenodd" clip-rule="evenodd" d="M86.175,115.975c0-4.268,3.462-7.73,7.731-7.73c4.271,0,7.732,3.463,7.732,7.73
-				c0,4.272-3.462,7.733-7.732,7.733C89.637,123.708,86.175,120.248,86.175,115.975z"/>
-		</g>
-		<g>
-			<path fill-rule="evenodd" clip-rule="evenodd" d="M6.349,13.651c0-4.84,3.922-8.762,8.761-8.762h126.516
-				c4.838,0,8.76,3.922,8.76,8.762v82.946c0,4.839-3.922,8.763-8.76,8.763H15.109c-4.839,0-8.761-3.924-8.761-8.763V13.651z"/>
-			<path fill-rule="evenodd" clip-rule="evenodd" d="M6.349,13.651c0-4.84,3.922-8.762,8.761-8.762h126.516
-				c4.838,0,8.76,3.922,8.76,8.762v82.946c0,4.839-3.922,8.763-8.76,8.763H15.109c-4.839,0-8.761-3.924-8.761-8.763V13.651z"/>
-		</g>
-	</g>
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="79.584" y1="130.1138" x2="89.5879" y2="130.1138">
-			<stop  offset="0" style="stop-color:#BEBEBE"/>
-			<stop  offset="1" style="stop-color:#6A6A6A"/>
-		</linearGradient>
-		<circle fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#414141" cx="84.586" cy="130.112" r="5.002"/>
-		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="79.584" y1="130.1138" x2="89.5879" y2="130.1138">
-			<stop  offset="0" style="stop-color:#BEBEBE"/>
-			<stop  offset="1" style="stop-color:#6A6A6A"/>
-		</linearGradient>
-		<circle fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#414141" cx="84.586" cy="130.112" r="5.002"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="83.4805" y1="114.8296" x2="98.9883" y2="114.8296">
-			<stop  offset="0" style="stop-color:#BEBEBE"/>
-			<stop  offset="1" style="stop-color:#6A6A6A"/>
-		</linearGradient>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_3_)" stroke="#414141" d="M83.48,114.829
-			c0-4.279,3.471-7.752,7.754-7.752c4.282,0,7.754,3.473,7.754,7.752c0,4.285-3.472,7.754-7.754,7.754
-			C86.951,122.583,83.48,119.114,83.48,114.829z"/>
-		<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="83.4805" y1="114.8296" x2="98.9883" y2="114.8296">
-			<stop  offset="0" style="stop-color:#BEBEBE"/>
-			<stop  offset="1" style="stop-color:#6A6A6A"/>
-		</linearGradient>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_4_)" stroke="#414141" d="M83.48,114.829
-			c0-4.279,3.471-7.752,7.754-7.752c4.282,0,7.754,3.473,7.754,7.752c0,4.285-3.472,7.754-7.754,7.754
-			C86.951,122.583,83.48,119.114,83.48,114.829z"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="3.4277" y1="53.8062" x2="147.873" y2="53.8062">
-			<stop  offset="0" style="stop-color:#BEBEBE"/>
-			<stop  offset="1" style="stop-color:#6A6A6A"/>
-		</linearGradient>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_5_)" stroke="#414141" d="M3.428,12.213
-			c0-4.854,3.933-8.785,8.785-8.785h126.875c4.853,0,8.785,3.932,8.785,8.785v83.182c0,4.854-3.933,8.789-8.785,8.789H12.213
-			c-4.853,0-8.785-3.936-8.785-8.789V12.213z"/>
-		<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="3.4277" y1="53.8062" x2="147.873" y2="53.8062">
-			<stop  offset="0" style="stop-color:#BEBEBE"/>
-			<stop  offset="1" style="stop-color:#6A6A6A"/>
-		</linearGradient>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_6_)" stroke="#414141" d="M3.428,12.213
-			c0-4.854,3.933-8.785,8.785-8.785h126.875c4.853,0,8.785,3.932,8.785,8.785v83.182c0,4.854-3.933,8.789-8.785,8.789H12.213
-			c-4.853,0-8.785-3.936-8.785-8.789V12.213z"/>
-	</g>
-</g>
-</svg>
diff --git a/resources/library/shape/gris bulle.svg b/resources/library/shape/gris bulle.svg
deleted file mode 100644
index 21f254f0..00000000
--- a/resources/library/shape/gris bulle.svg	
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="153.178px" height="138.27px" viewBox="0 0 153.178 138.27" enable-background="new 0 0 153.178 138.27"
-	 xml:space="preserve">
-
-<g>
-	<g opacity="0.25">
-		<path fill-rule="evenodd" clip-rule="evenodd" d="M6.606,13.725c0-4.84,3.922-8.762,8.76-8.762h126.517
-			c4.838,0,8.761,3.922,8.761,8.762v82.947c0,4.838-3.923,8.762-8.761,8.762h-35.27L86.506,136.13v-30.697h-71.14
-			c-4.838,0-8.76-3.924-8.76-8.762V13.725z"/>
-		<path fill-rule="evenodd" clip-rule="evenodd" d="M6.606,13.725c0-4.84,3.922-8.762,8.76-8.762h126.517
-			c4.838,0,8.761,3.922,8.761,8.762v82.947c0,4.838-3.923,8.762-8.761,8.762h-35.27L86.506,136.13v-30.697h-71.14
-			c-4.838,0-8.76-3.924-8.76-8.762V13.725z"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="3.1689" y1="69.271" x2="147.6152" y2="69.271">
-			<stop  offset="0" style="stop-color:#BEBEBE"/>
-			<stop  offset="1" style="stop-color:#6A6A6A"/>
-		</linearGradient>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#414141" d="M3.169,12.287
-			c0-4.854,3.934-8.785,8.785-8.785H138.83c4.852,0,8.785,3.932,8.785,8.785v83.181c0,4.854-3.934,8.789-8.785,8.789h-35.369
-			l-20.166,30.783v-30.783H11.954c-4.852,0-8.785-3.936-8.785-8.789V12.287z"/>
-		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="3.1689" y1="69.271" x2="147.6152" y2="69.271">
-			<stop  offset="0" style="stop-color:#BEBEBE"/>
-			<stop  offset="1" style="stop-color:#6A6A6A"/>
-		</linearGradient>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#414141" d="M3.169,12.287
-			c0-4.854,3.934-8.785,8.785-8.785H138.83c4.852,0,8.785,3.932,8.785,8.785v83.181c0,4.854-3.934,8.789-8.785,8.789h-35.369
-			l-20.166,30.783v-30.783H11.954c-4.852,0-8.785-3.936-8.785-8.789V12.287z"/>
-	</g>
-</g>
-</svg>
diff --git a/resources/library/shape/gris carré arr.svg b/resources/library/shape/gris carré arr.svg
deleted file mode 100644
index 3deb4bf0..00000000
--- a/resources/library/shape/gris carré arr.svg	
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="116.462px" height="115.054px" viewBox="0 0 116.462 115.054" enable-background="new 0 0 116.462 115.054"
-	 xml:space="preserve">
-
-<g>
-	<g opacity="0.25">
-		<path fill-rule="evenodd" clip-rule="evenodd" d="M5.463,31.209c0-14.409,11.679-26.088,26.088-26.088h56.388
-			c14.408,0,26.086,11.679,26.086,26.088v56.388c0,14.408-11.678,26.088-26.086,26.088H31.551c-14.409,0-26.088-11.68-26.088-26.088
-			V31.209z"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="3.0713" y1="57.167" x2="111.9429" y2="57.167">
-			<stop  offset="0" style="stop-color:#BEBEBE"/>
-			<stop  offset="1" style="stop-color:#6A6A6A"/>
-		</linearGradient>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#414141" d="M3.071,28.893
-			c0-14.449,11.711-26.161,26.162-26.161h56.549c14.449,0,26.16,11.712,26.16,26.161V85.44c0,14.449-11.711,26.162-26.16,26.162
-			H29.233c-14.451,0-26.162-11.713-26.162-26.162V28.893z"/>
-	</g>
-</g>
-</svg>
diff --git a/resources/library/shape/gris carré.svg b/resources/library/shape/gris carré.svg
deleted file mode 100644
index f1c4af86..00000000
--- a/resources/library/shape/gris carré.svg	
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="116.462px" height="115.054px" viewBox="0 0 116.462 115.054" enable-background="new 0 0 116.462 115.054"
-	 xml:space="preserve">
-
-<g>
-	<g opacity="0.25">
-		<rect x="5.696" y="5.121" fill-rule="evenodd" clip-rule="evenodd" width="108.563" height="108.563"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="2.8374" y1="57.167" x2="111.7095" y2="57.167">
-			<stop  offset="0" style="stop-color:#BEBEBE"/>
-			<stop  offset="1" style="stop-color:#6A6A6A"/>
-		</linearGradient>
-		
-			<rect x="2.837" y="2.731" fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#414141" width="108.872" height="108.871"/>
-	</g>
-</g>
-</svg>
diff --git a/resources/library/shape/gris cylindre.svg b/resources/library/shape/gris cylindre.svg
deleted file mode 100644
index bb733e24..00000000
--- a/resources/library/shape/gris cylindre.svg	
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="109.295px" height="133.251px" viewBox="0 0 109.295 133.251" enable-background="new 0 0 109.295 133.251"
-	 xml:space="preserve">
-
-<g>
-	<g opacity="0.25">
-		<ellipse fill-rule="evenodd" clip-rule="evenodd" cx="55.932" cy="23.934" rx="48.9" ry="18.583"/>
-	</g>
-	<g opacity="0.25">
-		<path fill-rule="evenodd" clip-rule="evenodd" d="M104.917,34.83v77.655l-0.169,0.612c0,10.262-21.892,18.581-48.9,18.581
-			c-27.007,0-48.898-8.319-48.898-18.581c0-0.206-0.006-0.409,0.012-0.612V34.978c8.615,6.976,27.267,11.806,48.887,11.806
-			C77.621,46.783,96.382,41.885,104.917,34.83z"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5.0962" y1="21.5693" x2="103.1729" y2="21.5693">
-			<stop  offset="0" style="stop-color:#BEBEBE"/>
-			<stop  offset="1" style="stop-color:#6A6A6A"/>
-		</linearGradient>
-		
-			<ellipse fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#414141" cx="54.135" cy="21.57" rx="49.038" ry="18.636"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5.0132" y1="81.0586" x2="103.2588" y2="81.0586">
-			<stop  offset="0" style="stop-color:#BEBEBE"/>
-			<stop  offset="1" style="stop-color:#6A6A6A"/>
-		</linearGradient>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#414141" d="M103.259,32.497v77.877l-0.17,0.613
-			c0,10.291-21.953,18.634-49.038,18.634c-27.084,0-49.037-8.343-49.037-18.634c0-0.205-0.006-0.41,0.01-0.613V32.646
-			c8.641,6.995,27.346,11.839,49.027,11.839C75.886,44.484,94.698,39.572,103.259,32.497z"/>
-	</g>
-</g>
-</svg>
diff --git a/resources/library/shape/gris disque.svg b/resources/library/shape/gris disque.svg
deleted file mode 100644
index c31865d6..00000000
--- a/resources/library/shape/gris disque.svg	
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="116.462px" height="115.054px" viewBox="0 0 116.462 115.054" enable-background="new 0 0 116.462 115.054"
-	 xml:space="preserve">
-
-<g>
-	<g opacity="0.25">
-		<circle fill-rule="evenodd" clip-rule="evenodd" cx="60.236" cy="59.402" r="54.195"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="2.6655" y1="57.167" x2="111.3628" y2="57.167">
-			<stop  offset="0" style="stop-color:#BEBEBE"/>
-			<stop  offset="1" style="stop-color:#6A6A6A"/>
-		</linearGradient>
-		<circle fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#414141" cx="57.014" cy="57.166" r="54.349"/>
-	</g>
-</g>
-</svg>
diff --git a/resources/library/shape/gris hexagone.svg b/resources/library/shape/gris hexagone.svg
deleted file mode 100644
index 4e6dfcf7..00000000
--- a/resources/library/shape/gris hexagone.svg	
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="133.428px" height="118.852px" viewBox="0 0 133.428 118.852" enable-background="new 0 0 133.428 118.852"
-	 xml:space="preserve">
-
-<g>
-	<g opacity="0.25">
-		<polygon fill-rule="evenodd" clip-rule="evenodd" points="99.986,116.443 68.022,116.443 36.054,116.443 4.089,61.077 
-			20.072,33.394 36.054,5.71 68.022,5.71 99.986,5.71 115.971,33.394 131.951,61.077 115.971,88.759 		"/>
-		<polygon fill-rule="evenodd" clip-rule="evenodd" points="99.986,116.443 68.022,116.443 36.054,116.443 4.089,61.077 
-			20.072,33.394 36.054,5.71 68.022,5.71 99.986,5.71 115.971,33.394 131.951,61.077 115.971,88.759 		"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="2.1108" y1="59.2944" x2="130.3359" y2="59.2944">
-			<stop  offset="0" style="stop-color:#BEBEBE"/>
-			<stop  offset="1" style="stop-color:#6A6A6A"/>
-		</linearGradient>
-		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#414141" points="98.281,114.818 66.226,114.818 
-			34.166,114.818 2.111,59.294 18.138,31.533 34.166,3.771 66.226,3.771 98.281,3.771 114.311,31.533 130.336,59.294 
-			114.311,87.056 		"/>
-		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="2.1108" y1="59.2944" x2="130.3359" y2="59.2944">
-			<stop  offset="0" style="stop-color:#BEBEBE"/>
-			<stop  offset="1" style="stop-color:#6A6A6A"/>
-		</linearGradient>
-		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#414141" points="98.281,114.818 66.226,114.818 
-			34.166,114.818 2.111,59.294 18.138,31.533 34.166,3.771 66.226,3.771 98.281,3.771 114.311,31.533 130.336,59.294 
-			114.311,87.056 		"/>
-	</g>
-</g>
-</svg>
diff --git a/resources/library/shape/gris pentagone.svg b/resources/library/shape/gris pentagone.svg
deleted file mode 100644
index f289c75a..00000000
--- a/resources/library/shape/gris pentagone.svg	
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="123.828px" height="119.538px" viewBox="0 0 123.828 119.538" enable-background="new 0 0 123.828 119.538"
-	 xml:space="preserve">
-
-<g>
-	<g opacity="0.25">
-		<polygon fill-rule="evenodd" clip-rule="evenodd" points="99.906,117.543 63.435,117.545 26.963,117.543 15.69,82.858 
-			4.423,48.171 33.926,26.732 63.435,5.296 122.446,48.171 111.178,82.858 		"/>
-		<polygon fill-rule="evenodd" clip-rule="evenodd" points="99.906,117.543 63.435,117.545 26.963,117.543 15.69,82.858 
-			4.423,48.171 33.926,26.732 63.435,5.296 122.446,48.171 111.178,82.858 		"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="2.0166" y1="59.6382" x2="120.374" y2="59.6382">
-			<stop  offset="0" style="stop-color:#BEBEBE"/>
-			<stop  offset="1" style="stop-color:#6A6A6A"/>
-		</linearGradient>
-		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#414141" points="97.771,115.92 61.194,115.922 
-			24.62,115.92 13.315,81.137 2.017,46.351 31.603,24.851 61.194,3.354 120.374,46.351 109.073,81.137 		"/>
-		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="2.0166" y1="59.6382" x2="120.374" y2="59.6382">
-			<stop  offset="0" style="stop-color:#BEBEBE"/>
-			<stop  offset="1" style="stop-color:#6A6A6A"/>
-		</linearGradient>
-		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#414141" points="97.771,115.92 61.194,115.922 
-			24.62,115.92 13.315,81.137 2.017,46.351 31.603,24.851 61.194,3.354 120.374,46.351 109.073,81.137 		"/>
-	</g>
-</g>
-</svg>
diff --git a/resources/library/shape/gris rectangle arr.svg b/resources/library/shape/gris rectangle arr.svg
deleted file mode 100644
index 593751fa..00000000
--- a/resources/library/shape/gris rectangle arr.svg	
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="157.533px" height="112.898px" viewBox="0 0 157.533 112.898" enable-background="new 0 0 157.533 112.898"
-	 xml:space="preserve">
-
-<g>
-	<g opacity="0.25">
-		<path fill-rule="evenodd" clip-rule="evenodd" d="M9.955,17.229c0-4.787,3.879-8.668,8.666-8.668h125.167
-			c4.789,0,8.671,3.881,8.671,8.668v82.062c0,4.788-3.882,8.671-8.671,8.671H18.621c-4.787,0-8.666-3.883-8.666-8.671V17.229z"/>
-		<path fill-rule="evenodd" clip-rule="evenodd" d="M9.955,17.229c0-4.787,3.879-8.668,8.666-8.668h125.167
-			c4.789,0,8.671,3.881,8.671,8.668v82.062c0,4.788-3.882,8.671-8.671,8.671H18.621c-4.787,0-8.666-3.883-8.666-8.671V17.229z"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="6.3384" y1="54.5376" x2="148.8413" y2="54.5376">
-			<stop  offset="0" style="stop-color:#BEBEBE"/>
-			<stop  offset="1" style="stop-color:#6A6A6A"/>
-		</linearGradient>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#414141" d="M6.338,13.506
-			c0-4.786,3.878-8.668,8.666-8.668h125.167c4.788,0,8.67,3.882,8.67,8.668v82.064c0,4.787-3.882,8.666-8.67,8.666H15.004
-			c-4.788,0-8.666-3.879-8.666-8.666V13.506z"/>
-		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="6.3384" y1="54.5376" x2="148.8413" y2="54.5376">
-			<stop  offset="0" style="stop-color:#BEBEBE"/>
-			<stop  offset="1" style="stop-color:#6A6A6A"/>
-		</linearGradient>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#414141" d="M6.338,13.506
-			c0-4.786,3.878-8.668,8.666-8.668h125.167c4.788,0,8.67,3.882,8.67,8.668v82.064c0,4.787-3.882,8.666-8.67,8.666H15.004
-			c-4.788,0-8.666-3.879-8.666-8.666V13.506z"/>
-	</g>
-</g>
-</svg>
diff --git a/resources/library/shape/gris rectangle.svg b/resources/library/shape/gris rectangle.svg
deleted file mode 100644
index 3e031ced..00000000
--- a/resources/library/shape/gris rectangle.svg	
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="157.533px" height="112.898px" viewBox="0 0 157.533 112.898" enable-background="new 0 0 157.533 112.898"
-	 xml:space="preserve">
-
-<g>
-	<g opacity="0.25">
-		<g>
-			<polygon points="9.955,8.483 152.59,8.483 152.59,108.233 9.955,108.233 9.955,8.483 			"/>
-			<path d="M81.274,58.358"/>
-		</g>
-		<g>
-			<polygon points="9.955,8.483 152.59,8.483 152.59,108.233 9.955,108.233 9.955,8.483 			"/>
-			<path d="M81.274,58.358"/>
-		</g>
-	</g>
-	<g>
-		<g>
-			<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="6.3384" y1="54.6367" x2="148.9741" y2="54.6367">
-				<stop  offset="0" style="stop-color:#BEBEBE"/>
-				<stop  offset="1" style="stop-color:#6A6A6A"/>
-			</linearGradient>
-			<polygon fill="url(#SVGID_1_)" stroke="#414141" points="6.338,4.762 148.974,4.762 148.974,104.511 6.338,104.511 6.338,4.762 
-							"/>
-			<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="77.6567" y1="54.6353" x2="77.6567" y2="54.6353">
-				<stop  offset="0" style="stop-color:#BEBEBE"/>
-				<stop  offset="1" style="stop-color:#6A6A6A"/>
-			</linearGradient>
-			<path fill="url(#SVGID_2_)" stroke="#414141" d="M77.657,54.635"/>
-		</g>
-		<g>
-			<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="6.3384" y1="54.6367" x2="148.9741" y2="54.6367">
-				<stop  offset="0" style="stop-color:#BEBEBE"/>
-				<stop  offset="1" style="stop-color:#6A6A6A"/>
-			</linearGradient>
-			<polygon fill="url(#SVGID_3_)" stroke="#414141" points="6.338,4.762 148.974,4.762 148.974,104.511 6.338,104.511 6.338,4.762 
-							"/>
-			<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="77.6567" y1="54.6353" x2="77.6567" y2="54.6353">
-				<stop  offset="0" style="stop-color:#BEBEBE"/>
-				<stop  offset="1" style="stop-color:#6A6A6A"/>
-			</linearGradient>
-			<path fill="url(#SVGID_4_)" stroke="#414141" d="M77.657,54.635"/>
-		</g>
-	</g>
-</g>
-</svg>
diff --git a/resources/library/shape/gris triangle arr.svg b/resources/library/shape/gris triangle arr.svg
deleted file mode 100644
index 4e3b5035..00000000
--- a/resources/library/shape/gris triangle arr.svg	
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="137.543px" height="122.28px" viewBox="0 0 137.543 122.28" enable-background="new 0 0 137.543 122.28"
-	 xml:space="preserve">
-
-<g>
-	<g opacity="0.25">
-		<path fill-rule="evenodd" clip-rule="evenodd" d="M70.535,120.661l-58.237-0.001c-6.572-0.001-9.401-4.899-6.115-10.592
-			l29.118-50.437l29.12-50.435c3.286-5.692,8.944-5.692,12.23,0l29.12,50.435l29.117,50.437c3.287,5.692,0.457,10.591-6.114,10.592
-			L70.535,120.661z"/>
-		<path fill-rule="evenodd" clip-rule="evenodd" d="M70.535,120.661l-58.237-0.001c-6.572-0.001-9.401-4.899-6.115-10.592
-			l29.118-50.437l29.12-50.435c3.286-5.692,8.944-5.692,12.23,0l29.12,50.435l29.117,50.437c3.287,5.692,0.457,10.591-6.114,10.592
-			L70.535,120.661z"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="1.9136" y1="61.0127" x2="133.7422" y2="61.0127">
-			<stop  offset="0" style="stop-color:#BEBEBE"/>
-			<stop  offset="1" style="stop-color:#6A6A6A"/>
-		</linearGradient>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#414141" d="M67.829,119.044l-58.404-0.001
-			c-6.591-0.001-9.428-4.914-6.133-10.622L32.493,57.84L61.696,7.263c3.295-5.708,8.968-5.708,12.265,0l29.202,50.578l29.2,50.581
-			c3.297,5.708,0.459,10.621-6.132,10.622L67.829,119.044z"/>
-		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="1.9136" y1="61.0127" x2="133.7422" y2="61.0127">
-			<stop  offset="0" style="stop-color:#BEBEBE"/>
-			<stop  offset="1" style="stop-color:#6A6A6A"/>
-		</linearGradient>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#414141" d="M67.829,119.044l-58.404-0.001
-			c-6.591-0.001-9.428-4.914-6.133-10.622L32.493,57.84L61.696,7.263c3.295-5.708,8.968-5.708,12.265,0l29.202,50.578l29.2,50.581
-			c3.297,5.708,0.459,10.621-6.132,10.622L67.829,119.044z"/>
-	</g>
-</g>
-</svg>
diff --git a/resources/library/shape/gris triangle.svg b/resources/library/shape/gris triangle.svg
deleted file mode 100644
index a2d2ab3d..00000000
--- a/resources/library/shape/gris triangle.svg	
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="137.543px" height="122.28px" viewBox="0 0 137.543 122.28" enable-background="new 0 0 137.543 122.28"
-	 xml:space="preserve">
-
-<g>
-	<g opacity="0.25">
-		<polygon fill-rule="evenodd" clip-rule="evenodd" points="135.558,118.878 70.792,118.88 6.027,118.878 38.408,62.789 
-			70.792,6.702 103.177,62.789 		"/>
-		<polygon fill-rule="evenodd" clip-rule="evenodd" points="135.558,118.878 70.792,118.88 6.027,118.878 38.408,62.789 
-			70.792,6.702 103.177,62.789 		"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="2.6196" y1="61.0107" x2="132.5166" y2="61.0107">
-			<stop  offset="0" style="stop-color:#BEBEBE"/>
-			<stop  offset="1" style="stop-color:#6A6A6A"/>
-		</linearGradient>
-		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#414141" points="132.517,117.257 
-			67.569,117.259 2.62,117.257 35.092,61.009 67.569,4.763 100.044,61.009 		"/>
-		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="2.6196" y1="61.0107" x2="132.5166" y2="61.0107">
-			<stop  offset="0" style="stop-color:#BEBEBE"/>
-			<stop  offset="1" style="stop-color:#6A6A6A"/>
-		</linearGradient>
-		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#414141" points="132.517,117.257 
-			67.569,117.259 2.62,117.257 35.092,61.009 67.569,4.763 100.044,61.009 		"/>
-	</g>
-</g>
-</svg>
diff --git a/resources/library/shape/gris étoile arr.svg b/resources/library/shape/gris étoile arr.svg
deleted file mode 100644
index 9c24a838..00000000
--- a/resources/library/shape/gris étoile arr.svg	
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="129.18px" height="121.815px" viewBox="0 0 129.18 121.815" enable-background="new 0 0 129.18 121.815"
-	 xml:space="preserve">
-
-<g>
-	<g opacity="0.25">
-		<path fill-rule="evenodd" clip-rule="evenodd" d="M66.116,96.75l-29.76,21.621c-5.72,4.155-11.191,0.181-9.009-6.546
-			l11.368-34.982L8.958,55.222c-5.72-4.157-3.631-10.588,3.44-10.59l36.783-0.001L60.548,9.65c2.185-6.727,8.948-6.727,11.134,0
-			l11.368,34.98l36.781,0.001c7.071,0.002,9.162,6.433,3.441,10.59L93.517,76.843l11.363,34.982
-			c2.187,6.727-3.286,10.701-9.007,6.546L66.116,96.75z"/>
-		<path fill-rule="evenodd" clip-rule="evenodd" d="M66.116,96.75l-29.76,21.621c-5.72,4.155-11.191,0.181-9.009-6.546
-			l11.368-34.982L8.958,55.222c-5.72-4.157-3.631-10.588,3.44-10.59l36.783-0.001L60.548,9.65c2.185-6.727,8.948-6.727,11.134,0
-			l11.368,34.98l36.781,0.001c7.071,0.002,9.162,6.433,3.441,10.59L93.517,76.843l11.363,34.982
-			c2.187,6.727-3.286,10.701-9.007,6.546L66.116,96.75z"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="3.2441" y1="61.0044" x2="124.498" y2="61.0044">
-			<stop  offset="0" style="stop-color:#BEBEBE"/>
-			<stop  offset="1" style="stop-color:#6A6A6A"/>
-		</linearGradient>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#414141" d="M63.871,95.515l-29.844,21.684
-			c-5.736,4.166-11.225,0.182-9.033-6.564l11.4-35.082L6.55,53.87C0.814,49.7,2.91,43.251,10,43.249h36.889l11.4-35.08
-			c2.189-6.746,8.973-6.746,11.165,0l11.402,35.08h36.885c7.092,0.002,9.188,6.451,3.451,10.621L91.35,75.552l11.396,35.082
-			c2.191,6.746-3.295,10.73-9.033,6.564L63.871,95.515z"/>
-		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="3.2441" y1="61.0044" x2="124.498" y2="61.0044">
-			<stop  offset="0" style="stop-color:#BEBEBE"/>
-			<stop  offset="1" style="stop-color:#6A6A6A"/>
-		</linearGradient>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#414141" d="M63.871,95.515l-29.844,21.684
-			c-5.736,4.166-11.225,0.182-9.033-6.564l11.4-35.082L6.55,53.87C0.814,49.7,2.91,43.251,10,43.249h36.889l11.4-35.08
-			c2.189-6.746,8.973-6.746,11.165,0l11.402,35.08h36.885c7.092,0.002,9.188,6.451,3.451,10.621L91.35,75.552l11.396,35.082
-			c2.191,6.746-3.295,10.73-9.033,6.564L63.871,95.515z"/>
-	</g>
-</g>
-</svg>
diff --git a/resources/library/shape/gris étoile.svg b/resources/library/shape/gris étoile.svg
deleted file mode 100644
index a6cb5804..00000000
--- a/resources/library/shape/gris étoile.svg	
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="129.18px" height="121.815px" viewBox="0 0 129.18 121.815" enable-background="new 0 0 129.18 121.815"
-	 xml:space="preserve">
-
-<g>
-	<g opacity="0.25">
-		<polygon fill-rule="evenodd" clip-rule="evenodd" points="102.995,119.442 65.882,92.479 28.768,119.442 42.944,75.813 
-			5.832,48.849 51.705,48.847 65.882,5.22 80.06,48.847 125.931,48.849 88.819,75.813 		"/>
-		<polygon fill-rule="evenodd" clip-rule="evenodd" points="102.995,119.442 65.882,92.479 28.768,119.442 42.944,75.813 
-			5.832,48.849 51.705,48.847 65.882,5.22 80.06,48.847 125.931,48.849 88.819,75.813 		"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="3.8833" y1="61.0073" x2="124.3252" y2="61.0073">
-			<stop  offset="0" style="stop-color:#BEBEBE"/>
-			<stop  offset="1" style="stop-color:#6A6A6A"/>
-		</linearGradient>
-		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#414141" points="101.323,118.28 64.104,91.241 
-			26.885,118.28 41.1,74.528 3.883,47.486 49.887,47.486 64.104,3.734 78.323,47.486 124.325,47.486 87.106,74.528 		"/>
-		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="3.8833" y1="61.0073" x2="124.3252" y2="61.0073">
-			<stop  offset="0" style="stop-color:#BEBEBE"/>
-			<stop  offset="1" style="stop-color:#6A6A6A"/>
-		</linearGradient>
-		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#414141" points="101.323,118.28 64.104,91.241 
-			26.885,118.28 41.1,74.528 3.883,47.486 49.887,47.486 64.104,3.734 78.323,47.486 124.325,47.486 87.106,74.528 		"/>
-	</g>
-</g>
-</svg>
diff --git a/resources/library/shape/rouge bulle gauche.svg b/resources/library/shape/rouge bulle gauche.svg
deleted file mode 100644
index 063939ab..00000000
--- a/resources/library/shape/rouge bulle gauche.svg	
+++ /dev/null
@@ -1,362 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" [
-	<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
-	<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
-	<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
-	<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
-	<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
-	<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
-	<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
-	<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
-]>
-<svg version="1.0" id="Layer_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="153.157px"
-	 height="137.618px" viewBox="0 0 153.157 137.618" enable-background="new 0 0 153.157 137.618" xml:space="preserve">
-<switch>
-	<foreignObject requiredExtensions="&ns_ai;" x="0" y="0" width="1" height="1">
-		<i:pgfRef  xlink:href="#adobe_illustrator_pgf">
-		</i:pgfRef>
-	</foreignObject>
-	<g i:extraneous="self">
-		<rect x="0" fill="none" width="153.156" height="137.618"/>
-		<g opacity="0.25">
-			<path d="M153.432,96.928c0,4.84-3.922,8.764-8.76,8.764H73.532v30.695l-20.106-30.695H18.155c-4.838,0-8.761-3.924-8.761-8.764
-				V13.982c0-4.84,3.923-8.762,8.761-8.762h126.518c4.838,0,8.76,3.922,8.76,8.762V96.928z"/>
-			<path d="M153.432,96.928c0,4.84-3.922,8.764-8.76,8.764H73.532v30.695l-20.106-30.695H18.155c-4.838,0-8.761-3.924-8.761-8.764
-				V13.982c0-4.84,3.923-8.762,8.761-8.762h126.518c4.838,0,8.76,3.922,8.76,8.762V96.928z"/>
-		</g>
-		<g>
-			<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="6.2402" y1="68.1743" x2="149.0103" y2="68.1743">
-				<stop  offset="0" style="stop-color:#FF897A"/>
-				<stop  offset="1" style="stop-color:#FF3400"/>
-			</linearGradient>
-			<path fill="url(#SVGID_1_)" stroke="#6F0000" d="M150.127,94.299c0,4.839-3.922,8.763-8.762,8.763H70.227v30.696L50.12,103.062
-				H14.85c-4.839,0-8.762-3.924-8.762-8.763V11.353c0-4.84,3.923-8.762,8.762-8.762h126.516c4.84,0,8.762,3.922,8.762,8.762V94.299z
-				"/>
-			<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="6.2402" y1="68.1743" x2="149.0103" y2="68.1743">
-				<stop  offset="0" style="stop-color:#FF897A"/>
-				<stop  offset="1" style="stop-color:#FF3400"/>
-			</linearGradient>
-			<path fill="url(#SVGID_2_)" stroke="#6F0000" d="M150.127,94.299c0,4.839-3.922,8.763-8.762,8.763H70.227v30.696L50.12,103.062
-				H14.85c-4.839,0-8.762-3.924-8.762-8.763V11.353c0-4.84,3.923-8.762,8.762-8.762h126.516c4.84,0,8.762,3.922,8.762,8.762V94.299z
-				"/>
-		</g>
-	</g>
-</switch>
-<i:pgf  id="adobe_illustrator_pgf">
-	<![CDATA[
-	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
-	]]>
-	<![CDATA[
-	HFYD23jgeF5KX/HENFNNZn72fsHP6hDebpfMjT5Jz+dPV/aNVoWXVO7kJW7b6MvWRZ0KWprVG00P
-zqpB+0b3AyFpygYl+0Yb7FNyg8vt6o1SQb3Z6U70PEZoNPUZ6u60y/aNJtv3TIXZPbdtdKPST1PB
-LeE6fGE3VqZyc1ciNJreDDaa+Typ0VemuvnQ0huFsRiarcaOd0568XtbBD/96qaVRhs7Oxb08nuz
-YR83CrTYK5vntA2U/MydXqBmw4uzGn9MHpwXI9BocrxASi/7FWKjqeHlxkxvVKdkudmu9LIdvCU0
-WnlLj3bSvG2j0/wzT2q0BhgbP7bH9mPd3whNd4Rtya5Raf7KBsOho8dnu0aZSrZ8qDcKrZhndat5
-K+3ZN5psPzOV59q17Ug3KtO94FfitmnXKBVkqtH5BWGs6c0d8eP4kjDSQEKaThpbqNHdBfReVXaP
-hOPAOTQqTKigdax1odBWGm3HQpZG0836163caPnpq2Ia6cMxU38sp+wapYLTjdrPVPjavErjZq2N
-nu9KA2Kjx1+dYp7Q6GOYaebEKW4U0ZgFwWexp7O+GJ3ZNtrsHO0RG714qp0W7BpFnD/5WGRud+4z
-tgjeqG/Omx+9fsa20ds6OyY22qomqkPcKBW0GesZczvhjwmNHoVvX+5e87aN3h31du0aBZ6Mmu10
-8rM7AoKfkszz5U3YvtGLy49f96X9XdtGn2fxK9wo2l8Wx/rdiGzfkxqtMJ2rn337Ri+Pw9Jjflq0
-NAqt4GbLv2JpAoIztcDdBVOXG+1uzKrmRXMkze8ek6jRyMKiudzcC7/MvzuwKvvbB5J1rK+711tK
-o1/ZXctOs82cX6Rwo9zOYahmbjQuTT9ON1GjMb1RaEVhEPV44GkzXYFGj6cLrPBpnJUbPQqVoxb0
-BvKVyx250edZ7tSE3nArslc7OIVWoNnEIitssTGhvv0LGq3MrY1Kg6Ow0mjuKm4eaa1VCG7v40b5
-o1a9jhtFrchj3XycpnqPDdQos4Dgi+z2xv3s6gQa5Ra4s5TvjVqRIL9vX1rIAE9ut+pPp7bl825g
-nzl5iswIpTuHbHfa2LQrhRmoRAPBwlYJldpxmFpvlBYqWywqXyCbjdrnRN3K7EpHknD5XEtZSrXZ
-r81mGfbwQbB/+2Q7cHx5V74ilM72zk5ON6f2pWfMMxWsRyKpOaE83bk4PpzvEErP3hs54TZmW5q5
-eGDVnZSL2mCszmxpcxlbLE1vt7qP5UNC6X7otrh/d2wp1TBWL+zebUmDAuHtWrRTTN882Zee5yu/
-DsJ82L704hp25F/TTjlCKL//9c1PExyh9PtnHPsSM/al7edG+robk9+1wdjz7qNG3Ytvd35uVX5o
-U9q95w42okKFhDHx/qIy27gU7d9+Z54/d36dbNiWBu+u+rehwMWRXakkHXSuqCB/fBUKofL4YjlX
-OLm8Knyj0gUmJOU739PA807JtnT+mgvtBvcDr7h0AWNQfhDePb7b7epvH07C+xNN45tgJnWYrW39
-wtyLqb02ippqJtipZkbNIrB7tscGoqXru0D09gX0yk7/JhB6DM/RtwbSP4uB2FkHZKH7L0F+7fBg
-/AW9aR7j9vSWE+eZ0Q6oo/dzrOxgLel9X2t2MzE46IVBwtsog7qTMPNNaYPbOWjEFGVna2zcgg83
-ecT+T79lZae3df1l3PeNzSbDT+RGNyovMWKjTKWQviQ0mt4ELWnE73X0Zk2Ntl8cGq0GUuRGq1Wp
-rTXKI+nC0GymtvmTnj+pjVaHZgQ/GxtNNreM6L06vjY02t/e3tQbhVb2hq0LvVkLghG1TewbTbbb
-5EY3Kh+MaVWam8W6A6FR0CZBd+iRGu0SG0XSeJXJEceKJRJio0geaZHQG9UblaUL81hPti2zykZB
-1sDN42/KRFzM+57qXW6KlrVPqLlxeRDwUE+ad76CBm6Bxqxxy9fTI8vShbejoUhhPL2QqR++FZH8
-d4IRo2JWW/HVy2vA8XlU+XPEGMw32D6E9Mpk9Nq4nhrbwB53HotKv7vXBehobnw4CfVvrFYjaL6Q
-+BRLQfRnU2tg12LmUqw90J/HErtb+FVBlXgZhM72Dg/LQcMf4Iy6vK0YsgyVG9s/ahVluJrtArrM
-nKaCQfwHEYNJ0VB6dqmNoBQ57PE1AwINeK+2GvBzG+1c813cHl4v5E5NLZ2ydCkx2MxF8R8Zn7K9
-BkPRSQUqgy62m6/P3ZGO/1wbdXKb8R2xZ3W78VFB4wjxn+59yW4G9fnjj25vzt3mL3qu0AvShxCN
-LY4Qeru364ws7/NXbY5gLL6Q5QDslkzsVNADuevIYt53fu69UpZOVxrGjJQ1ZrtbOzVfmCfhPaFT
-8sqY702d8U45IcvCetrRkZX1lJ+KE2MD2ujNrIcKus7GS5ktP0+rGgjeHoHVs21FKLNdleWny5lj
-fzBvj6I/j0aj6wLuykiDPrNj2+RVGSYOjd/aO6v7Gpp5F5NR/bTpjupteQ2ROsKI3U5LH5WRxkyj
-Cm/jUdmz0XZ0Yt4mXAZE4DDlp1LcxGG0ZWiic0ZsxLfNsrpxmg6rTz8YLZo9eTnEvOdCD6Rd+koj
-mqiBkiMOwIrxRw/A7EHBqjPZYA973Ni67rob9R8P68551WFK7la0SoS5jJaj8h9lrtiRPVn0+A27
-6USSknlC0R+FC2Ijtg1tdDfOWSJtJD7HkQNLvzAl534IPeN+uMJD9tR+kNFCyEYKs06J6Szp8Csz
-sUwJvN2SHHmtV9ZTRfJYY6dC2JjcZEYTLfarZq5q2JaooM/5/crM/UtP9msfOt8LOCMLjS/h2qXs
-hsNeqffHg0gH7X1ukrp0rKx9rzNIFOkUJtuZ7zjK/KYZdBPpvM+fpG1VvErJqwDr73TLzv2igl6B
-uekdTv0ynYljYCSa9z9IXapbA8bMnHZFjJk5mm+MKZYthdC4wn07ZlZca2iplP1Lx3pfsZ0f9Wd2
-6MI5DAKtPR/7qBHFayq4IGDbywo1qya+wqr8qHHP88KZD0VZPs1dnMnZUVDHjaKJ+8eOd7UPcKPI
-lgvYqTa+vZoRCGM5nOpMgbRePEyTk4pn6YgsKdl2xY0LeOmIVbZcCiduy17tiKojgyQVtt2iCved
-pD+dXD7S1EzcJh+S1xw+JL82mrZDpZm/BghGjRP5hLfqg30QFgioYRvELlFBX51akgFoNGZYcr9O
-1sQAYHzbfvV94viOclfnziinPCK9NNNlBU/2DJMkb7T1cc/TT3Y9RAULsm0wN8j7i7Otk6ST/zph
-3tmNtgf6pNxnsDTzusSJao+iJSFkpVZA1sTIMl4PZpYFjvgYezr3oHW7W5dOrQucZCFxsiWAnLzl
-3Bui/L5gIeG3cshQ4KYUezDJnuryu0rJ/s0kACLk1byBOL/9JnS6sC0vYd74PmXE6dcdFSTYJLwO
-6HTuwUZHuVjp+K3sT9IrYohowa10JD82EJK9BrBDsteYKdnAN02WBrMojVyTGbMofWYVpc3Ip4Ie
-hGllDnJXm0viTpXH5P6Qz6TcJGET7iZn5m2QN+tivjbC3NUa1suZdQ9cgs5zVwFcKp9XLmuN5o9a
-Qd7DgChnSj+zbHpLMYDJGbRi2e+WQ4yzsZBa3OoIsizCjuBvH9JkWVkeM2914VDE7L8Bo7pvOq87
-51VnpmRgwiufTyDje8wy5oVTUa/2KgQs4WW9yDTmbG9FwJhVeXIR87Hj+Yq0imfNYcsznPG5wzEr
-kj56o5+JYzgrr0AM5clqszfwZD9wfO57Bn3fBpj5hNDXJmo6H8Q7cnNkVSnRs3WdMOBzZMuGs7Th
-BfWVdOhDPuMjCRH3Nx5RaRA/qaCdfq5xtF0bjtbyz9FIFhJYG2vgaNMv62m1dwneBhj50EfdKz2e
-ICFg3OqSUhFUhObGqmu/ZcfRllj7Lf8czc52geGsztFa6zl7xXA6xKOzY0actRKYfCiiZevSNGF7
-DFGDNh0d2ssommypdGUHFODDXYtTl1fHBw8+V/e3REXa+5E8TKcdk9Us8P7YLADzw2Tx2iey2fbE
-v/eDdTG/7/wkqeDKAgpyOYh44zCucKyCnK/ewFhUOCu7QGAotpLg4sm7KxzyyiGK5LanCRiYT6uf
-014YVWwX5t3wbhX53kSkTz94L1xN40MalssGpvEx990QgHlRH4l7oUmzAGAr21yKMEPi1uq72J1/
-k5btLna3inxvgqLshSvtYnd28r0dFCroCsfTbui8F6ocprtxzq2yG1r2QuQSHtX3QqWVBd+XpdyR
-0Ojv7fZCfa80Ok/pbhhEWQD69UJUR02oxKvS2WKBlAUXidKDpKvyZADmaUF6kHQBVMrNquDIa80Y
-GwW9zqTMLYka0b3Hde50egpLAdnHpl93BC7v7k5n7ZL9IpUp2cPysmxMcZttqU3cloj2ZOLG1Js6
-KGkEzzWyvt+2+tKTUOlhcYEmXrj/ctaNvLq8FQHUj3VrMcyLr9MbBGzmmYhdMebFnkw6GTDPJKJk
-k/utIzCCiFGMJxycb4EikIeqQhMJD51yMgs7LC5tR1ZsQLrAIDuF27RnvJsldL0lBKKfv5ooMq4e
-iGViHbsIOiq4nhg65wi6hYihJWPonCPoZO119Rg65wg6p2hBPzF0zhF05mjB5WPonCPoqOB6Yuic
-I+gs0YJLx9A5R9BRwfXE0DlH0GHvjjXE0DnXw9FPa4ihc46gM1rhVomhc46gU+Qx9xg6s0MyOcJs
-YidtO/rAkyOBjn98dYlk6W1sS26O2we9kId4KYPUt6JnbWPbxSPUu6UX8NTw40tOPuNr7JA9zXzh
-aTHKZtHTbNdjMFjEgxHFfMbnACy68viwBOseOed9fHG39eIZ6ZbDHPcukSMfXcxgDl1aDJlD1lGf
-QXPeeE07aljWJt8efwFUPlxB5LVPcgZ5Ka/nbE72HbUNJvI3NEfRXfO6cQ12M3tC+jMMqvvLqhZj
-NdjN/tjGqiW5Brst5Qpi5paAGIdzXaNq6qqGIFBaNIO87/sEZnbBAp21GjGf2FQsOrlN5KNHntXd
-uHd2cTAovZTpDsOFCa0Qg0x9hZgqcXxeQxjddfuK3Vm2QR6zms7cDYeRRTNJv2oXQLTcidVXhhzY
-bxcFhn0ViHFgjzNnccJPHJ/z1QWe/ez6VaKHsdHnSjdakUPTDmdHp4QuOYjSdhZ46BTZB16bOk/z
-l91y84H3Ecc3cr5rYNNHHJ9rTAyZGEwxvAqw5mg9lKWffJAjU/wAM+8qK2LsyUVr8YUx8lGI70Eq
-HG1ZjJkNv4K04Og0O5xa5LElFYiPmmsAo7LUiXZLh3g5K7cgAdAZDjHy8YaV/7is7tnRlgclhvKi
-7C2Ydh2UPcIdEVyhvbG9CggUhmWrtRi1V32mCTgxhsotOUOLJyNknYcc4ua+9t3RQT5itJA9ERmG
-exXc0OEkudScrzzRbjvxJkdyz9Ne3CxHnrhFxcoRQ46xPmqkz8iP2WJBVVIlJccAOQ==
-	]]>
-	<![CDATA[
-	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
-	]]>
-	<![CDATA[
-	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
-	]]>
-	<![CDATA[
-	YTpQG4rC6HyjAz3sUAydh//u/6IYpWH48Qd+nMKXX/DoLzpJn9OPzwzdR/WuqYwA0p+QYemUwMTT
-WTZJf1MCx8ezHJvVn9X1ZwKTifNMloVn2rt2zwzvEgbG0ImT0YwONW+rneZndyLe/JmIhrHMoYeX
-FBMXklmGowGakEnyLP7CpDIZ+JJl2GxaG2dXGTQnDxr1hE/xKTrNgsqfYbIwMv0Zk46nkiydEfg4
-AE3DAy6eZgWOzqQz8VSWz+hPipSQFeLJFLStPavrz1ICK2MGniHwybRgqpfkACFpzvSMF+Icn+H1
-ZwLPx3k2ldQ6pj9Qew/d0J5lk3GeE1gMSnuWjbPQtAZbYPg4k8kmaa0H2pMipY1Se4amTsGF9kxH
-lwLc8EDpQdEGz3Xq3X7GBZcZ/8+U/a+bshYsOibOpYzMBv7Xp9J0KEzf36mrmL6GlcyzQjopyEwx
-nlRXcZJPcdBz/F7euoaTcSYJtdIsfGGyGUwQ6jMGRihA5zPAalgOTWEqziVhhJk0fMkIrP4EEUQy
-ziYzSf1ZXX+WApipFJPBBIHAs6ZqfCYuCGzK/Az4Ic+l9WcCz8hd1PqlP1F7jwhCfZZNx7OptAxL
-eSYwbFzIppO0Bh1wFBdYRBpqH7QniCKUYWrPEEXIuNAeaejSgOsIVLtQtEF0nSr0YAsLtUaj7rfY
-pz+kbn8AO16YRp1lmZQ8Y8CEsyysJH2bY+jCB8UCAQsC/hVj+RSixBTGB5vG1CrInbuH6WQ5oEuo
-Y6kcE3g0Oym85SjVC29eARfIgDMCB7g1VX6jehRHFwrLcq3/EOm/GZEieeo/ZLrIqU0yoYlN1wuy
-/ArSLJYyYzH0m5fl2aI0nkyp+VSU+tAmnUAFozF6et6Vvqb012j814gejWf0f+kS6ByzfmD7dNVe
-GmXiqUV5VICpha05aZRH0xnB8qxONVWJFJ6mWYvkCs/4pF6zRWW1zUiDr8msBvgGOdYAX2AFtab+
-LJnUaxrhZzJpi0z8TWVZfkFObhqkZx2+/swVvgE/GnwTfnRJXMeP/sweP/q3/0sP3mUKAIqQ5z8Y
-bHQ/xBupOxiCdvMx7f4W6e4IZr07EydQAqtPnM7GkkhPP8d/oSfwilod9KTLCvX/ADShxIs=
-	]]>
-</i:pgf>
-</svg>
diff --git a/resources/library/shape/rouge bulle idée.svg b/resources/library/shape/rouge bulle idée.svg
deleted file mode 100644
index 2c409222..00000000
--- a/resources/library/shape/rouge bulle idée.svg	
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="153.157px" height="137.618px" viewBox="0 0 153.157 137.618" enable-background="new 0 0 153.157 137.618"
-	 xml:space="preserve">
-
-<g>
-	<g opacity="0.25">
-		<g>
-			<path fill-rule="evenodd" clip-rule="evenodd" d="M82.666,131.472c0-2.754,2.232-4.984,4.988-4.984
-				c2.754,0,4.988,2.23,4.988,4.984c0,2.756-2.234,4.99-4.988,4.99C84.898,136.462,82.666,134.228,82.666,131.472z"/>
-			<path fill-rule="evenodd" clip-rule="evenodd" d="M82.666,131.472c0-2.754,2.232-4.984,4.988-4.984
-				c2.754,0,4.988,2.23,4.988,4.984c0,2.756-2.234,4.99-4.988,4.99C84.898,136.462,82.666,134.228,82.666,131.472z"/>
-		</g>
-		<g>
-			<circle fill-rule="evenodd" clip-rule="evenodd" cx="94.284" cy="116.233" r="7.731"/>
-			<circle fill-rule="evenodd" clip-rule="evenodd" cx="94.284" cy="116.233" r="7.731"/>
-		</g>
-		<g>
-			<path fill-rule="evenodd" clip-rule="evenodd" d="M6.725,13.909c0-4.84,3.922-8.762,8.761-8.762h126.516
-				c4.838,0,8.76,3.922,8.76,8.762v82.946c0,4.84-3.922,8.764-8.76,8.764H15.486c-4.839,0-8.761-3.924-8.761-8.764V13.909z"/>
-			<path fill-rule="evenodd" clip-rule="evenodd" d="M6.725,13.909c0-4.84,3.922-8.762,8.761-8.762h126.516
-				c4.838,0,8.76,3.922,8.76,8.762v82.946c0,4.84-3.922,8.764-8.76,8.764H15.486c-4.839,0-8.761-3.924-8.761-8.764V13.909z"/>
-		</g>
-	</g>
-	<g>
-		<g>
-			<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="78.9702" y1="128.8438" x2="88.9468" y2="128.8438">
-				<stop  offset="0" style="stop-color:#FF897A"/>
-				<stop  offset="1" style="stop-color:#FF3400"/>
-			</linearGradient>
-			<circle fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#6F0000" cx="83.958" cy="128.843" r="4.988"/>
-			<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="78.9702" y1="128.8438" x2="88.9468" y2="128.8438">
-				<stop  offset="0" style="stop-color:#FF897A"/>
-				<stop  offset="1" style="stop-color:#FF3400"/>
-			</linearGradient>
-			<circle fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#6F0000" cx="83.958" cy="128.843" r="4.988"/>
-		</g>
-		<g>
-			<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="82.8569" y1="113.6045" x2="98.3198" y2="113.6045">
-				<stop  offset="0" style="stop-color:#FF897A"/>
-				<stop  offset="1" style="stop-color:#FF3400"/>
-			</linearGradient>
-			<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_3_)" stroke="#6F0000" d="M82.857,113.603
-				c0-4.268,3.461-7.73,7.73-7.73c4.271,0,7.732,3.463,7.732,7.73c0,4.273-3.461,7.734-7.732,7.734
-				C86.318,121.337,82.857,117.876,82.857,113.603z"/>
-			<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="82.8569" y1="113.6045" x2="98.3198" y2="113.6045">
-				<stop  offset="0" style="stop-color:#FF897A"/>
-				<stop  offset="1" style="stop-color:#FF3400"/>
-			</linearGradient>
-			<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_4_)" stroke="#6F0000" d="M82.857,113.603
-				c0-4.268,3.461-7.73,7.73-7.73c4.271,0,7.732,3.463,7.732,7.73c0,4.273-3.461,7.734-7.732,7.734
-				C86.318,121.337,82.857,117.876,82.857,113.603z"/>
-		</g>
-		<g>
-			<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="3.0303" y1="52.752" x2="147.0659" y2="52.752">
-				<stop  offset="0" style="stop-color:#FF897A"/>
-				<stop  offset="1" style="stop-color:#FF3400"/>
-			</linearGradient>
-			<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_5_)" stroke="#6F0000" d="M3.03,11.279
-				c0-4.84,3.922-8.762,8.761-8.762h126.515c4.84,0,8.76,3.922,8.76,8.762v82.947c0,4.838-3.92,8.762-8.76,8.762H11.791
-				c-4.839,0-8.761-3.924-8.761-8.762V11.279z"/>
-			<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="3.0303" y1="52.752" x2="147.0659" y2="52.752">
-				<stop  offset="0" style="stop-color:#FF897A"/>
-				<stop  offset="1" style="stop-color:#FF3400"/>
-			</linearGradient>
-			<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_6_)" stroke="#6F0000" d="M3.03,11.279
-				c0-4.84,3.922-8.762,8.761-8.762h126.515c4.84,0,8.76,3.922,8.76,8.762v82.947c0,4.838-3.92,8.762-8.76,8.762H11.791
-				c-4.839,0-8.761-3.924-8.761-8.762V11.279z"/>
-		</g>
-	</g>
-</g>
-</svg>
diff --git a/resources/library/shape/rouge bulle.svg b/resources/library/shape/rouge bulle.svg
deleted file mode 100644
index b8d75b6c..00000000
--- a/resources/library/shape/rouge bulle.svg	
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="153.157px" height="137.618px" viewBox="0 0 153.157 137.618" enable-background="new 0 0 153.157 137.618"
-	 xml:space="preserve">
-
-<g>
-	<g opacity="0.25">
-		<path fill-rule="evenodd" clip-rule="evenodd" d="M6.725,13.982c0-4.84,3.922-8.762,8.76-8.762h126.517
-			c4.838,0,8.761,3.922,8.761,8.762v82.946c0,4.84-3.923,8.764-8.761,8.764h-35.27l-20.107,30.695v-30.695h-71.14
-			c-4.838,0-8.76-3.924-8.76-8.764V13.982z"/>
-		<path fill-rule="evenodd" clip-rule="evenodd" d="M6.725,13.982c0-4.84,3.922-8.762,8.76-8.762h126.517
-			c4.838,0,8.761,3.922,8.761,8.762v82.946c0,4.84-3.923,8.764-8.761,8.764h-35.27l-20.107,30.695v-30.695h-71.14
-			c-4.838,0-8.76-3.924-8.76-8.764V13.982z"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="3.0298" y1="68.1748" x2="147.0679" y2="68.1748">
-			<stop  offset="0" style="stop-color:#FF897A"/>
-			<stop  offset="1" style="stop-color:#FF3400"/>
-		</linearGradient>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#6F0000" d="M3.03,11.353
-			c0-4.84,3.922-8.762,8.761-8.762h126.516c4.839,0,8.762,3.922,8.762,8.762V94.3c0,4.838-3.923,8.762-8.762,8.762h-35.269
-			l-20.108,30.697v-30.697H11.791c-4.839,0-8.761-3.924-8.761-8.762V11.353z"/>
-		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="3.0298" y1="68.1748" x2="147.0679" y2="68.1748">
-			<stop  offset="0" style="stop-color:#FF897A"/>
-			<stop  offset="1" style="stop-color:#FF3400"/>
-		</linearGradient>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#6F0000" d="M3.03,11.353
-			c0-4.84,3.922-8.762,8.761-8.762h126.516c4.839,0,8.762,3.922,8.762,8.762V94.3c0,4.838-3.923,8.762-8.762,8.762h-35.269
-			l-20.108,30.697v-30.697H11.791c-4.839,0-8.761-3.924-8.761-8.762V11.353z"/>
-	</g>
-</g>
-</svg>
diff --git a/resources/library/shape/rouge carré arr.svg b/resources/library/shape/rouge carré arr.svg
deleted file mode 100644
index d6805ad6..00000000
--- a/resources/library/shape/rouge carré arr.svg	
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="116.314px" height="116.314px" viewBox="0 0 116.314 116.314" enable-background="new 0 0 116.314 116.314"
-	 xml:space="preserve">
-
-<g>
-	<g opacity="0.25">
-		<path fill-rule="evenodd" clip-rule="evenodd" d="M5.887,31.278c0-14.409,11.679-26.088,26.088-26.088h56.389
-			c14.408,0,26.086,11.679,26.086,26.088v56.388c0,14.408-11.678,26.088-26.086,26.088H31.975c-14.409,0-26.088-11.68-26.088-26.088
-			V31.278z"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="2.1924" y1="56.8423" x2="110.7549" y2="56.8423">
-			<stop  offset="0" style="stop-color:#FF897A"/>
-			<stop  offset="1" style="stop-color:#FF3400"/>
-		</linearGradient>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#6F0000" d="M2.192,28.648
-			c0-14.409,11.678-26.088,26.088-26.088h56.389c14.408,0,26.086,11.679,26.086,26.088v56.388c0,14.408-11.678,26.088-26.086,26.088
-			H28.28c-14.41,0-26.088-11.68-26.088-26.088V28.648z"/>
-	</g>
-</g>
-</svg>
diff --git a/resources/library/shape/rouge carré.svg b/resources/library/shape/rouge carré.svg
deleted file mode 100644
index 87422aef..00000000
--- a/resources/library/shape/rouge carré.svg	
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="116.314px" height="116.314px" viewBox="0 0 116.314 116.314" enable-background="new 0 0 116.314 116.314"
-	 xml:space="preserve">
-
-<g>
-	<g opacity="0.25">
-		<rect x="5.886" y="5.19" fill-rule="evenodd" clip-rule="evenodd" width="108.563" height="108.563"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="2.1914" y1="56.8423" x2="110.7539" y2="56.8423">
-			<stop  offset="0" style="stop-color:#FF897A"/>
-			<stop  offset="1" style="stop-color:#FF3400"/>
-		</linearGradient>
-		
-			<rect x="2.191" y="2.561" fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#6F0000" width="108.562" height="108.563"/>
-	</g>
-</g>
-</svg>
diff --git a/resources/library/shape/rouge cylindre.svg b/resources/library/shape/rouge cylindre.svg
deleted file mode 100644
index 35200c72..00000000
--- a/resources/library/shape/rouge cylindre.svg	
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="116.314px" height="138.089px" viewBox="0 0 116.314 138.089" enable-background="new 0 0 116.314 138.089"
-	 xml:space="preserve">
-
-<g>
-	<g opacity="0.25">
-		<ellipse fill-rule="evenodd" clip-rule="evenodd" cx="60.167" cy="26.895" rx="48.899" ry="18.582"/>
-	</g>
-	<g opacity="0.25">
-		<path fill-rule="evenodd" clip-rule="evenodd" d="M109.151,37.791v77.655l-0.169,0.612c0,10.262-21.892,18.581-48.899,18.581
-			c-27.007,0-48.898-8.319-48.898-18.581c0-0.206-0.006-0.409,0.012-0.612V37.939c8.615,6.975,27.267,11.805,48.887,11.805
-			C81.855,49.744,100.616,44.847,109.151,37.791z"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="7.5732" y1="24.2642" x2="105.3721" y2="24.2642">
-			<stop  offset="0" style="stop-color:#FF897A"/>
-			<stop  offset="1" style="stop-color:#FF3400"/>
-		</linearGradient>
-		
-			<ellipse fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#6F0000" cx="56.473" cy="24.265" rx="48.899" ry="18.582"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="7.4883" y1="83.585" x2="105.4561" y2="83.585">
-			<stop  offset="0" style="stop-color:#FF897A"/>
-			<stop  offset="1" style="stop-color:#FF3400"/>
-		</linearGradient>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#6F0000" d="M105.456,35.161v77.654l-0.168,0.613
-			c0,10.262-21.893,18.581-48.9,18.581c-27.006,0-48.898-8.319-48.898-18.581c0-0.205-0.006-0.409,0.012-0.613V35.31
-			c8.615,6.975,27.268,11.805,48.887,11.805C78.161,47.114,96.921,42.217,105.456,35.161z"/>
-	</g>
-</g>
-</svg>
diff --git a/resources/library/shape/rouge disque.svg b/resources/library/shape/rouge disque.svg
deleted file mode 100644
index 8609dbc8..00000000
--- a/resources/library/shape/rouge disque.svg	
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="116.314px" height="116.314px" viewBox="0 0 116.314 116.314" enable-background="new 0 0 116.314 116.314"
-	 xml:space="preserve">
-
-<g>
-	<g opacity="0.25">
-		<circle fill-rule="evenodd" clip-rule="evenodd" cx="60.167" cy="59.473" r="54.195"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="2.2783" y1="56.8423" x2="110.667" y2="56.8423">
-			<stop  offset="0" style="stop-color:#FF897A"/>
-			<stop  offset="1" style="stop-color:#FF3400"/>
-		</linearGradient>
-		<circle fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#6F0000" cx="56.473" cy="56.842" r="54.194"/>
-	</g>
-</g>
-</svg>
diff --git a/resources/library/shape/rouge hexagone.svg b/resources/library/shape/rouge hexagone.svg
deleted file mode 100644
index 5f0cda9f..00000000
--- a/resources/library/shape/rouge hexagone.svg	
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="137.659px" height="119.541px" viewBox="0 0 137.659 119.541" enable-background="new 0 0 137.659 119.541"
-	 xml:space="preserve">
-
-<g>
-	<g opacity="0.25">
-		<polygon fill-rule="evenodd" clip-rule="evenodd" points="102.386,116.527 70.421,116.527 38.453,116.527 6.488,61.16 
-			22.471,33.478 38.453,5.794 70.421,5.794 102.386,5.794 118.371,33.478 134.351,61.16 118.371,88.844 		"/>
-		<polygon fill-rule="evenodd" clip-rule="evenodd" points="102.386,116.527 70.421,116.527 38.453,116.527 6.488,61.16 
-			22.471,33.478 38.453,5.794 70.421,5.794 102.386,5.794 118.371,33.478 134.351,61.16 118.371,88.844 		"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="2.793" y1="58.5303" x2="130.6558" y2="58.5303">
-			<stop  offset="0" style="stop-color:#FF897A"/>
-			<stop  offset="1" style="stop-color:#FF3400"/>
-		</linearGradient>
-		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#6F0000" points="98.691,113.896 66.727,113.896 
-			34.758,113.896 2.793,58.531 18.775,30.848 34.758,3.165 66.727,3.165 98.691,3.165 114.675,30.848 130.656,58.531 
-			114.675,86.215 		"/>
-		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="2.793" y1="58.5303" x2="130.6558" y2="58.5303">
-			<stop  offset="0" style="stop-color:#FF897A"/>
-			<stop  offset="1" style="stop-color:#FF3400"/>
-		</linearGradient>
-		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#6F0000" points="98.691,113.896 66.727,113.896 
-			34.758,113.896 2.793,58.531 18.775,30.848 34.758,3.165 66.727,3.165 98.691,3.165 114.675,30.848 130.656,58.531 
-			114.675,86.215 		"/>
-	</g>
-</g>
-</svg>
diff --git a/resources/library/shape/rouge pentagone.svg b/resources/library/shape/rouge pentagone.svg
deleted file mode 100644
index d46ddbaa..00000000
--- a/resources/library/shape/rouge pentagone.svg	
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="128.463px" height="121.082px" viewBox="0 0 128.463 121.082" enable-background="new 0 0 128.463 121.082"
-	 xml:space="preserve">
-
-<g>
-	<g opacity="0.25">
-		<polygon fill-rule="evenodd" clip-rule="evenodd" points="102.293,118.053 65.822,118.055 29.35,118.053 18.078,83.368 
-			6.81,48.68 36.313,27.242 65.822,5.806 124.833,48.68 113.565,83.368 		"/>
-		<polygon fill-rule="evenodd" clip-rule="evenodd" points="102.293,118.053 65.822,118.055 29.35,118.053 18.078,83.368 
-			6.81,48.68 36.313,27.242 65.822,5.806 124.833,48.68 113.565,83.368 		"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="3.1147" y1="59.3003" x2="121.1382" y2="59.3003">
-			<stop  offset="0" style="stop-color:#FF897A"/>
-			<stop  offset="1" style="stop-color:#FF3400"/>
-		</linearGradient>
-		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#6F0000" points="98.599,115.423 62.126,115.424 
-			25.656,115.423 14.382,80.738 3.115,46.05 32.619,24.612 62.126,3.176 121.138,46.05 109.871,80.738 		"/>
-		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="3.1147" y1="59.3003" x2="121.1382" y2="59.3003">
-			<stop  offset="0" style="stop-color:#FF897A"/>
-			<stop  offset="1" style="stop-color:#FF3400"/>
-		</linearGradient>
-		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#6F0000" points="98.599,115.423 62.126,115.424 
-			25.656,115.423 14.382,80.738 3.115,46.05 32.619,24.612 62.126,3.176 121.138,46.05 109.871,80.738 		"/>
-	</g>
-</g>
-</svg>
diff --git a/resources/library/shape/rouge rectangle arr.svg b/resources/library/shape/rouge rectangle arr.svg
deleted file mode 100644
index 830d8ff0..00000000
--- a/resources/library/shape/rouge rectangle arr.svg	
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="157.533px" height="112.898px" viewBox="0 0 157.533 112.898" enable-background="new 0 0 157.533 112.898"
-	 xml:space="preserve">
-
-<g>
-	<g opacity="0.25">
-		<path fill-rule="evenodd" clip-rule="evenodd" d="M9.54,17.229c0-4.787,3.88-8.668,8.668-8.668h125.167
-			c4.787,0,8.668,3.881,8.668,8.668v82.062c0,4.788-3.881,8.671-8.668,8.671H18.208c-4.788,0-8.668-3.883-8.668-8.671V17.229z"/>
-		<path fill-rule="evenodd" clip-rule="evenodd" d="M9.54,17.229c0-4.787,3.88-8.668,8.668-8.668h125.167
-			c4.787,0,8.668,3.881,8.668,8.668v82.062c0,4.788-3.881,8.671-8.668,8.671H18.208c-4.788,0-8.668-3.883-8.668-8.671V17.229z"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5.9233" y1="54.5376" x2="148.4263" y2="54.5376">
-			<stop  offset="0" style="stop-color:#FF897A"/>
-			<stop  offset="1" style="stop-color:#FF3400"/>
-		</linearGradient>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#6F0000" d="M5.923,13.506
-			c0-4.786,3.88-8.668,8.668-8.668h125.167c4.788,0,8.668,3.882,8.668,8.668v82.064c0,4.787-3.88,8.666-8.668,8.666H14.591
-			c-4.788,0-8.668-3.879-8.668-8.666V13.506z"/>
-		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5.9233" y1="54.5376" x2="148.4263" y2="54.5376">
-			<stop  offset="0" style="stop-color:#FF897A"/>
-			<stop  offset="1" style="stop-color:#FF3400"/>
-		</linearGradient>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#6F0000" d="M5.923,13.506
-			c0-4.786,3.88-8.668,8.668-8.668h125.167c4.788,0,8.668,3.882,8.668,8.668v82.064c0,4.787-3.88,8.666-8.668,8.666H14.591
-			c-4.788,0-8.668-3.879-8.668-8.666V13.506z"/>
-	</g>
-</g>
-</svg>
diff --git a/resources/library/shape/rouge rectangle.svg b/resources/library/shape/rouge rectangle.svg
deleted file mode 100644
index 91318f39..00000000
--- a/resources/library/shape/rouge rectangle.svg	
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="157.533px" height="112.898px" viewBox="0 0 157.533 112.898" enable-background="new 0 0 157.533 112.898"
-	 xml:space="preserve">
-
-<g>
-	<g opacity="0.25">
-		<g>
-			<polygon points="9.54,8.483 152.177,8.483 152.177,108.233 9.54,108.233 9.54,8.483 			"/>
-			<path d="M80.859,58.358"/>
-		</g>
-		<g>
-			<polygon points="9.54,8.483 152.177,8.483 152.177,108.233 9.54,108.233 9.54,8.483 			"/>
-			<path d="M80.859,58.358"/>
-		</g>
-	</g>
-	<g>
-		<g>
-			<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5.9233" y1="54.6367" x2="148.5601" y2="54.6367">
-				<stop  offset="0" style="stop-color:#FF897A"/>
-				<stop  offset="1" style="stop-color:#FF3400"/>
-			</linearGradient>
-			<polygon fill="url(#SVGID_1_)" stroke="#6F0000" points="5.923,4.762 148.56,4.762 148.56,104.511 5.923,104.511 5.923,4.762 			
-				"/>
-			<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="77.2422" y1="54.6353" x2="77.2422" y2="54.6353">
-				<stop  offset="0" style="stop-color:#FF897A"/>
-				<stop  offset="1" style="stop-color:#FF3400"/>
-			</linearGradient>
-			<path fill="url(#SVGID_2_)" stroke="#6F0000" d="M77.242,54.635"/>
-		</g>
-		<g>
-			<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="5.9233" y1="54.6367" x2="148.5601" y2="54.6367">
-				<stop  offset="0" style="stop-color:#FF897A"/>
-				<stop  offset="1" style="stop-color:#FF3400"/>
-			</linearGradient>
-			<polygon fill="url(#SVGID_3_)" stroke="#6F0000" points="5.923,4.762 148.56,4.762 148.56,104.511 5.923,104.511 5.923,4.762 			
-				"/>
-			<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="77.2422" y1="54.6353" x2="77.2422" y2="54.6353">
-				<stop  offset="0" style="stop-color:#FF897A"/>
-				<stop  offset="1" style="stop-color:#FF3400"/>
-			</linearGradient>
-			<path fill="url(#SVGID_4_)" stroke="#6F0000" d="M77.242,54.635"/>
-		</g>
-	</g>
-</g>
-</svg>
diff --git a/resources/library/shape/rouge étoile arr.svg b/resources/library/shape/rouge étoile arr.svg
deleted file mode 100644
index 5beec8d5..00000000
--- a/resources/library/shape/rouge étoile arr.svg	
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="128.846px" height="122.544px" viewBox="0 0 128.846 122.544" enable-background="new 0 0 128.846 122.544"
-	 xml:space="preserve">
-
-<g>
-	<g opacity="0.25">
-		<path fill-rule="evenodd" clip-rule="evenodd" d="M66.588,97.681l-29.76,21.621c-5.72,4.155-11.191,0.181-9.009-6.546
-			l11.368-34.982L9.43,56.153c-5.72-4.157-3.631-10.588,3.44-10.59l36.783-0.001l11.367-34.98c2.185-6.727,8.947-6.727,11.134,0
-			l11.368,34.98l36.781,0.001c7.071,0.002,9.162,6.433,3.441,10.59L93.989,77.774l11.363,34.982
-			c2.187,6.727-3.286,10.701-9.007,6.546L66.588,97.681z"/>
-		<path fill-rule="evenodd" clip-rule="evenodd" d="M66.588,97.681l-29.76,21.621c-5.72,4.155-11.191,0.181-9.009-6.546
-			l11.368-34.982L9.43,56.153c-5.72-4.157-3.631-10.588,3.44-10.59l36.783-0.001l11.367-34.98c2.185-6.727,8.947-6.727,11.134,0
-			l11.368,34.98l36.781,0.001c7.071,0.002,9.162,6.433,3.441,10.59L93.989,77.774l11.363,34.982
-			c2.187,6.727-3.286,10.701-9.007,6.546L66.588,97.681z"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="2.4385" y1="60.6377" x2="123.3472" y2="60.6377">
-			<stop  offset="0" style="stop-color:#FF897A"/>
-			<stop  offset="1" style="stop-color:#FF3400"/>
-		</linearGradient>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#6F0000" d="M62.894,95.051l-29.76,21.621
-			c-5.721,4.155-11.191,0.181-9.01-6.546l11.369-34.982L5.736,53.523c-5.721-4.157-3.631-10.588,3.439-10.59l36.783-0.001
-			l11.367-34.98c2.186-6.727,8.947-6.727,11.135,0l11.367,34.98l36.781,0.001c7.072,0.002,9.162,6.433,3.441,10.59L90.294,75.144
-			l11.363,34.982c2.186,6.727-3.287,10.701-9.008,6.546L62.894,95.051z"/>
-		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="2.4385" y1="60.6377" x2="123.3472" y2="60.6377">
-			<stop  offset="0" style="stop-color:#FF897A"/>
-			<stop  offset="1" style="stop-color:#FF3400"/>
-		</linearGradient>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#6F0000" d="M62.894,95.051l-29.76,21.621
-			c-5.721,4.155-11.191,0.181-9.01-6.546l11.369-34.982L5.736,53.523c-5.721-4.157-3.631-10.588,3.439-10.59l36.783-0.001
-			l11.367-34.98c2.186-6.727,8.947-6.727,11.135,0l11.367,34.98l36.781,0.001c7.072,0.002,9.162,6.433,3.441,10.59L90.294,75.144
-			l11.363,34.982c2.186,6.727-3.287,10.701-9.008,6.546L62.894,95.051z"/>
-	</g>
-</g>
-</svg>
diff --git a/resources/library/shape/rouge étoile.svg b/resources/library/shape/rouge étoile.svg
deleted file mode 100644
index c7f9ceda..00000000
--- a/resources/library/shape/rouge étoile.svg	
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="128.846px" height="122.544px" viewBox="0 0 128.846 122.544" enable-background="new 0 0 128.846 122.544"
-	 xml:space="preserve">
-
-<g>
-	<g opacity="0.25">
-		<polygon fill-rule="evenodd" clip-rule="evenodd" points="103.702,120.378 66.588,93.416 29.475,120.378 43.65,76.75 
-			6.538,49.786 52.411,49.784 66.588,6.157 80.766,49.784 126.637,49.786 89.526,76.75 		"/>
-		<polygon fill-rule="evenodd" clip-rule="evenodd" points="103.702,120.378 66.588,93.416 29.475,120.378 43.65,76.75 
-			6.538,49.786 52.411,49.784 66.588,6.157 80.766,49.784 126.637,49.786 89.526,76.75 		"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="2.8438" y1="60.6377" x2="122.9438" y2="60.6377">
-			<stop  offset="0" style="stop-color:#FF897A"/>
-			<stop  offset="1" style="stop-color:#FF3400"/>
-		</linearGradient>
-		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" stroke="#6F0000" points="100.006,117.749 62.895,90.786 
-			25.779,117.749 39.955,74.121 2.844,47.156 48.717,47.154 62.895,3.527 77.071,47.154 122.944,47.156 85.831,74.121 		"/>
-		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="2.8438" y1="60.6377" x2="122.9438" y2="60.6377">
-			<stop  offset="0" style="stop-color:#FF897A"/>
-			<stop  offset="1" style="stop-color:#FF3400"/>
-		</linearGradient>
-		<polygon fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_2_)" stroke="#6F0000" points="100.006,117.749 62.895,90.786 
-			25.779,117.749 39.955,74.121 2.844,47.156 48.717,47.154 62.895,3.527 77.071,47.154 122.944,47.156 85.831,74.121 		"/>
-	</g>
-</g>
-</svg>
diff --git a/resources/library/shape/vide bulle gauche.svg b/resources/library/shape/vide bulle gauche.svg
deleted file mode 100644
index 746688c3..00000000
--- a/resources/library/shape/vide bulle gauche.svg	
+++ /dev/null
@@ -1,327 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" [
-	<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
-	<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
-	<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
-	<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
-	<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
-	<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
-	<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
-	<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
-]>
-<svg version="1.0" id="Layer_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="151.256px"
-	 height="138.503px" viewBox="0 0 151.256 138.503" enable-background="new 0 0 151.256 138.503" xml:space="preserve">
-<switch>
-	<foreignObject requiredExtensions="&ns_ai;" x="0" y="0" width="1" height="1">
-		<i:pgfRef  xlink:href="#adobe_illustrator_pgf">
-		</i:pgfRef>
-	</foreignObject>
-	<g i:extraneous="self">
-		<rect fill="none" width="151.256" height="138.503"/>
-		<g>
-			<path fill="none" stroke="#595959" d="M147.327,12.199v82.947c0,4.838-3.922,8.762-8.76,8.762H67.43v30.697l-20.106-30.697
-				H12.053c-4.838,0-8.761-3.924-8.761-8.762V12.199c0-4.84,3.923-8.762,8.761-8.762h126.517c4.838,0,8.76,3.922,8.76,8.762H147.327
-				z"/>
-			<path fill="none" stroke="#595959" d="M147.327,12.199v82.947c0,4.838-3.922,8.762-8.76,8.762H67.43v30.697l-20.106-30.697
-				H12.053c-4.838,0-8.761-3.924-8.761-8.762V12.199c0-4.84,3.923-8.762,8.761-8.762h126.517c4.838,0,8.76,3.922,8.76,8.762H147.327
-				z"/>
-		</g>
-	</g>
-</switch>
-<i:pgf  id="adobe_illustrator_pgf">
-	<![CDATA[
-	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
-	]]>
-	<![CDATA[
-	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
-	]]>
-	<![CDATA[
-	gQyBGS8i30CHGQrGS4bdHS4Ys9HL8QTVEY5N6ALM8rP46PRYKJKbTV2iXBE67yhme5A9QLdS1Tjs
-clZUP1QgM/fx/JGrPNUe2qcJsdSs8m9H/aP7ypT1BMqlxMVjZZe7aFdOIu37o8V7JAs+1Vug5X65
-1n2pjZP7xzsVSSdE7l6dP/kBk+x2faLPxYIJO+gkUUl2233otfTuK0MK2HGx/NwjJbt1iVlnsDIf
-a5Nhh8pqE5Bmd2FR7VdSsptDht0yRUYKy2oTkcKi2p+kXKyQMcPOlOzWyiR1SI0pYKjUtIrUnOwG
-C2TOSBl26ZBNht1ObRAnImVql4ctAlJYjy+Qvq68k5Ld+nbJbv4sGWn9dvdJQ2qpxxe4mVwNSEjv
-bMh7fflARArkWLXaqRln1S9dWKB8kqvZrcJHCap2qTJjaifxi7kl8x4unlFAjBQXYlXbOsGYe2mz
-IqpZSfuYDbVsF3PvGHJr1mABWTMh4xlRhSLAiS6158h0q8YmRb/srxK3xFyRO1V2iCe1j/NQrdet
-VZLD1ZHD3qmyUSU5l144y6Vna2dDLjwBxuEecWNcn20ROYe4vi0VkSOOj1D3jTJW17FLjrUGqIlO
-EUppuEtt/fpx9PyycLovHxfuSleAzsnT6z6bbl0/jLtsOpwdoHnhtpVNh8ulw98Ps0k2Hc4niOGX
-DbPpcLl0G2Q+ujjGJkbar51NZyKLObd6S9l0OFCON4S4zqbDGfV0O7KbbDrcOY1ur9xSNh0ul850
-MrKFbDqcn8V4L9w2sulwvnbNet1WNp3NPVdbzKbD5dIZY0e3kU2H27TR7G81mw7XJfPNxptn0+Hm
-zxNwpZ5SZNPh5g8bDbVRNp0VlGNN4TWy6ci65Taz6VxRbO1sOisoeJfatrPp1qWYu2w6nIXl2Xo2
-HQ4Ayq3eajYdDoBn69l0uNMSSwz8xtl0uFw6s/W6eTYdLn3MeDKyjWw6XC6deX/ZPJsORwxDtayt
-ZNNRZHJtIZsOl0tnU49vcwPwJFjhkQFoqi/26aBiUCaI+Ux0x9TmoEt8opYWknax7Xp1uC7Zahdr
-1auz1S7o6ORY2dawSFUqmfPEzykUC7olUBG1BAVi1jO+U9YuUYkCqupyrtYTrktSdMc5RT49LZ1w
-gRR2EsaGThwt9xoyuYwWEebs+efCuCVgwqxtPHO6XYxc6M5Fzhq+zJ3xnis6ldx9mTuyhLmgOB+m
-LXNnk8lFl0hHdSe4fXyyXOhuwwFdrADFNk1uoShzR+NRvHBf7ofoUbQpdEeTq1S2K3On5L65iQMm
-eoVSJ53ILm7Mru65Wl5uLc/ipHhLlfzqHKIEhlYMbpzLs7ykisUA61ONHcUn0jmUK3Ben5dyPP8W
-EukcY389VBmG5CAO2qw0SJjsVoLILomuP/NKpqmwhWSkNZ+o9UPc6PB3Q5HOe2C6WnyNggrmaKj2
-9qKh2tuMhmpTRkM5BDa3fmiZzyHzMbTxUQiCQrwO3BNwB2e9Lc9gJSE4m3IggmKS3aRMYefILgTM
-ObHWpgK7ObFWvaJYxznjvSP7XZr+VkAIrCy60vDIOj8ElqSKDNftXURSfnNhEykp6r3aKBFQWwuZ
-I6jBM3ORJgdLnBhD3XGluttUyttaBUO4V24tY/NhQUxkcMP7wpSq0JBz5uNBeFN1omy9pXit02oE
-x10+J6GOleWK4nVHZa6T6LIQj4lB7BMZXJ7wQt0rbElk2P91zEyhZMONKtxp+ZX4GndrsaGlwt36
-davdVLiz0cZRjbttZD5WIluqlOfAPtSV8raSl0Sqced6VNirvS15STSFJl1XuHOo9xq1+rCcK9zR
-3moOg1S2ktglh2uQrVf6xNrBTt8hF9ZDn1g72BliXQYURqgh83ELibUvv7jsdrf3XElw3HqzcHdE
-ADhbSKyFUJRAJ3tbzBkO+V44fWiN7k5IYhrTo6v8dgxHL42nou+hGIYNuxv7tXR138gXyxjUAIok
-pj5vsrWMu5hjGpMlI4zObNfNC9Fw724cjKXjyi6Vm5omianPm2z39e1KmOhJm8Sk1hS2Ci5A0Qey
-YHalGEoZqXHaNCYqxbAcj5kUQ4ilHHfYSygVwx5RMURxF25zXEvdL+JNDdg766Ub2okZYQ5mEe2J
-jUQxc43GNR3IEBTWObmODmOJ33A8XLCtLbh5ucehgLY8qqxnZ4nWs71hypT1bJfjqnEvk6j1Yzh8
-SpoZV+b5EzYgpejdn+R6nkDlqda7rzxV+dOzRvb+olyKj8rlUuIShnG2l8rGE5gZuyd7l0x12DrL
-2TMuH84TgMlpzzaF7m6LLf1SMuTDRQ5GN6QkvMxXOHDoW+hlsjFhi5z7J+zUxgkiUqZ2X7rFIfUE
-pDps+iwxM9J3uzJ3sYIOqTFLjBeKEUHnuzAXukt3v5oHhNy/nSAxNY1fvbPYJDxAMUTgw4MfXc05
-UxqeqbqecaTPdpl/P0mDD9ac+7e4vyci3WtyX2MSUg6HVKn7lr++7RIJzFSvn+sEpPmGoXihGekt
-QqrbkXcRa8odQJ/kJMyiZfbx7Q6I7eRYawX3S5MKYjrUktrJ22Qzi1E6FcatrWaW2k+2fuJT3G5n
-FzYZkW6XM1Ux21vQxo/Z7c3PFeO5QpLCQ0JOSfql7ZKUAWHTKVehMKTEJijHthRa9VwhBlYZfbAU
-nqTWvjkEjWLqcJVZnivuQqtsEsDMN0+un5XmFKEpx8FSraeFaXGuG9tTcROy6dQl49LE8As10emj
-tJA/2S4VkOwndskvNnFap1J/rLGxRnEVX1gOr3tRXb1MfCYXnbh6q9IeX9r4YNG9cVu5Na4KZ39L
-2Uhv1S2c8oChvWzuH3urbuHeRjDnuCNrl/dar+lZNseOVrdxCS3MAaTNF3O0WiAwcpQWjX/MFDQy
-TC7MWbODnab9mGklzDC52paNTOEOpnQG14gxc9JpAk35OgOxrsiXXeFcdohidmVl0M0QhgCCuvOt
-C2Z9hGiJj+s2m6O7RLK86FwzhTqR7M18z4E2u65zrJyUN4M3VumSNf9l/4gj3nNAoY3ru2SJU9og
-FdAo77GpnKZ7rsipgBvNnyHPYv/oIba1xfAQN+37GwFLUPTLmF1rA8yx+K8bijnW96EfZHKbFEtt
-k2JpIjBLurBVO9T4ZZ0sQNocQHNE9xoJYhSmp3KrBgmEY9oxVQ4gnP31swDN80fKAdRFqK6RBWif
-w2E5F1szC9C0VIgWpjUOljRDm1TUkyi2bhagYUpscgAtOVZEcmxSUU9nI6+RBUjuktFXYjqvlPpj
-GZVJe3JdlM9VRba1i/IZq2X9U0X5cF6F7Rflc67Ito2ifJKNvL8dOhGL8qGTRHcV8NYoyofzwm2/
-KJ9tfeStFeWjrV+5QVE+g1cBdqqZfiF06qZDlRpMqOq3jbuhYF2/rWRybe1uqM3q+hmHZk5sWiPa
-FlvXz94rhMmxWquun2lVmqr6rXs3lLmun71XiGiJu6zrR5ghuaof6W4ot3X9qFbyxnX97CNDdJ6r
-jer6UWRybaGun5TJRXLnqvvLhnX97IdmrV+5Xl0/+6p+a1UAwdT1sx8QPkLVfV0/7DTZ32q+Rl0/
-+4gzwl3QRurQph8Rk490Wt9Gdf3sNzp0yrOFun72Vf1c3kBFrOtnb+oSoqBd1/XDRU1pVf02rse3
-hZx3+rp+9lDQ7G+hrp/9gYouonujun72ibOYjNS16vrhD1SUqn6m6gxr1/WzhsHpq/opcUprp6fI
-df3shZnHtHetW9cPe06jqhCSlbR5XT/7gGtjRur6df0M+VuWqn6We67WrOtnT0ClItumdf1sea0D
-V/I26vrZnw67qMe3wS0exnp8m+c94Kv6uc/mwNf1sz8iJkfbuqvrZ6/JSznvm9f1s6/qt52sNKf4
-DE9gO3X97M+bzVEE69b1s6/qt0E9PhdBGnb1+Da+TEet6reVenyOtjTF7Q3Wun5uSvGZJMxmdf0s
-yRaGqn5qxtCGdf3U5YWt6rdOVpp7NYe4xlzW9bNTc15+gb2/lbp+28h7da7rR5f3umldPxUKZW30
-9er6uYu5wtT1Wz8ZXq3qZ6iPrD9Vcp3zZFfVz+aWM1d1/QhyTFYDLLvYmnX97AOdLD6lNev6kdLj
-0k4Uo895KgbpuHLjun7u7Mp16/oZBJelqt8m0YP6un72K8JD6eR1qutnrxiqJ4kb1vWzT4jVduTN
-6vrZV/XD6GNr1fWzU4IkHWYbdf1odZjN6voZZ9Jc1c82u9ZFXT/7zcEhi5O6rp/95iBrSvCoMm7Z
-Hpppmy5L+4I14sN0r1TKX5gmpH1f59pFp5hEdrYPvDemLZrkWDp6Zzy92TOwffBH7/JCglktCILS
-BJQUqLze2W2OIIIZYb7gc2jliyX2r+KpZsGvNGoKPJ8UznzhT/42EQsU91KPV5mzTDYifJ0nFqvB
-foPLF8Inz/6nHd+5GPKd1e4SO723bNHfftytBKbzdnOf+1rGPIFsu/nbz03Hzc/T6fv11yXXLhSu
-Xxq/D212efnR/rqdzDr1xNXqoV8PBfv9ciT03ct83/y0Igcfy8jTqcgH2sF9nk/5fTsLbpEIMP6v
-g9BTc/QQKUSugse//p8m5P3AvMLzJ8WWL/xav/IlSzezyMEofcrUmJNjpnb/WGPqu4trpn5z/cXz
-k5MYv/o63hf2o9dDOHCfnGl5/FuNHOWvn+GU+FDaG1N9yPV54fNiF3LlDYcVSPK8oPzSY0GsPNXO
-mrWjs6ORVgJSqiO4X/q9wxNrxqbbXx0/0JP503n22vd4fRnBjVUa6eo97g/vBbotf/5gVgq02vWL
-/ff2+VG6sHeVjajJoWCaXqqxXHPvGyyLSE3YqZ3HfPzkFaxkmMB5B7aWG97IT2U9+7wHZgbfKlQn
-ZH9rSRuatvvo6XCS2/eAhbNIpquPpd+H04QYrkQK6WGiVE02TsGzq4vTj8799Vkj+34dKWSOTmoF
-/924/Hqx20AjTZZ6karE1uhU5bj+GISfgpFKNLCqBRvn52z1rXjoCZQngwQLJ2deHU1/C0yiO40l
-+41xlEkMfmNwj/fDiIgY/DXYMI8W09RJZyeOwCqyfXcfGUNMIpMOoa+AYqcL8LUYQV/RrU13v+DB
-KYKzDyByUfQp5T88fK/1Q8+XzMfb6efpQdPHg35f6jsaZebv6ouw/kU5MFRfwMhh3asOO1ZfxfUv
-Po8+1BeM7kXMf/6lvLgOoZGy9ebOQH0WQY09Aal5/S0+Ul/FdHDqyyIDnyXkLSFzzcCEpR+2kW2m
-4dekBHv4FlBh30akJsMlC2/puI3p9hc/WCxBWB/mNi41GmXLSfiVQdfGs6PGDfoqgx09PbPITGES
-vVokcdWepsDb+yh6mwxliypZ7uMKFibkzzPJWTtQjRZCb6cHzINfvySByJQEKrIwrdarLPkBxAQO
-niewAURGB5FN7AqHkc4Bnz3upK/Pcq/joMRNoae2zxOQ12/vOXn2s2gKZ5ePj+/a8g==
-	]]>
-	<![CDATA[
-	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
-	]]>
-</i:pgf>
-</svg>
diff --git a/resources/library/shape/vide bulle idée.svg b/resources/library/shape/vide bulle idée.svg
deleted file mode 100644
index a80f71d1..00000000
--- a/resources/library/shape/vide bulle idée.svg	
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="151.256px" height="138.503px" viewBox="0 0 151.256 138.503" enable-background="new 0 0 151.256 138.503"
-	 xml:space="preserve">
-
-<g>
-	<g>
-		<circle fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" cx="84.856" cy="129.688" r="4.988"/>
-		<circle fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" cx="84.856" cy="129.688" r="4.988"/>
-	</g>
-	<g>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" d="M83.754,114.449c0-4.268,3.462-7.73,7.731-7.73
-			c4.271,0,7.732,3.463,7.732,7.73c0,4.272-3.462,7.733-7.732,7.733C87.216,122.183,83.754,118.722,83.754,114.449z"/>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" d="M83.754,114.449c0-4.268,3.462-7.73,7.731-7.73
-			c4.271,0,7.732,3.463,7.732,7.73c0,4.272-3.462,7.733-7.732,7.733C87.216,122.183,83.754,118.722,83.754,114.449z"/>
-	</g>
-	<g>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" d="M3.927,12.125c0-4.84,3.922-8.762,8.761-8.762
-			h126.517c4.838,0,8.76,3.922,8.76,8.762v82.946c0,4.839-3.922,8.763-8.76,8.763H12.688c-4.839,0-8.761-3.924-8.761-8.763V12.125z"
-			/>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" d="M3.927,12.125c0-4.84,3.922-8.762,8.761-8.762
-			h126.517c4.838,0,8.76,3.922,8.76,8.762v82.946c0,4.839-3.922,8.763-8.76,8.763H12.688c-4.839,0-8.761-3.924-8.761-8.763V12.125z"
-			/>
-	</g>
-</g>
-</svg>
diff --git a/resources/library/shape/vide bulle.svg b/resources/library/shape/vide bulle.svg
deleted file mode 100644
index 50d75942..00000000
--- a/resources/library/shape/vide bulle.svg	
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="151.256px" height="138.503px" viewBox="0 0 151.256 138.503" enable-background="new 0 0 151.256 138.503"
-	 xml:space="preserve">
-
-<g>
-	<path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" d="M3.927,12.199c0-4.84,3.922-8.762,8.76-8.762
-		h126.516c4.838,0,8.761,3.922,8.761,8.762v82.947c0,4.838-3.923,8.762-8.761,8.762h-35.27l-20.107,30.697v-30.697H12.688
-		c-4.838,0-8.76-3.924-8.76-8.762V12.199z"/>
-	<path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" d="M3.927,12.199c0-4.84,3.922-8.762,8.76-8.762
-		h126.516c4.838,0,8.761,3.922,8.761,8.762v82.947c0,4.838-3.923,8.762-8.761,8.762h-35.27l-20.107,30.697v-30.697H12.688
-		c-4.838,0-8.76-3.924-8.76-8.762V12.199z"/>
-</g>
-</svg>
diff --git a/resources/library/shape/vide carré arr.svg b/resources/library/shape/vide carré arr.svg
deleted file mode 100644
index 0d79a3ae..00000000
--- a/resources/library/shape/vide carré arr.svg	
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="116.463px" height="115.054px" viewBox="0 0 116.463 115.054" enable-background="new 0 0 116.463 115.054"
-	 xml:space="preserve">
-<g>
-	<path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" d="M4.268,30.014
-		c0-14.408,11.679-26.088,26.088-26.088h56.389c14.408,0,26.086,11.68,26.086,26.088v56.389c0,14.408-11.678,26.088-26.086,26.088
-		H30.355c-14.409,0-26.088-11.68-26.088-26.088V30.014z"/>
-</g>
-</svg>
diff --git a/resources/library/shape/vide carré.svg b/resources/library/shape/vide carré.svg
deleted file mode 100644
index e0488255..00000000
--- a/resources/library/shape/vide carré.svg	
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="116.463px" height="115.054px" viewBox="0 0 116.463 115.054" enable-background="new 0 0 116.463 115.054"
-	 xml:space="preserve">
-
-<g>
-	
-		<rect x="4.268" y="3.926" fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" width="108.562" height="108.564"/>
-</g>
-</svg>
diff --git a/resources/library/shape/vide cylindre.svg b/resources/library/shape/vide cylindre.svg
deleted file mode 100644
index 6966b591..00000000
--- a/resources/library/shape/vide cylindre.svg	
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="104.495px" height="132.564px" viewBox="0 0 104.495 132.564" enable-background="new 0 0 104.495 132.564"
-	 xml:space="preserve">
-
-<g>
-	<g>
-		
-			<ellipse fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" cx="52.564" cy="22.382" rx="48.899" ry="18.583"/>
-	</g>
-	<g>
-		<path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" d="M101.548,33.279v77.655l-0.169,0.612
-			c0,10.262-21.892,18.581-48.899,18.581c-27.007,0-48.898-8.319-48.898-18.581c0-0.206-0.006-0.409,0.012-0.612V33.426
-			c8.615,6.976,27.267,11.806,48.887,11.806C74.252,45.232,93.013,40.333,101.548,33.279z"/>
-	</g>
-</g>
-</svg>
diff --git a/resources/library/shape/vide disque.svg b/resources/library/shape/vide disque.svg
deleted file mode 100644
index d624d408..00000000
--- a/resources/library/shape/vide disque.svg	
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="116.463px" height="115.054px" viewBox="0 0 116.463 115.054" enable-background="new 0 0 116.463 115.054"
-	 xml:space="preserve">
-
-<g>
-	<circle fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" cx="58.549" cy="58.208" r="54.195"/>
-</g>
-</svg>
diff --git a/resources/library/shape/vide hexagone.svg b/resources/library/shape/vide hexagone.svg
deleted file mode 100644
index b63b0f4a..00000000
--- a/resources/library/shape/vide hexagone.svg	
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="131.372px" height="116.478px" viewBox="0 0 131.372 116.478" enable-background="new 0 0 131.372 116.478"
-	 xml:space="preserve">
-
-<g>
-	<polygon fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" points="97.97,113.574 66.005,113.574 
-		34.037,113.574 2.072,58.208 18.055,30.525 34.037,2.842 66.005,2.842 97.97,2.842 113.955,30.525 129.935,58.208 113.955,85.891 	
-		"/>
-	<polygon fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" points="97.97,113.574 66.005,113.574 
-		34.037,113.574 2.072,58.208 18.055,30.525 34.037,2.842 66.005,2.842 97.97,2.842 113.955,30.525 129.935,58.208 113.955,85.891 	
-		"/>
-</g>
-</svg>
diff --git a/resources/library/shape/vide pentagone.svg b/resources/library/shape/vide pentagone.svg
deleted file mode 100644
index c3547169..00000000
--- a/resources/library/shape/vide pentagone.svg	
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="123.829px" height="117.98px" viewBox="0 0 123.829 117.98" enable-background="new 0 0 123.829 117.98"
-	 xml:space="preserve">
-
-<g>
-	<polygon fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" points="98.704,114.331 62.232,114.333 
-		25.76,114.331 14.488,79.646 3.22,44.958 32.723,23.519 62.232,2.083 121.244,44.958 109.975,79.646 	"/>
-	<polygon fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" points="98.704,114.331 62.232,114.333 
-		25.76,114.331 14.488,79.646 3.22,44.958 32.723,23.519 62.232,2.083 121.244,44.958 109.975,79.646 	"/>
-</g>
-</svg>
diff --git a/resources/library/shape/vide rectangle arr.svg b/resources/library/shape/vide rectangle arr.svg
deleted file mode 100644
index c09036cf..00000000
--- a/resources/library/shape/vide rectangle arr.svg	
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="157.533px" height="112.898px" viewBox="0 0 157.533 112.898" enable-background="new 0 0 157.533 112.898"
-	 xml:space="preserve">
-
-<g>
-	<path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" d="M7.752,15.981c0-4.786,3.878-8.668,8.666-8.668
-		h125.168c4.787,0,8.669,3.882,8.669,8.668v82.064c0,4.787-3.882,8.666-8.669,8.666H16.418c-4.788,0-8.666-3.879-8.666-8.666V15.981
-		z"/>
-	<path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#595959" d="M7.752,15.981c0-4.786,3.878-8.668,8.666-8.668
-		h125.168c4.787,0,8.669,3.882,8.669,8.668v82.064c0,4.787-3.882,8.666-8.669,8.666H16.418c-4.788,0-8.666-3.879-8.666-8.666V15.981
-		z"/>
-</g>
-</svg>
diff --git a/resources/library/shape/vide rectangle.svg b/resources/library/shape/vide rectangle.svg
deleted file mode 100644
index 7a66c4b6..00000000
--- a/resources/library/shape/vide rectangle.svg	
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="157.533px" height="112.898px" viewBox="0 0 157.533 112.898" enable-background="new 0 0 157.533 112.898"
-	 xml:space="preserve">
-
-<g>
-	<g>
-		<polygon fill="none" stroke="#595959" points="6.752,7.313 149.387,7.313 149.387,107.062 6.752,107.062 6.752,7.313 		"/>
-		<path fill="none" stroke="#595959" d="M78.071,57.186"/>
-	</g>
-	<g>
-		<polygon fill="none" stroke="#595959" points="6.752,7.313 149.387,7.313 149.387,107.062 6.752,107.062 6.752,7.313 		"/>
-		<path fill="none" stroke="#595959" d="M78.071,57.186"/>
-	</g>
-</g>
-</svg>

From ebd8dc9c9b531b5ae5a7995299c2c14f98644db6 Mon Sep 17 00:00:00 2001
From: bmagnin <vi>
Date: Tue, 1 May 2012 17:13:26 +0200
Subject: [PATCH 10/31] French translation of Applications

---
 .../{Calculator.wgt => Calculatrice.wgt}/config.xml |   0
 .../css/ubwidget.css                                |   0
 .../{Calculator.wgt => Calculatrice.wgt}/icon.png   | Bin
 .../images/arrows_out/bottom.png                    | Bin
 .../images/arrows_out/left.png                      | Bin
 .../images/arrows_out/right.png                     | Bin
 .../images/arrows_out/top.png                       | Bin
 .../images/arrows_over/button_arrow_bottom.png      | Bin
 .../images/arrows_over/button_arrow_left.png        | Bin
 .../images/arrows_over/button_arrow_right.png       | Bin
 .../images/arrows_over/button_arrow_top.png         | Bin
 .../images/back.png                                 | Bin
 .../images/back_small.png                           | Bin
 .../images/button_out-copie.png                     | Bin
 .../images/button_out.gif                           | Bin
 .../images/button_out.png                           | Bin
 .../images/button_out_dark.gif                      | Bin
 .../images/button_out_dark.png                      | Bin
 .../images/button_over.gif                          | Bin
 .../images/button_toggle.png                        | Bin
 .../images/button_toggle_invert.png                 | Bin
 .../images/buttons_shadow/back.png                  | Bin
 .../images/buttons_shadow/bottom.png                | Bin
 .../images/buttons_shadow/cbottomleft.png           | Bin
 .../images/buttons_shadow/cbottomright.png          | Bin
 .../images/buttons_shadow/ctopleft.png              | Bin
 .../images/buttons_shadow/ctopright.png             | Bin
 .../images/buttons_shadow/left.png                  | Bin
 .../images/buttons_shadow/right.png                 | Bin
 .../images/buttons_shadow/top.png                   | Bin
 .../images/calculator/pi.png                        | Bin
 .../images/calculator/pi.psd                        | Bin
 .../images/calculator/pi_click.png                  | Bin
 .../images/calculator/pi_over.png                   | Bin
 .../images/calculator/pow.png                       | Bin
 .../images/calculator/pow.psd                       | Bin
 .../images/calculator/sq.png                        | Bin
 .../images/calculator/sq.psd                        | Bin
 .../images/calculator/sq_click.png                  | Bin
 .../images/calculator/sq_over.png                   | Bin
 .../images/display copy.png                         | Bin
 .../images/display.png                              | Bin
 .../images/historyback.png                          | Bin
 .../images/historytab.png                           | Bin
 .../images/historytabOver.png                       | Bin
 .../images/inspector.png                            | Bin
 .../images/touche0.png                              | Bin
 .../images/touche0_over.png                         | Bin
 .../images/touche0_over_down.png                    | Bin
 .../images/touche1.png                              | Bin
 .../images/touche1_over.png                         | Bin
 .../images/touche1_over_down.png                    | Bin
 .../images/touche2.png                              | Bin
 .../images/touche2_over.png                         | Bin
 .../images/touche2_over_down.png                    | Bin
 .../images/touche3.png                              | Bin
 .../images/touche3_over.png                         | Bin
 .../images/touche3_over_down.png                    | Bin
 .../images/touche4.png                              | Bin
 .../images/touche4_over.png                         | Bin
 .../images/touche4_over_down.png                    | Bin
 .../images/touche5.png                              | Bin
 .../images/touche5_over.png                         | Bin
 .../images/touche5_over_down.png                    | Bin
 .../images/touche6.png                              | Bin
 .../images/touche6_over.png                         | Bin
 .../images/touche6_over_down.png                    | Bin
 .../images/touche7.png                              | Bin
 .../images/touche7_over.png                         | Bin
 .../images/touche7_over_down.png                    | Bin
 .../images/touche8.png                              | Bin
 .../images/touche8_over.png                         | Bin
 .../images/touche8_over_down.png                    | Bin
 .../images/touche9.png                              | Bin
 .../images/touche9_over.png                         | Bin
 .../images/touche9_over_down.png                    | Bin
 .../images/touchec.png                              | Bin
 .../images/touchec_over.png                         | Bin
 .../images/touchec_over_down.png                    | Bin
 .../images/touchediv.png                            | Bin
 .../images/touchediv_over.png                       | Bin
 .../images/touchediv_over_down.png                  | Bin
 .../images/touchedot.png                            | Bin
 .../images/touchedot_over.png                       | Bin
 .../images/touchedot_over_down.png                  | Bin
 .../images/toucheeq.png                             | Bin
 .../images/toucheeq_over.png                        | Bin
 .../images/toucheeq_over_down.png                   | Bin
 .../images/touchef.png                              | Bin
 .../images/touchef_over.png                         | Bin
 .../images/touchef_over_down.png                    | Bin
 .../images/touchem.png                              | Bin
 .../images/touchem_over.png                         | Bin
 .../images/touchem_over_down.png                    | Bin
 .../images/touchep.png                              | Bin
 .../images/touchep_over.png                         | Bin
 .../images/touchep_over_down.png                    | Bin
 .../images/touchepd.png                             | Bin
 .../images/touchepd_over.png                        | Bin
 .../images/touchepd_over_down.png                   | Bin
 .../images/touchepg.png                             | Bin
 .../images/touchepg_over.png                        | Bin
 .../images/touchepg_over_down.png                   | Bin
 .../{Calculator.wgt => Calculatrice.wgt}/index.html |   0
 .../js/DD_roundies_0.0.2a.js                        |   0
 .../js/calculate.js                                 |   0
 .../js/jquery-1.3.2.min.js                          |   0
 .../js/jquery-ui-1.7.2.custom.min.js                |   0
 .../js/jquery.center.js                             |   0
 .../js/jquery.disable.text.select.js                |   0
 .../js/jquery.easing.1.2.js                         |   0
 .../js/jquery.ubwidget.js                           |   0
 .../js/ubw-main.js                                  |   0
 .../{Anyembed.wgt => Composant Web.wgt}/config.xml  |   0
 .../css/ubwidget.css                                |   0
 .../{Anyembed.wgt => Composant Web.wgt}/icon.png    | Bin
 .../{Anyembed.wgt => Composant Web.wgt}/index.html  |   0
 .../js/jquery-1.3.2.min.js                          |   0
 .../js/jquery.disable.text.select.js                |   0
 .../js/languages.js                                 |   0
 .../js/ubw-main.js                                  |   0
 .../{Html.wgt => Edit Html.wgt}/config.xml          |   0
 .../{Html.wgt => Edit Html.wgt}/icon.png            | Bin
 .../{Html.wgt => Edit Html.wgt}/images/bts.png      | Bin
 .../{Html.wgt => Edit Html.wgt}/images/style.css    |   0
 .../{Html.wgt => Edit Html.wgt}/index.html          |   0
 .../{Html.wgt => Edit Html.wgt}/jquery.pack.js      |   0
 .../{Html.wgt => Edit Html.wgt}/languages.js        |   0
 .../markitup/jquery.markitup.js                     |   0
 .../markitup/jquery.markitup.pack.js                |   0
 .../{Html.wgt => Edit Html.wgt}/markitup/readme.txt |   0
 .../markitup/sets/default/images/bold.png           | Bin
 .../markitup/sets/default/images/clean.png          | Bin
 .../markitup/sets/default/images/image.png          | Bin
 .../markitup/sets/default/images/italic.png         | Bin
 .../markitup/sets/default/images/link.png           | Bin
 .../markitup/sets/default/images/picture.png        | Bin
 .../markitup/sets/default/images/preview.png        | Bin
 .../markitup/sets/default/images/stroke.png         | Bin
 .../markitup/sets/default/set.js                    |   0
 .../markitup/sets/default/style.css                 |   0
 .../markitup/sets/html/images/bold.png              | Bin
 .../markitup/sets/html/images/clean.png             | Bin
 .../markitup/sets/html/images/h1.png                | Bin
 .../markitup/sets/html/images/h2.png                | Bin
 .../markitup/sets/html/images/h3.png                | Bin
 .../markitup/sets/html/images/h4.png                | Bin
 .../markitup/sets/html/images/h5.png                | Bin
 .../markitup/sets/html/images/h6.png                | Bin
 .../markitup/sets/html/images/image.png             | Bin
 .../markitup/sets/html/images/italic.png            | Bin
 .../markitup/sets/html/images/link.png              | Bin
 .../markitup/sets/html/images/list-bullet.png       | Bin
 .../markitup/sets/html/images/list-item.png         | Bin
 .../markitup/sets/html/images/list-numeric.png      | Bin
 .../markitup/sets/html/images/paragraph.png         | Bin
 .../markitup/sets/html/images/picture.png           | Bin
 .../markitup/sets/html/images/preview.png           | Bin
 .../markitup/sets/html/images/stroke.png            | Bin
 .../markitup/sets/html/readme.txt                   |   0
 .../markitup/sets/html/set.js                       |   0
 .../markitup/sets/html/style.css                    |   0
 .../skins/macosx/images/bg-container-white.png      | Bin
 .../markitup/skins/macosx/images/bg-container.png   | Bin
 .../skins/macosx/images/bg-footer-white.png         | Bin
 .../markitup/skins/macosx/images/bg-footer.png      | Bin
 .../skins/macosx/images/bg-header-white.png         | Bin
 .../markitup/skins/macosx/images/bg-header.png      | Bin
 .../markitup/skins/macosx/images/handle.png         | Bin
 .../markitup/skins/macosx/images/menu.png           | Bin
 .../markitup/skins/macosx/images/spacer.gif         | Bin
 .../markitup/skins/macosx/images/submenu.png        | Bin
 .../markitup/skins/macosx/readme.txt                |   0
 .../markitup/skins/macosx/style.css                 |   0
 .../markitup/skins/markitup/images/bg-container.png | Bin
 .../skins/markitup/images/bg-editor-bbcode.png      | Bin
 .../skins/markitup/images/bg-editor-dotclear.png    | Bin
 .../skins/markitup/images/bg-editor-html.png        | Bin
 .../skins/markitup/images/bg-editor-json.png        | Bin
 .../skins/markitup/images/bg-editor-markdown.png    | Bin
 .../skins/markitup/images/bg-editor-textile.png     | Bin
 .../skins/markitup/images/bg-editor-wiki.png        | Bin
 .../skins/markitup/images/bg-editor-xml.png         | Bin
 .../markitup/skins/markitup/images/bg-editor.png    | Bin
 .../markitup/skins/markitup/images/handle.png       | Bin
 .../markitup/skins/markitup/images/menu.png         | Bin
 .../markitup/skins/markitup/images/submenu.png      | Bin
 .../markitup/skins/markitup/style.css               |   0
 .../markitup/skins/simple/images/handle.png         | Bin
 .../markitup/skins/simple/images/menu.png           | Bin
 .../markitup/skins/simple/images/submenu.png        | Bin
 .../markitup/templates/preview.css                  |   0
 .../markitup/templates/preview.html                 |   0
 .../{Graphme.wgt => Grapheur 3D.wgt}/Grapheur.xhtml |   0
 .../Guide_Utilisateur.html                          |   0
 .../Images/.directory                               |   0
 .../Images/GraphMe.png                              | Bin
 .../Images/Guide_AjouterWidget.png                  | Bin
 .../Images/Guide_Deplacement.png                    | Bin
 .../Images/Guide_Navigateur.png                     | Bin
 .../Images/Guide_Options.png                        | Bin
 .../Images/Guide_Plus.png                           | Bin
 .../Images/Guide_Presentation.png                   | Bin
 .../Images/Guide_Uniboard.png                       | Bin
 .../Images/fond1.png                                | Bin
 .../Images/fond2.png                                | Bin
 .../Images/fond3.png                                | Bin
 .../Images/fond4.png                                | Bin
 .../Images/fond5.png                                | Bin
 .../Images/gauche1.png                              | Bin
 .../Images/gauche2.png                              | Bin
 .../Images/gauche3.png                              | Bin
 .../Images/onglet1.png                              | Bin
 .../Images/onglet2.png                              | Bin
 .../JavaScript/Affichage3D.js                       |   0
 .../JavaScript/AffichageStandard.js                 |   0
 .../JavaScript/AffichageUniboard.js                 |   0
 .../JavaScript/AffichageXPM.js                      |   0
 .../JavaScript/ColorPicker.js                       |   0
 .../JavaScript/Etude.js                             |   0
 .../JavaScript/Interface.js                         |   0
 .../JavaScript/Outils.js                            |   0
 .../JavaScript/Sauvegardes.js                       |   0
 .../JavaScript/jquery-1.3.2.min.js                  |   0
 .../JavaScript/jquery.disable.text.select.js        |   0
 .../JavaScript/languages.js                         |   0
 .../Style/Guide_Utilisateur.css                     |   0
 .../Style/default.css                               |   0
 .../__MACOSX/._Grapheur.xhtml                       | Bin
 .../__MACOSX/._Guide_Utilisateur.html               | Bin
 .../__MACOSX/._Images                               | Bin
 .../__MACOSX/._JavaScript                           | Bin
 .../__MACOSX/._Style                                | Bin
 .../__MACOSX/._config.xml                           | Bin
 .../__MACOSX/._icon.png                             | Bin
 .../__MACOSX/._version.html                         | Bin
 .../__MACOSX/Images/._.directory                    | Bin
 .../__MACOSX/Images/._GraphMe.png                   | Bin
 .../__MACOSX/Images/._Guide_AjouterWidget.png       | Bin
 .../__MACOSX/Images/._Guide_Deplacement.png         | Bin
 .../__MACOSX/Images/._Guide_Navigateur.png          | Bin
 .../__MACOSX/Images/._Guide_Options.png             | Bin
 .../__MACOSX/Images/._Guide_Plus.png                | Bin
 .../__MACOSX/Images/._Guide_Presentation.png        | Bin
 .../__MACOSX/Images/._Guide_Uniboard.png            | Bin
 .../__MACOSX/Images/._fond1.png                     | Bin
 .../__MACOSX/Images/._fond2.png                     | Bin
 .../__MACOSX/Images/._fond3.png                     | Bin
 .../__MACOSX/Images/._fond4.png                     | Bin
 .../__MACOSX/Images/._fond5.png                     | Bin
 .../__MACOSX/Images/._gauche1.png                   | Bin
 .../__MACOSX/Images/._gauche2.png                   | Bin
 .../__MACOSX/Images/._gauche3.png                   | Bin
 .../__MACOSX/Images/._onglet1.png                   | Bin
 .../__MACOSX/Images/._onglet2.png                   | Bin
 .../__MACOSX/JavaScript/._.directory                | Bin
 .../__MACOSX/JavaScript/._Affichage3D.js            | Bin
 .../__MACOSX/JavaScript/._AffichageStandard.js      | Bin
 .../__MACOSX/JavaScript/._AffichageUniboard.js      | Bin
 .../__MACOSX/JavaScript/._AffichageXPM.js           | Bin
 .../__MACOSX/JavaScript/._ColorPicker.js            | Bin
 .../__MACOSX/JavaScript/._Etude.js                  | Bin
 .../__MACOSX/JavaScript/._Interface.js              | Bin
 .../__MACOSX/JavaScript/._Outils.js                 | Bin
 .../__MACOSX/JavaScript/._Sauvegardes.js            | Bin
 .../__MACOSX/Style/._Guide_Utilisateur.css          | Bin
 .../__MACOSX/Style/._default.css                    | Bin
 .../{Graphme.wgt => Grapheur 3D.wgt}/config.xml     |   0
 .../{Graphme.wgt => Grapheur 3D.wgt}/icon.png       | Bin
 .../{Graphme.wgt => Grapheur 3D.wgt}/version.html   |   0
 .../{Stopwatch.wgt => Minuteur.wgt}/beep.wav        | Bin
 .../{Stopwatch.wgt => Minuteur.wgt}/config.xml      |   0
 .../css/ubwidget.css                                |   0
 .../{Stopwatch.wgt => Minuteur.wgt}/finalbeep.wav   | Bin
 .../{Stopwatch.wgt => Minuteur.wgt}/icon.png        | Bin
 .../images/arrows_out/bottom.png                    | Bin
 .../images/arrows_out/left.png                      | Bin
 .../images/arrows_out/right.png                     | Bin
 .../images/arrows_out/top.png                       | Bin
 .../images/arrows_over/bottom.png                   | Bin
 .../images/arrows_over/button_arrow_bottom.png      | Bin
 .../images/arrows_over/button_arrow_left.png        | Bin
 .../images/arrows_over/button_arrow_right.png       | Bin
 .../images/arrows_over/button_arrow_top.png         | Bin
 .../images/arrows_over/top.png                      | Bin
 .../{Stopwatch.wgt => Minuteur.wgt}/images/back.png | Bin
 .../images/button_out-copie.png                     | Bin
 .../images/button_out.gif                           | Bin
 .../images/button_out.png                           | Bin
 .../images/button_out_dark.png                      | Bin
 .../images/button_pause.png                         | Bin
 .../images/button_pause_invert.png                  | Bin
 .../images/button_pause_invertxov.png               | Bin
 .../images/button_play.png                          | Bin
 .../images/button_play_invert.png                   | Bin
 .../images/button_play_invertxov.png                | Bin
 .../images/button_reset_invert.png                  | Bin
 .../images/button_toggle.png                        | Bin
 .../images/button_toggle_invert.png                 | Bin
 .../images/buttons_shadow/back.png                  | Bin
 .../images/buttons_shadow/bottom.png                | Bin
 .../images/buttons_shadow/cbottomleft.png           | Bin
 .../images/buttons_shadow/cbottomright.png          | Bin
 .../images/buttons_shadow/ctopleft.png              | Bin
 .../images/buttons_shadow/ctopright.png             | Bin
 .../images/buttons_shadow/left.png                  | Bin
 .../images/buttons_shadow/right.png                 | Bin
 .../images/buttons_shadow/top.png                   | Bin
 .../images/inspector.png                            | Bin
 .../{Stopwatch.wgt => Minuteur.wgt}/index.html      |   0
 .../js/DD_roundies_0.0.2a.js                        |   0
 .../{Stopwatch.wgt => Minuteur.wgt}/js/calculate.js |   0
 .../js/jquery-1.3.2.min.js                          |   0
 .../js/jquery-ui-1.7.2.custom.min.js                |   0
 .../js/jquery.center.js                             |   0
 .../js/jquery.disable.text.select.js                |   0
 .../js/jquery.easing.1.2.js                         |   0
 .../js/jquery.ubwidget.js                           |   0
 .../{Stopwatch.wgt => Minuteur.wgt}/js/ubw-main.js  |   0
 .../config.xml                                      |   0
 .../css/howto.css                                   |   0
 .../css/main.css                                    |   0
 .../{WebBrowser.wgt => Navigateur Web.wgt}/icon.png | Bin
 .../imgs/arrow.png                                  | Bin
 .../imgs/button.png                                 | Bin
 .../imgs/button_anim.gif                            | Bin
 .../imgs/button_over.png                            | Bin
 .../imgs/button_show.png                            | Bin
 .../imgs/capture_youtube.jpg                        | Bin
 .../imgs/center.png                                 | Bin
 .../imgs/howto_back.png                             | Bin
 .../imgs/info_ico.png                               | Bin
 .../imgs/inputfield_back.png                        | Bin
 .../imgs/keys_copy.jpg                              | Bin
 .../imgs/keys_paste.jpg                             | Bin
 .../imgs/left.png                                   | Bin
 .../imgs/logos_web.jpg                              | Bin
 .../imgs/right.png                                  | Bin
 .../index.html                                      |   0
 .../locales/en/capture_widget.jpg                   | Bin
 .../locales/en/error.html                           |   0
 .../locales/en/howto.html                           |   0
 .../locales/fr/capture_widget.jpg                   | Bin
 .../locales/fr/error.html                           |   0
 .../locales/fr/howto.html                           |   0
 .../locales/ru/capture_widget.jpg                   | Bin
 .../locales/ru/error.html                           |   0
 .../locales/ru/howto.html                           |   0
 .../scripts/jquery-1.3.2.min.js                     |   0
 .../scripts/languages.js                            |   0
 .../{ColorPicker.wgt => Nuancier.wgt}/Default.png   | Bin
 .../{ColorPicker.wgt => Nuancier.wgt}/config.xml    |   0
 .../css/colorpicker.css                             |   0
 .../css/layout.css                                  |   0
 .../{ColorPicker.wgt => Nuancier.wgt}/icon.png      | Bin
 .../images/blank.png                                | Bin
 .../images/colorpicker_background.png               | Bin
 .../images/colorpicker_hex.png                      | Bin
 .../images/colorpicker_hsb_b.png                    | Bin
 .../images/colorpicker_hsb_h.png                    | Bin
 .../images/colorpicker_hsb_s.png                    | Bin
 .../images/colorpicker_indic.png                    | Bin
 .../images/colorpicker_overlay.png                  | Bin
 .../images/colorpicker_rgb_b.png                    | Bin
 .../images/colorpicker_rgb_g.png                    | Bin
 .../images/colorpicker_rgb_r.png                    | Bin
 .../images/colorpicker_select.png                   | Bin
 .../images/colorpicker_submit.png                   | Bin
 .../images/custom_background.png                    | Bin
 .../images/custom_hex.png                           | Bin
 .../images/custom_hsb_b.png                         | Bin
 .../images/custom_hsb_h.png                         | Bin
 .../images/custom_hsb_s.png                         | Bin
 .../images/custom_indic.png                         | Bin
 .../images/custom_rgb_b.png                         | Bin
 .../images/custom_rgb_g.png                         | Bin
 .../images/custom_rgb_r.png                         | Bin
 .../images/custom_submit.png                        | Bin
 .../images/select.png                               | Bin
 .../images/select2.png                              | Bin
 .../images/slider.png                               | Bin
 .../images/tools.jpg                                | Bin
 .../{ColorPicker.wgt => Nuancier.wgt}/index.html    |   0
 .../js/colorpicker.js                               |   0
 .../{ColorPicker.wgt => Nuancier.wgt}/js/eye.js     |   0
 .../{ColorPicker.wgt => Nuancier.wgt}/js/jquery.js  |   0
 .../{ColorPicker.wgt => Nuancier.wgt}/js/layout.js  |   0
 .../{ColorPicker.wgt => Nuancier.wgt}/js/utils.js   |   0
 .../config.xml                                      |   0
 .../css/howto.css                                   |   0
 .../css/main.css                                    |   0
 .../{VideoPicker.wgt => Sél vidéo.wgt}/icon.png | Bin
 .../imgs/arrow.png                                  | Bin
 .../imgs/bts.png                                    | Bin
 .../imgs/btson.png                                  | Bin
 .../imgs/button.png                                 | Bin
 .../imgs/button_anim.gif                            | Bin
 .../imgs/button_over.png                            | Bin
 .../imgs/button_show.png                            | Bin
 .../imgs/capture_youtube.jpg                        | Bin
 .../imgs/center.png                                 | Bin
 .../imgs/howto_back.png                             | Bin
 .../imgs/info_ico.png                               | Bin
 .../imgs/inputfield_back.png                        | Bin
 .../imgs/keys_copy.jpg                              | Bin
 .../imgs/keys_paste.jpg                             | Bin
 .../imgs/left.png                                   | Bin
 .../imgs/logos_web.jpg                              | Bin
 .../imgs/right.png                                  | Bin
 .../index.html                                      |   0
 .../locales/en/capture_widget.jpg                   | Bin
 .../locales/en/error.html                           |   0
 .../locales/en/howto.html                           |   0
 .../locales/fr/capture_widget.jpg                   | Bin
 .../locales/fr/error.html                           |   0
 .../locales/fr/howto.html                           |   0
 .../locales/ru/capture_widget.jpg                   | Bin
 .../locales/ru/error.html                           |   0
 .../locales/ru/howto.html                           |   0
 .../scripts/jquery-1.3.2.min.js                     |   0
 .../scripts/jquery.oembed.js                        |   0
 .../scripts/languages.js                            |   0
 .../{Wiktionary.wgt => Wiktionnaire.wgt}/config.xml |   0
 .../css/master.css                                  |   0
 .../css/superfish.css                               |   0
 .../{Wiktionary.wgt => Wiktionnaire.wgt}/icon.png   | Bin
 .../images/toolbarBody.png                          | Bin
 .../images/toolbarButtonBack.png                    | Bin
 .../images/toolbarButtonForward.png                 | Bin
 .../images/toolbarButtonLanguages.png               | Bin
 .../images/toolbarButtonSearch.png                  | Bin
 .../images/toolbarLoading.jpg                       | Bin
 .../{Wiktionary.wgt => Wiktionnaire.wgt}/index.html |   0
 .../script/jquery.min.js                            |   0
 .../script/languages.js                             |   0
 .../script/superfish.js                             |   0
 436 files changed, 0 insertions(+), 0 deletions(-)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/config.xml (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/css/ubwidget.css (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/icon.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/arrows_out/bottom.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/arrows_out/left.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/arrows_out/right.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/arrows_out/top.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/arrows_over/button_arrow_bottom.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/arrows_over/button_arrow_left.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/arrows_over/button_arrow_right.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/arrows_over/button_arrow_top.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/back.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/back_small.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/button_out-copie.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/button_out.gif (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/button_out.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/button_out_dark.gif (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/button_out_dark.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/button_over.gif (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/button_toggle.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/button_toggle_invert.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/buttons_shadow/back.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/buttons_shadow/bottom.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/buttons_shadow/cbottomleft.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/buttons_shadow/cbottomright.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/buttons_shadow/ctopleft.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/buttons_shadow/ctopright.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/buttons_shadow/left.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/buttons_shadow/right.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/buttons_shadow/top.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/calculator/pi.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/calculator/pi.psd (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/calculator/pi_click.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/calculator/pi_over.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/calculator/pow.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/calculator/pow.psd (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/calculator/sq.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/calculator/sq.psd (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/calculator/sq_click.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/calculator/sq_over.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/display copy.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/display.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/historyback.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/historytab.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/historytabOver.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/inspector.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touche0.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touche0_over.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touche0_over_down.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touche1.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touche1_over.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touche1_over_down.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touche2.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touche2_over.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touche2_over_down.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touche3.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touche3_over.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touche3_over_down.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touche4.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touche4_over.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touche4_over_down.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touche5.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touche5_over.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touche5_over_down.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touche6.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touche6_over.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touche6_over_down.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touche7.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touche7_over.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touche7_over_down.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touche8.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touche8_over.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touche8_over_down.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touche9.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touche9_over.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touche9_over_down.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touchec.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touchec_over.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touchec_over_down.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touchediv.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touchediv_over.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touchediv_over_down.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touchedot.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touchedot_over.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touchedot_over_down.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/toucheeq.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/toucheeq_over.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/toucheeq_over_down.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touchef.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touchef_over.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touchef_over_down.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touchem.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touchem_over.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touchem_over_down.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touchep.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touchep_over.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touchep_over_down.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touchepd.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touchepd_over.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touchepd_over_down.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touchepg.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touchepg_over.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/images/touchepg_over_down.png (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/index.html (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/js/DD_roundies_0.0.2a.js (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/js/calculate.js (100%)
 rename resources/library/applications/{Anyembed.wgt => Calculatrice.wgt}/js/jquery-1.3.2.min.js (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/js/jquery-ui-1.7.2.custom.min.js (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/js/jquery.center.js (100%)
 rename resources/library/applications/{Anyembed.wgt => Calculatrice.wgt}/js/jquery.disable.text.select.js (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/js/jquery.easing.1.2.js (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/js/jquery.ubwidget.js (100%)
 rename resources/library/applications/{Calculator.wgt => Calculatrice.wgt}/js/ubw-main.js (100%)
 rename resources/library/applications/{Anyembed.wgt => Composant Web.wgt}/config.xml (100%)
 rename resources/library/applications/{Anyembed.wgt => Composant Web.wgt}/css/ubwidget.css (100%)
 rename resources/library/applications/{Anyembed.wgt => Composant Web.wgt}/icon.png (100%)
 rename resources/library/applications/{Anyembed.wgt => Composant Web.wgt}/index.html (100%)
 rename resources/library/applications/{Calculator.wgt => Composant Web.wgt}/js/jquery-1.3.2.min.js (100%)
 rename resources/library/applications/{Calculator.wgt => Composant Web.wgt}/js/jquery.disable.text.select.js (100%)
 rename resources/library/applications/{Anyembed.wgt => Composant Web.wgt}/js/languages.js (100%)
 rename resources/library/applications/{Anyembed.wgt => Composant Web.wgt}/js/ubw-main.js (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/config.xml (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/icon.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/images/bts.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/images/style.css (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/index.html (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/jquery.pack.js (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/languages.js (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/jquery.markitup.js (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/jquery.markitup.pack.js (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/readme.txt (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/sets/default/images/bold.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/sets/default/images/clean.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/sets/default/images/image.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/sets/default/images/italic.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/sets/default/images/link.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/sets/default/images/picture.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/sets/default/images/preview.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/sets/default/images/stroke.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/sets/default/set.js (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/sets/default/style.css (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/sets/html/images/bold.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/sets/html/images/clean.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/sets/html/images/h1.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/sets/html/images/h2.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/sets/html/images/h3.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/sets/html/images/h4.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/sets/html/images/h5.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/sets/html/images/h6.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/sets/html/images/image.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/sets/html/images/italic.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/sets/html/images/link.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/sets/html/images/list-bullet.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/sets/html/images/list-item.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/sets/html/images/list-numeric.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/sets/html/images/paragraph.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/sets/html/images/picture.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/sets/html/images/preview.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/sets/html/images/stroke.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/sets/html/readme.txt (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/sets/html/set.js (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/sets/html/style.css (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/skins/macosx/images/bg-container-white.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/skins/macosx/images/bg-container.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/skins/macosx/images/bg-footer-white.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/skins/macosx/images/bg-footer.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/skins/macosx/images/bg-header-white.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/skins/macosx/images/bg-header.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/skins/macosx/images/handle.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/skins/macosx/images/menu.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/skins/macosx/images/spacer.gif (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/skins/macosx/images/submenu.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/skins/macosx/readme.txt (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/skins/macosx/style.css (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/skins/markitup/images/bg-container.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/skins/markitup/images/bg-editor-bbcode.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/skins/markitup/images/bg-editor-dotclear.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/skins/markitup/images/bg-editor-html.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/skins/markitup/images/bg-editor-json.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/skins/markitup/images/bg-editor-markdown.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/skins/markitup/images/bg-editor-textile.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/skins/markitup/images/bg-editor-wiki.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/skins/markitup/images/bg-editor-xml.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/skins/markitup/images/bg-editor.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/skins/markitup/images/handle.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/skins/markitup/images/menu.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/skins/markitup/images/submenu.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/skins/markitup/style.css (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/skins/simple/images/handle.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/skins/simple/images/menu.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/skins/simple/images/submenu.png (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/templates/preview.css (100%)
 rename resources/library/applications/{Html.wgt => Edit Html.wgt}/markitup/templates/preview.html (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/Grapheur.xhtml (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/Guide_Utilisateur.html (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/Images/.directory (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/Images/GraphMe.png (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/Images/Guide_AjouterWidget.png (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/Images/Guide_Deplacement.png (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/Images/Guide_Navigateur.png (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/Images/Guide_Options.png (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/Images/Guide_Plus.png (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/Images/Guide_Presentation.png (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/Images/Guide_Uniboard.png (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/Images/fond1.png (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/Images/fond2.png (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/Images/fond3.png (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/Images/fond4.png (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/Images/fond5.png (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/Images/gauche1.png (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/Images/gauche2.png (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/Images/gauche3.png (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/Images/onglet1.png (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/Images/onglet2.png (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/JavaScript/Affichage3D.js (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/JavaScript/AffichageStandard.js (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/JavaScript/AffichageUniboard.js (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/JavaScript/AffichageXPM.js (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/JavaScript/ColorPicker.js (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/JavaScript/Etude.js (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/JavaScript/Interface.js (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/JavaScript/Outils.js (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/JavaScript/Sauvegardes.js (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/JavaScript/jquery-1.3.2.min.js (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/JavaScript/jquery.disable.text.select.js (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/JavaScript/languages.js (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/Style/Guide_Utilisateur.css (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/Style/default.css (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/__MACOSX/._Grapheur.xhtml (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/__MACOSX/._Guide_Utilisateur.html (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/__MACOSX/._Images (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/__MACOSX/._JavaScript (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/__MACOSX/._Style (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/__MACOSX/._config.xml (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/__MACOSX/._icon.png (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/__MACOSX/._version.html (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/__MACOSX/Images/._.directory (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/__MACOSX/Images/._GraphMe.png (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/__MACOSX/Images/._Guide_AjouterWidget.png (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/__MACOSX/Images/._Guide_Deplacement.png (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/__MACOSX/Images/._Guide_Navigateur.png (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/__MACOSX/Images/._Guide_Options.png (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/__MACOSX/Images/._Guide_Plus.png (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/__MACOSX/Images/._Guide_Presentation.png (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/__MACOSX/Images/._Guide_Uniboard.png (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/__MACOSX/Images/._fond1.png (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/__MACOSX/Images/._fond2.png (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/__MACOSX/Images/._fond3.png (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/__MACOSX/Images/._fond4.png (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/__MACOSX/Images/._fond5.png (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/__MACOSX/Images/._gauche1.png (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/__MACOSX/Images/._gauche2.png (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/__MACOSX/Images/._gauche3.png (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/__MACOSX/Images/._onglet1.png (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/__MACOSX/Images/._onglet2.png (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/__MACOSX/JavaScript/._.directory (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/__MACOSX/JavaScript/._Affichage3D.js (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/__MACOSX/JavaScript/._AffichageStandard.js (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/__MACOSX/JavaScript/._AffichageUniboard.js (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/__MACOSX/JavaScript/._AffichageXPM.js (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/__MACOSX/JavaScript/._ColorPicker.js (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/__MACOSX/JavaScript/._Etude.js (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/__MACOSX/JavaScript/._Interface.js (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/__MACOSX/JavaScript/._Outils.js (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/__MACOSX/JavaScript/._Sauvegardes.js (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/__MACOSX/Style/._Guide_Utilisateur.css (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/__MACOSX/Style/._default.css (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/config.xml (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/icon.png (100%)
 rename resources/library/applications/{Graphme.wgt => Grapheur 3D.wgt}/version.html (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/beep.wav (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/config.xml (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/css/ubwidget.css (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/finalbeep.wav (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/icon.png (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/images/arrows_out/bottom.png (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/images/arrows_out/left.png (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/images/arrows_out/right.png (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/images/arrows_out/top.png (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/images/arrows_over/bottom.png (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/images/arrows_over/button_arrow_bottom.png (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/images/arrows_over/button_arrow_left.png (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/images/arrows_over/button_arrow_right.png (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/images/arrows_over/button_arrow_top.png (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/images/arrows_over/top.png (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/images/back.png (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/images/button_out-copie.png (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/images/button_out.gif (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/images/button_out.png (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/images/button_out_dark.png (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/images/button_pause.png (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/images/button_pause_invert.png (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/images/button_pause_invertxov.png (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/images/button_play.png (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/images/button_play_invert.png (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/images/button_play_invertxov.png (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/images/button_reset_invert.png (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/images/button_toggle.png (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/images/button_toggle_invert.png (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/images/buttons_shadow/back.png (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/images/buttons_shadow/bottom.png (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/images/buttons_shadow/cbottomleft.png (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/images/buttons_shadow/cbottomright.png (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/images/buttons_shadow/ctopleft.png (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/images/buttons_shadow/ctopright.png (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/images/buttons_shadow/left.png (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/images/buttons_shadow/right.png (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/images/buttons_shadow/top.png (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/images/inspector.png (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/index.html (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/js/DD_roundies_0.0.2a.js (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/js/calculate.js (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/js/jquery-1.3.2.min.js (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/js/jquery-ui-1.7.2.custom.min.js (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/js/jquery.center.js (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/js/jquery.disable.text.select.js (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/js/jquery.easing.1.2.js (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/js/jquery.ubwidget.js (100%)
 rename resources/library/applications/{Stopwatch.wgt => Minuteur.wgt}/js/ubw-main.js (100%)
 rename resources/library/applications/{WebBrowser.wgt => Navigateur Web.wgt}/config.xml (100%)
 rename resources/library/applications/{VideoPicker.wgt => Navigateur Web.wgt}/css/howto.css (100%)
 rename resources/library/applications/{WebBrowser.wgt => Navigateur Web.wgt}/css/main.css (100%)
 rename resources/library/applications/{WebBrowser.wgt => Navigateur Web.wgt}/icon.png (100%)
 rename resources/library/applications/{VideoPicker.wgt => Navigateur Web.wgt}/imgs/arrow.png (100%)
 rename resources/library/applications/{VideoPicker.wgt => Navigateur Web.wgt}/imgs/button.png (100%)
 rename resources/library/applications/{VideoPicker.wgt => Navigateur Web.wgt}/imgs/button_anim.gif (100%)
 rename resources/library/applications/{VideoPicker.wgt => Navigateur Web.wgt}/imgs/button_over.png (100%)
 rename resources/library/applications/{VideoPicker.wgt => Navigateur Web.wgt}/imgs/button_show.png (100%)
 rename resources/library/applications/{VideoPicker.wgt => Navigateur Web.wgt}/imgs/capture_youtube.jpg (100%)
 rename resources/library/applications/{VideoPicker.wgt => Navigateur Web.wgt}/imgs/center.png (100%)
 rename resources/library/applications/{VideoPicker.wgt => Navigateur Web.wgt}/imgs/howto_back.png (100%)
 rename resources/library/applications/{VideoPicker.wgt => Navigateur Web.wgt}/imgs/info_ico.png (100%)
 rename resources/library/applications/{VideoPicker.wgt => Navigateur Web.wgt}/imgs/inputfield_back.png (100%)
 rename resources/library/applications/{VideoPicker.wgt => Navigateur Web.wgt}/imgs/keys_copy.jpg (100%)
 rename resources/library/applications/{VideoPicker.wgt => Navigateur Web.wgt}/imgs/keys_paste.jpg (100%)
 rename resources/library/applications/{VideoPicker.wgt => Navigateur Web.wgt}/imgs/left.png (100%)
 rename resources/library/applications/{VideoPicker.wgt => Navigateur Web.wgt}/imgs/logos_web.jpg (100%)
 rename resources/library/applications/{VideoPicker.wgt => Navigateur Web.wgt}/imgs/right.png (100%)
 rename resources/library/applications/{WebBrowser.wgt => Navigateur Web.wgt}/index.html (100%)
 rename resources/library/applications/{VideoPicker.wgt => Navigateur Web.wgt}/locales/en/capture_widget.jpg (100%)
 rename resources/library/applications/{WebBrowser.wgt => Navigateur Web.wgt}/locales/en/error.html (100%)
 rename resources/library/applications/{WebBrowser.wgt => Navigateur Web.wgt}/locales/en/howto.html (100%)
 rename resources/library/applications/{VideoPicker.wgt => Navigateur Web.wgt}/locales/fr/capture_widget.jpg (100%)
 rename resources/library/applications/{VideoPicker.wgt => Navigateur Web.wgt}/locales/fr/error.html (100%)
 rename resources/library/applications/{WebBrowser.wgt => Navigateur Web.wgt}/locales/fr/howto.html (100%)
 rename resources/library/applications/{VideoPicker.wgt => Navigateur Web.wgt}/locales/ru/capture_widget.jpg (100%)
 rename resources/library/applications/{WebBrowser.wgt => Navigateur Web.wgt}/locales/ru/error.html (100%)
 rename resources/library/applications/{WebBrowser.wgt => Navigateur Web.wgt}/locales/ru/howto.html (100%)
 rename resources/library/applications/{VideoPicker.wgt => Navigateur Web.wgt}/scripts/jquery-1.3.2.min.js (100%)
 rename resources/library/applications/{WebBrowser.wgt => Navigateur Web.wgt}/scripts/languages.js (100%)
 rename resources/library/applications/{ColorPicker.wgt => Nuancier.wgt}/Default.png (100%)
 rename resources/library/applications/{ColorPicker.wgt => Nuancier.wgt}/config.xml (100%)
 rename resources/library/applications/{ColorPicker.wgt => Nuancier.wgt}/css/colorpicker.css (100%)
 rename resources/library/applications/{ColorPicker.wgt => Nuancier.wgt}/css/layout.css (100%)
 rename resources/library/applications/{ColorPicker.wgt => Nuancier.wgt}/icon.png (100%)
 rename resources/library/applications/{ColorPicker.wgt => Nuancier.wgt}/images/blank.png (100%)
 rename resources/library/applications/{ColorPicker.wgt => Nuancier.wgt}/images/colorpicker_background.png (100%)
 rename resources/library/applications/{ColorPicker.wgt => Nuancier.wgt}/images/colorpicker_hex.png (100%)
 rename resources/library/applications/{ColorPicker.wgt => Nuancier.wgt}/images/colorpicker_hsb_b.png (100%)
 rename resources/library/applications/{ColorPicker.wgt => Nuancier.wgt}/images/colorpicker_hsb_h.png (100%)
 rename resources/library/applications/{ColorPicker.wgt => Nuancier.wgt}/images/colorpicker_hsb_s.png (100%)
 rename resources/library/applications/{ColorPicker.wgt => Nuancier.wgt}/images/colorpicker_indic.png (100%)
 rename resources/library/applications/{ColorPicker.wgt => Nuancier.wgt}/images/colorpicker_overlay.png (100%)
 rename resources/library/applications/{ColorPicker.wgt => Nuancier.wgt}/images/colorpicker_rgb_b.png (100%)
 rename resources/library/applications/{ColorPicker.wgt => Nuancier.wgt}/images/colorpicker_rgb_g.png (100%)
 rename resources/library/applications/{ColorPicker.wgt => Nuancier.wgt}/images/colorpicker_rgb_r.png (100%)
 rename resources/library/applications/{ColorPicker.wgt => Nuancier.wgt}/images/colorpicker_select.png (100%)
 rename resources/library/applications/{ColorPicker.wgt => Nuancier.wgt}/images/colorpicker_submit.png (100%)
 rename resources/library/applications/{ColorPicker.wgt => Nuancier.wgt}/images/custom_background.png (100%)
 rename resources/library/applications/{ColorPicker.wgt => Nuancier.wgt}/images/custom_hex.png (100%)
 rename resources/library/applications/{ColorPicker.wgt => Nuancier.wgt}/images/custom_hsb_b.png (100%)
 rename resources/library/applications/{ColorPicker.wgt => Nuancier.wgt}/images/custom_hsb_h.png (100%)
 rename resources/library/applications/{ColorPicker.wgt => Nuancier.wgt}/images/custom_hsb_s.png (100%)
 rename resources/library/applications/{ColorPicker.wgt => Nuancier.wgt}/images/custom_indic.png (100%)
 rename resources/library/applications/{ColorPicker.wgt => Nuancier.wgt}/images/custom_rgb_b.png (100%)
 rename resources/library/applications/{ColorPicker.wgt => Nuancier.wgt}/images/custom_rgb_g.png (100%)
 rename resources/library/applications/{ColorPicker.wgt => Nuancier.wgt}/images/custom_rgb_r.png (100%)
 rename resources/library/applications/{ColorPicker.wgt => Nuancier.wgt}/images/custom_submit.png (100%)
 rename resources/library/applications/{ColorPicker.wgt => Nuancier.wgt}/images/select.png (100%)
 rename resources/library/applications/{ColorPicker.wgt => Nuancier.wgt}/images/select2.png (100%)
 rename resources/library/applications/{ColorPicker.wgt => Nuancier.wgt}/images/slider.png (100%)
 rename resources/library/applications/{ColorPicker.wgt => Nuancier.wgt}/images/tools.jpg (100%)
 rename resources/library/applications/{ColorPicker.wgt => Nuancier.wgt}/index.html (100%)
 rename resources/library/applications/{ColorPicker.wgt => Nuancier.wgt}/js/colorpicker.js (100%)
 rename resources/library/applications/{ColorPicker.wgt => Nuancier.wgt}/js/eye.js (100%)
 rename resources/library/applications/{ColorPicker.wgt => Nuancier.wgt}/js/jquery.js (100%)
 rename resources/library/applications/{ColorPicker.wgt => Nuancier.wgt}/js/layout.js (100%)
 rename resources/library/applications/{ColorPicker.wgt => Nuancier.wgt}/js/utils.js (100%)
 rename resources/library/applications/{VideoPicker.wgt => Sél vidéo.wgt}/config.xml (100%)
 rename resources/library/applications/{WebBrowser.wgt => Sél vidéo.wgt}/css/howto.css (100%)
 rename resources/library/applications/{VideoPicker.wgt => Sél vidéo.wgt}/css/main.css (100%)
 rename resources/library/applications/{VideoPicker.wgt => Sél vidéo.wgt}/icon.png (100%)
 rename resources/library/applications/{WebBrowser.wgt => Sél vidéo.wgt}/imgs/arrow.png (100%)
 rename resources/library/applications/{VideoPicker.wgt => Sél vidéo.wgt}/imgs/bts.png (100%)
 rename resources/library/applications/{VideoPicker.wgt => Sél vidéo.wgt}/imgs/btson.png (100%)
 rename resources/library/applications/{WebBrowser.wgt => Sél vidéo.wgt}/imgs/button.png (100%)
 rename resources/library/applications/{WebBrowser.wgt => Sél vidéo.wgt}/imgs/button_anim.gif (100%)
 rename resources/library/applications/{WebBrowser.wgt => Sél vidéo.wgt}/imgs/button_over.png (100%)
 rename resources/library/applications/{WebBrowser.wgt => Sél vidéo.wgt}/imgs/button_show.png (100%)
 rename resources/library/applications/{WebBrowser.wgt => Sél vidéo.wgt}/imgs/capture_youtube.jpg (100%)
 rename resources/library/applications/{WebBrowser.wgt => Sél vidéo.wgt}/imgs/center.png (100%)
 rename resources/library/applications/{WebBrowser.wgt => Sél vidéo.wgt}/imgs/howto_back.png (100%)
 rename resources/library/applications/{WebBrowser.wgt => Sél vidéo.wgt}/imgs/info_ico.png (100%)
 rename resources/library/applications/{WebBrowser.wgt => Sél vidéo.wgt}/imgs/inputfield_back.png (100%)
 rename resources/library/applications/{WebBrowser.wgt => Sél vidéo.wgt}/imgs/keys_copy.jpg (100%)
 rename resources/library/applications/{WebBrowser.wgt => Sél vidéo.wgt}/imgs/keys_paste.jpg (100%)
 rename resources/library/applications/{WebBrowser.wgt => Sél vidéo.wgt}/imgs/left.png (100%)
 rename resources/library/applications/{WebBrowser.wgt => Sél vidéo.wgt}/imgs/logos_web.jpg (100%)
 rename resources/library/applications/{WebBrowser.wgt => Sél vidéo.wgt}/imgs/right.png (100%)
 rename resources/library/applications/{VideoPicker.wgt => Sél vidéo.wgt}/index.html (100%)
 rename resources/library/applications/{WebBrowser.wgt => Sél vidéo.wgt}/locales/en/capture_widget.jpg (100%)
 rename resources/library/applications/{VideoPicker.wgt => Sél vidéo.wgt}/locales/en/error.html (100%)
 rename resources/library/applications/{VideoPicker.wgt => Sél vidéo.wgt}/locales/en/howto.html (100%)
 rename resources/library/applications/{WebBrowser.wgt => Sél vidéo.wgt}/locales/fr/capture_widget.jpg (100%)
 rename resources/library/applications/{WebBrowser.wgt => Sél vidéo.wgt}/locales/fr/error.html (100%)
 rename resources/library/applications/{VideoPicker.wgt => Sél vidéo.wgt}/locales/fr/howto.html (100%)
 rename resources/library/applications/{WebBrowser.wgt => Sél vidéo.wgt}/locales/ru/capture_widget.jpg (100%)
 rename resources/library/applications/{VideoPicker.wgt => Sél vidéo.wgt}/locales/ru/error.html (100%)
 rename resources/library/applications/{VideoPicker.wgt => Sél vidéo.wgt}/locales/ru/howto.html (100%)
 rename resources/library/applications/{WebBrowser.wgt => Sél vidéo.wgt}/scripts/jquery-1.3.2.min.js (100%)
 rename resources/library/applications/{VideoPicker.wgt => Sél vidéo.wgt}/scripts/jquery.oembed.js (100%)
 rename resources/library/applications/{VideoPicker.wgt => Sél vidéo.wgt}/scripts/languages.js (100%)
 rename resources/library/applications/{Wiktionary.wgt => Wiktionnaire.wgt}/config.xml (100%)
 rename resources/library/applications/{Wiktionary.wgt => Wiktionnaire.wgt}/css/master.css (100%)
 rename resources/library/applications/{Wiktionary.wgt => Wiktionnaire.wgt}/css/superfish.css (100%)
 rename resources/library/applications/{Wiktionary.wgt => Wiktionnaire.wgt}/icon.png (100%)
 rename resources/library/applications/{Wiktionary.wgt => Wiktionnaire.wgt}/images/toolbarBody.png (100%)
 rename resources/library/applications/{Wiktionary.wgt => Wiktionnaire.wgt}/images/toolbarButtonBack.png (100%)
 rename resources/library/applications/{Wiktionary.wgt => Wiktionnaire.wgt}/images/toolbarButtonForward.png (100%)
 rename resources/library/applications/{Wiktionary.wgt => Wiktionnaire.wgt}/images/toolbarButtonLanguages.png (100%)
 rename resources/library/applications/{Wiktionary.wgt => Wiktionnaire.wgt}/images/toolbarButtonSearch.png (100%)
 rename resources/library/applications/{Wiktionary.wgt => Wiktionnaire.wgt}/images/toolbarLoading.jpg (100%)
 rename resources/library/applications/{Wiktionary.wgt => Wiktionnaire.wgt}/index.html (100%)
 rename resources/library/applications/{Wiktionary.wgt => Wiktionnaire.wgt}/script/jquery.min.js (100%)
 rename resources/library/applications/{Wiktionary.wgt => Wiktionnaire.wgt}/script/languages.js (100%)
 rename resources/library/applications/{Wiktionary.wgt => Wiktionnaire.wgt}/script/superfish.js (100%)

diff --git a/resources/library/applications/Calculator.wgt/config.xml b/resources/library/applications/Calculatrice.wgt/config.xml
similarity index 100%
rename from resources/library/applications/Calculator.wgt/config.xml
rename to resources/library/applications/Calculatrice.wgt/config.xml
diff --git a/resources/library/applications/Calculator.wgt/css/ubwidget.css b/resources/library/applications/Calculatrice.wgt/css/ubwidget.css
similarity index 100%
rename from resources/library/applications/Calculator.wgt/css/ubwidget.css
rename to resources/library/applications/Calculatrice.wgt/css/ubwidget.css
diff --git a/resources/library/applications/Calculator.wgt/icon.png b/resources/library/applications/Calculatrice.wgt/icon.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/icon.png
rename to resources/library/applications/Calculatrice.wgt/icon.png
diff --git a/resources/library/applications/Calculator.wgt/images/arrows_out/bottom.png b/resources/library/applications/Calculatrice.wgt/images/arrows_out/bottom.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/arrows_out/bottom.png
rename to resources/library/applications/Calculatrice.wgt/images/arrows_out/bottom.png
diff --git a/resources/library/applications/Calculator.wgt/images/arrows_out/left.png b/resources/library/applications/Calculatrice.wgt/images/arrows_out/left.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/arrows_out/left.png
rename to resources/library/applications/Calculatrice.wgt/images/arrows_out/left.png
diff --git a/resources/library/applications/Calculator.wgt/images/arrows_out/right.png b/resources/library/applications/Calculatrice.wgt/images/arrows_out/right.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/arrows_out/right.png
rename to resources/library/applications/Calculatrice.wgt/images/arrows_out/right.png
diff --git a/resources/library/applications/Calculator.wgt/images/arrows_out/top.png b/resources/library/applications/Calculatrice.wgt/images/arrows_out/top.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/arrows_out/top.png
rename to resources/library/applications/Calculatrice.wgt/images/arrows_out/top.png
diff --git a/resources/library/applications/Calculator.wgt/images/arrows_over/button_arrow_bottom.png b/resources/library/applications/Calculatrice.wgt/images/arrows_over/button_arrow_bottom.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/arrows_over/button_arrow_bottom.png
rename to resources/library/applications/Calculatrice.wgt/images/arrows_over/button_arrow_bottom.png
diff --git a/resources/library/applications/Calculator.wgt/images/arrows_over/button_arrow_left.png b/resources/library/applications/Calculatrice.wgt/images/arrows_over/button_arrow_left.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/arrows_over/button_arrow_left.png
rename to resources/library/applications/Calculatrice.wgt/images/arrows_over/button_arrow_left.png
diff --git a/resources/library/applications/Calculator.wgt/images/arrows_over/button_arrow_right.png b/resources/library/applications/Calculatrice.wgt/images/arrows_over/button_arrow_right.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/arrows_over/button_arrow_right.png
rename to resources/library/applications/Calculatrice.wgt/images/arrows_over/button_arrow_right.png
diff --git a/resources/library/applications/Calculator.wgt/images/arrows_over/button_arrow_top.png b/resources/library/applications/Calculatrice.wgt/images/arrows_over/button_arrow_top.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/arrows_over/button_arrow_top.png
rename to resources/library/applications/Calculatrice.wgt/images/arrows_over/button_arrow_top.png
diff --git a/resources/library/applications/Calculator.wgt/images/back.png b/resources/library/applications/Calculatrice.wgt/images/back.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/back.png
rename to resources/library/applications/Calculatrice.wgt/images/back.png
diff --git a/resources/library/applications/Calculator.wgt/images/back_small.png b/resources/library/applications/Calculatrice.wgt/images/back_small.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/back_small.png
rename to resources/library/applications/Calculatrice.wgt/images/back_small.png
diff --git a/resources/library/applications/Calculator.wgt/images/button_out-copie.png b/resources/library/applications/Calculatrice.wgt/images/button_out-copie.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/button_out-copie.png
rename to resources/library/applications/Calculatrice.wgt/images/button_out-copie.png
diff --git a/resources/library/applications/Calculator.wgt/images/button_out.gif b/resources/library/applications/Calculatrice.wgt/images/button_out.gif
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/button_out.gif
rename to resources/library/applications/Calculatrice.wgt/images/button_out.gif
diff --git a/resources/library/applications/Calculator.wgt/images/button_out.png b/resources/library/applications/Calculatrice.wgt/images/button_out.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/button_out.png
rename to resources/library/applications/Calculatrice.wgt/images/button_out.png
diff --git a/resources/library/applications/Calculator.wgt/images/button_out_dark.gif b/resources/library/applications/Calculatrice.wgt/images/button_out_dark.gif
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/button_out_dark.gif
rename to resources/library/applications/Calculatrice.wgt/images/button_out_dark.gif
diff --git a/resources/library/applications/Calculator.wgt/images/button_out_dark.png b/resources/library/applications/Calculatrice.wgt/images/button_out_dark.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/button_out_dark.png
rename to resources/library/applications/Calculatrice.wgt/images/button_out_dark.png
diff --git a/resources/library/applications/Calculator.wgt/images/button_over.gif b/resources/library/applications/Calculatrice.wgt/images/button_over.gif
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/button_over.gif
rename to resources/library/applications/Calculatrice.wgt/images/button_over.gif
diff --git a/resources/library/applications/Calculator.wgt/images/button_toggle.png b/resources/library/applications/Calculatrice.wgt/images/button_toggle.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/button_toggle.png
rename to resources/library/applications/Calculatrice.wgt/images/button_toggle.png
diff --git a/resources/library/applications/Calculator.wgt/images/button_toggle_invert.png b/resources/library/applications/Calculatrice.wgt/images/button_toggle_invert.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/button_toggle_invert.png
rename to resources/library/applications/Calculatrice.wgt/images/button_toggle_invert.png
diff --git a/resources/library/applications/Calculator.wgt/images/buttons_shadow/back.png b/resources/library/applications/Calculatrice.wgt/images/buttons_shadow/back.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/buttons_shadow/back.png
rename to resources/library/applications/Calculatrice.wgt/images/buttons_shadow/back.png
diff --git a/resources/library/applications/Calculator.wgt/images/buttons_shadow/bottom.png b/resources/library/applications/Calculatrice.wgt/images/buttons_shadow/bottom.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/buttons_shadow/bottom.png
rename to resources/library/applications/Calculatrice.wgt/images/buttons_shadow/bottom.png
diff --git a/resources/library/applications/Calculator.wgt/images/buttons_shadow/cbottomleft.png b/resources/library/applications/Calculatrice.wgt/images/buttons_shadow/cbottomleft.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/buttons_shadow/cbottomleft.png
rename to resources/library/applications/Calculatrice.wgt/images/buttons_shadow/cbottomleft.png
diff --git a/resources/library/applications/Calculator.wgt/images/buttons_shadow/cbottomright.png b/resources/library/applications/Calculatrice.wgt/images/buttons_shadow/cbottomright.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/buttons_shadow/cbottomright.png
rename to resources/library/applications/Calculatrice.wgt/images/buttons_shadow/cbottomright.png
diff --git a/resources/library/applications/Calculator.wgt/images/buttons_shadow/ctopleft.png b/resources/library/applications/Calculatrice.wgt/images/buttons_shadow/ctopleft.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/buttons_shadow/ctopleft.png
rename to resources/library/applications/Calculatrice.wgt/images/buttons_shadow/ctopleft.png
diff --git a/resources/library/applications/Calculator.wgt/images/buttons_shadow/ctopright.png b/resources/library/applications/Calculatrice.wgt/images/buttons_shadow/ctopright.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/buttons_shadow/ctopright.png
rename to resources/library/applications/Calculatrice.wgt/images/buttons_shadow/ctopright.png
diff --git a/resources/library/applications/Calculator.wgt/images/buttons_shadow/left.png b/resources/library/applications/Calculatrice.wgt/images/buttons_shadow/left.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/buttons_shadow/left.png
rename to resources/library/applications/Calculatrice.wgt/images/buttons_shadow/left.png
diff --git a/resources/library/applications/Calculator.wgt/images/buttons_shadow/right.png b/resources/library/applications/Calculatrice.wgt/images/buttons_shadow/right.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/buttons_shadow/right.png
rename to resources/library/applications/Calculatrice.wgt/images/buttons_shadow/right.png
diff --git a/resources/library/applications/Calculator.wgt/images/buttons_shadow/top.png b/resources/library/applications/Calculatrice.wgt/images/buttons_shadow/top.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/buttons_shadow/top.png
rename to resources/library/applications/Calculatrice.wgt/images/buttons_shadow/top.png
diff --git a/resources/library/applications/Calculator.wgt/images/calculator/pi.png b/resources/library/applications/Calculatrice.wgt/images/calculator/pi.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/calculator/pi.png
rename to resources/library/applications/Calculatrice.wgt/images/calculator/pi.png
diff --git a/resources/library/applications/Calculator.wgt/images/calculator/pi.psd b/resources/library/applications/Calculatrice.wgt/images/calculator/pi.psd
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/calculator/pi.psd
rename to resources/library/applications/Calculatrice.wgt/images/calculator/pi.psd
diff --git a/resources/library/applications/Calculator.wgt/images/calculator/pi_click.png b/resources/library/applications/Calculatrice.wgt/images/calculator/pi_click.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/calculator/pi_click.png
rename to resources/library/applications/Calculatrice.wgt/images/calculator/pi_click.png
diff --git a/resources/library/applications/Calculator.wgt/images/calculator/pi_over.png b/resources/library/applications/Calculatrice.wgt/images/calculator/pi_over.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/calculator/pi_over.png
rename to resources/library/applications/Calculatrice.wgt/images/calculator/pi_over.png
diff --git a/resources/library/applications/Calculator.wgt/images/calculator/pow.png b/resources/library/applications/Calculatrice.wgt/images/calculator/pow.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/calculator/pow.png
rename to resources/library/applications/Calculatrice.wgt/images/calculator/pow.png
diff --git a/resources/library/applications/Calculator.wgt/images/calculator/pow.psd b/resources/library/applications/Calculatrice.wgt/images/calculator/pow.psd
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/calculator/pow.psd
rename to resources/library/applications/Calculatrice.wgt/images/calculator/pow.psd
diff --git a/resources/library/applications/Calculator.wgt/images/calculator/sq.png b/resources/library/applications/Calculatrice.wgt/images/calculator/sq.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/calculator/sq.png
rename to resources/library/applications/Calculatrice.wgt/images/calculator/sq.png
diff --git a/resources/library/applications/Calculator.wgt/images/calculator/sq.psd b/resources/library/applications/Calculatrice.wgt/images/calculator/sq.psd
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/calculator/sq.psd
rename to resources/library/applications/Calculatrice.wgt/images/calculator/sq.psd
diff --git a/resources/library/applications/Calculator.wgt/images/calculator/sq_click.png b/resources/library/applications/Calculatrice.wgt/images/calculator/sq_click.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/calculator/sq_click.png
rename to resources/library/applications/Calculatrice.wgt/images/calculator/sq_click.png
diff --git a/resources/library/applications/Calculator.wgt/images/calculator/sq_over.png b/resources/library/applications/Calculatrice.wgt/images/calculator/sq_over.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/calculator/sq_over.png
rename to resources/library/applications/Calculatrice.wgt/images/calculator/sq_over.png
diff --git a/resources/library/applications/Calculator.wgt/images/display copy.png b/resources/library/applications/Calculatrice.wgt/images/display copy.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/display copy.png
rename to resources/library/applications/Calculatrice.wgt/images/display copy.png
diff --git a/resources/library/applications/Calculator.wgt/images/display.png b/resources/library/applications/Calculatrice.wgt/images/display.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/display.png
rename to resources/library/applications/Calculatrice.wgt/images/display.png
diff --git a/resources/library/applications/Calculator.wgt/images/historyback.png b/resources/library/applications/Calculatrice.wgt/images/historyback.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/historyback.png
rename to resources/library/applications/Calculatrice.wgt/images/historyback.png
diff --git a/resources/library/applications/Calculator.wgt/images/historytab.png b/resources/library/applications/Calculatrice.wgt/images/historytab.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/historytab.png
rename to resources/library/applications/Calculatrice.wgt/images/historytab.png
diff --git a/resources/library/applications/Calculator.wgt/images/historytabOver.png b/resources/library/applications/Calculatrice.wgt/images/historytabOver.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/historytabOver.png
rename to resources/library/applications/Calculatrice.wgt/images/historytabOver.png
diff --git a/resources/library/applications/Calculator.wgt/images/inspector.png b/resources/library/applications/Calculatrice.wgt/images/inspector.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/inspector.png
rename to resources/library/applications/Calculatrice.wgt/images/inspector.png
diff --git a/resources/library/applications/Calculator.wgt/images/touche0.png b/resources/library/applications/Calculatrice.wgt/images/touche0.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touche0.png
rename to resources/library/applications/Calculatrice.wgt/images/touche0.png
diff --git a/resources/library/applications/Calculator.wgt/images/touche0_over.png b/resources/library/applications/Calculatrice.wgt/images/touche0_over.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touche0_over.png
rename to resources/library/applications/Calculatrice.wgt/images/touche0_over.png
diff --git a/resources/library/applications/Calculator.wgt/images/touche0_over_down.png b/resources/library/applications/Calculatrice.wgt/images/touche0_over_down.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touche0_over_down.png
rename to resources/library/applications/Calculatrice.wgt/images/touche0_over_down.png
diff --git a/resources/library/applications/Calculator.wgt/images/touche1.png b/resources/library/applications/Calculatrice.wgt/images/touche1.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touche1.png
rename to resources/library/applications/Calculatrice.wgt/images/touche1.png
diff --git a/resources/library/applications/Calculator.wgt/images/touche1_over.png b/resources/library/applications/Calculatrice.wgt/images/touche1_over.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touche1_over.png
rename to resources/library/applications/Calculatrice.wgt/images/touche1_over.png
diff --git a/resources/library/applications/Calculator.wgt/images/touche1_over_down.png b/resources/library/applications/Calculatrice.wgt/images/touche1_over_down.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touche1_over_down.png
rename to resources/library/applications/Calculatrice.wgt/images/touche1_over_down.png
diff --git a/resources/library/applications/Calculator.wgt/images/touche2.png b/resources/library/applications/Calculatrice.wgt/images/touche2.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touche2.png
rename to resources/library/applications/Calculatrice.wgt/images/touche2.png
diff --git a/resources/library/applications/Calculator.wgt/images/touche2_over.png b/resources/library/applications/Calculatrice.wgt/images/touche2_over.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touche2_over.png
rename to resources/library/applications/Calculatrice.wgt/images/touche2_over.png
diff --git a/resources/library/applications/Calculator.wgt/images/touche2_over_down.png b/resources/library/applications/Calculatrice.wgt/images/touche2_over_down.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touche2_over_down.png
rename to resources/library/applications/Calculatrice.wgt/images/touche2_over_down.png
diff --git a/resources/library/applications/Calculator.wgt/images/touche3.png b/resources/library/applications/Calculatrice.wgt/images/touche3.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touche3.png
rename to resources/library/applications/Calculatrice.wgt/images/touche3.png
diff --git a/resources/library/applications/Calculator.wgt/images/touche3_over.png b/resources/library/applications/Calculatrice.wgt/images/touche3_over.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touche3_over.png
rename to resources/library/applications/Calculatrice.wgt/images/touche3_over.png
diff --git a/resources/library/applications/Calculator.wgt/images/touche3_over_down.png b/resources/library/applications/Calculatrice.wgt/images/touche3_over_down.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touche3_over_down.png
rename to resources/library/applications/Calculatrice.wgt/images/touche3_over_down.png
diff --git a/resources/library/applications/Calculator.wgt/images/touche4.png b/resources/library/applications/Calculatrice.wgt/images/touche4.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touche4.png
rename to resources/library/applications/Calculatrice.wgt/images/touche4.png
diff --git a/resources/library/applications/Calculator.wgt/images/touche4_over.png b/resources/library/applications/Calculatrice.wgt/images/touche4_over.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touche4_over.png
rename to resources/library/applications/Calculatrice.wgt/images/touche4_over.png
diff --git a/resources/library/applications/Calculator.wgt/images/touche4_over_down.png b/resources/library/applications/Calculatrice.wgt/images/touche4_over_down.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touche4_over_down.png
rename to resources/library/applications/Calculatrice.wgt/images/touche4_over_down.png
diff --git a/resources/library/applications/Calculator.wgt/images/touche5.png b/resources/library/applications/Calculatrice.wgt/images/touche5.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touche5.png
rename to resources/library/applications/Calculatrice.wgt/images/touche5.png
diff --git a/resources/library/applications/Calculator.wgt/images/touche5_over.png b/resources/library/applications/Calculatrice.wgt/images/touche5_over.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touche5_over.png
rename to resources/library/applications/Calculatrice.wgt/images/touche5_over.png
diff --git a/resources/library/applications/Calculator.wgt/images/touche5_over_down.png b/resources/library/applications/Calculatrice.wgt/images/touche5_over_down.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touche5_over_down.png
rename to resources/library/applications/Calculatrice.wgt/images/touche5_over_down.png
diff --git a/resources/library/applications/Calculator.wgt/images/touche6.png b/resources/library/applications/Calculatrice.wgt/images/touche6.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touche6.png
rename to resources/library/applications/Calculatrice.wgt/images/touche6.png
diff --git a/resources/library/applications/Calculator.wgt/images/touche6_over.png b/resources/library/applications/Calculatrice.wgt/images/touche6_over.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touche6_over.png
rename to resources/library/applications/Calculatrice.wgt/images/touche6_over.png
diff --git a/resources/library/applications/Calculator.wgt/images/touche6_over_down.png b/resources/library/applications/Calculatrice.wgt/images/touche6_over_down.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touche6_over_down.png
rename to resources/library/applications/Calculatrice.wgt/images/touche6_over_down.png
diff --git a/resources/library/applications/Calculator.wgt/images/touche7.png b/resources/library/applications/Calculatrice.wgt/images/touche7.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touche7.png
rename to resources/library/applications/Calculatrice.wgt/images/touche7.png
diff --git a/resources/library/applications/Calculator.wgt/images/touche7_over.png b/resources/library/applications/Calculatrice.wgt/images/touche7_over.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touche7_over.png
rename to resources/library/applications/Calculatrice.wgt/images/touche7_over.png
diff --git a/resources/library/applications/Calculator.wgt/images/touche7_over_down.png b/resources/library/applications/Calculatrice.wgt/images/touche7_over_down.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touche7_over_down.png
rename to resources/library/applications/Calculatrice.wgt/images/touche7_over_down.png
diff --git a/resources/library/applications/Calculator.wgt/images/touche8.png b/resources/library/applications/Calculatrice.wgt/images/touche8.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touche8.png
rename to resources/library/applications/Calculatrice.wgt/images/touche8.png
diff --git a/resources/library/applications/Calculator.wgt/images/touche8_over.png b/resources/library/applications/Calculatrice.wgt/images/touche8_over.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touche8_over.png
rename to resources/library/applications/Calculatrice.wgt/images/touche8_over.png
diff --git a/resources/library/applications/Calculator.wgt/images/touche8_over_down.png b/resources/library/applications/Calculatrice.wgt/images/touche8_over_down.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touche8_over_down.png
rename to resources/library/applications/Calculatrice.wgt/images/touche8_over_down.png
diff --git a/resources/library/applications/Calculator.wgt/images/touche9.png b/resources/library/applications/Calculatrice.wgt/images/touche9.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touche9.png
rename to resources/library/applications/Calculatrice.wgt/images/touche9.png
diff --git a/resources/library/applications/Calculator.wgt/images/touche9_over.png b/resources/library/applications/Calculatrice.wgt/images/touche9_over.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touche9_over.png
rename to resources/library/applications/Calculatrice.wgt/images/touche9_over.png
diff --git a/resources/library/applications/Calculator.wgt/images/touche9_over_down.png b/resources/library/applications/Calculatrice.wgt/images/touche9_over_down.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touche9_over_down.png
rename to resources/library/applications/Calculatrice.wgt/images/touche9_over_down.png
diff --git a/resources/library/applications/Calculator.wgt/images/touchec.png b/resources/library/applications/Calculatrice.wgt/images/touchec.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touchec.png
rename to resources/library/applications/Calculatrice.wgt/images/touchec.png
diff --git a/resources/library/applications/Calculator.wgt/images/touchec_over.png b/resources/library/applications/Calculatrice.wgt/images/touchec_over.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touchec_over.png
rename to resources/library/applications/Calculatrice.wgt/images/touchec_over.png
diff --git a/resources/library/applications/Calculator.wgt/images/touchec_over_down.png b/resources/library/applications/Calculatrice.wgt/images/touchec_over_down.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touchec_over_down.png
rename to resources/library/applications/Calculatrice.wgt/images/touchec_over_down.png
diff --git a/resources/library/applications/Calculator.wgt/images/touchediv.png b/resources/library/applications/Calculatrice.wgt/images/touchediv.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touchediv.png
rename to resources/library/applications/Calculatrice.wgt/images/touchediv.png
diff --git a/resources/library/applications/Calculator.wgt/images/touchediv_over.png b/resources/library/applications/Calculatrice.wgt/images/touchediv_over.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touchediv_over.png
rename to resources/library/applications/Calculatrice.wgt/images/touchediv_over.png
diff --git a/resources/library/applications/Calculator.wgt/images/touchediv_over_down.png b/resources/library/applications/Calculatrice.wgt/images/touchediv_over_down.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touchediv_over_down.png
rename to resources/library/applications/Calculatrice.wgt/images/touchediv_over_down.png
diff --git a/resources/library/applications/Calculator.wgt/images/touchedot.png b/resources/library/applications/Calculatrice.wgt/images/touchedot.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touchedot.png
rename to resources/library/applications/Calculatrice.wgt/images/touchedot.png
diff --git a/resources/library/applications/Calculator.wgt/images/touchedot_over.png b/resources/library/applications/Calculatrice.wgt/images/touchedot_over.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touchedot_over.png
rename to resources/library/applications/Calculatrice.wgt/images/touchedot_over.png
diff --git a/resources/library/applications/Calculator.wgt/images/touchedot_over_down.png b/resources/library/applications/Calculatrice.wgt/images/touchedot_over_down.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touchedot_over_down.png
rename to resources/library/applications/Calculatrice.wgt/images/touchedot_over_down.png
diff --git a/resources/library/applications/Calculator.wgt/images/toucheeq.png b/resources/library/applications/Calculatrice.wgt/images/toucheeq.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/toucheeq.png
rename to resources/library/applications/Calculatrice.wgt/images/toucheeq.png
diff --git a/resources/library/applications/Calculator.wgt/images/toucheeq_over.png b/resources/library/applications/Calculatrice.wgt/images/toucheeq_over.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/toucheeq_over.png
rename to resources/library/applications/Calculatrice.wgt/images/toucheeq_over.png
diff --git a/resources/library/applications/Calculator.wgt/images/toucheeq_over_down.png b/resources/library/applications/Calculatrice.wgt/images/toucheeq_over_down.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/toucheeq_over_down.png
rename to resources/library/applications/Calculatrice.wgt/images/toucheeq_over_down.png
diff --git a/resources/library/applications/Calculator.wgt/images/touchef.png b/resources/library/applications/Calculatrice.wgt/images/touchef.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touchef.png
rename to resources/library/applications/Calculatrice.wgt/images/touchef.png
diff --git a/resources/library/applications/Calculator.wgt/images/touchef_over.png b/resources/library/applications/Calculatrice.wgt/images/touchef_over.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touchef_over.png
rename to resources/library/applications/Calculatrice.wgt/images/touchef_over.png
diff --git a/resources/library/applications/Calculator.wgt/images/touchef_over_down.png b/resources/library/applications/Calculatrice.wgt/images/touchef_over_down.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touchef_over_down.png
rename to resources/library/applications/Calculatrice.wgt/images/touchef_over_down.png
diff --git a/resources/library/applications/Calculator.wgt/images/touchem.png b/resources/library/applications/Calculatrice.wgt/images/touchem.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touchem.png
rename to resources/library/applications/Calculatrice.wgt/images/touchem.png
diff --git a/resources/library/applications/Calculator.wgt/images/touchem_over.png b/resources/library/applications/Calculatrice.wgt/images/touchem_over.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touchem_over.png
rename to resources/library/applications/Calculatrice.wgt/images/touchem_over.png
diff --git a/resources/library/applications/Calculator.wgt/images/touchem_over_down.png b/resources/library/applications/Calculatrice.wgt/images/touchem_over_down.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touchem_over_down.png
rename to resources/library/applications/Calculatrice.wgt/images/touchem_over_down.png
diff --git a/resources/library/applications/Calculator.wgt/images/touchep.png b/resources/library/applications/Calculatrice.wgt/images/touchep.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touchep.png
rename to resources/library/applications/Calculatrice.wgt/images/touchep.png
diff --git a/resources/library/applications/Calculator.wgt/images/touchep_over.png b/resources/library/applications/Calculatrice.wgt/images/touchep_over.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touchep_over.png
rename to resources/library/applications/Calculatrice.wgt/images/touchep_over.png
diff --git a/resources/library/applications/Calculator.wgt/images/touchep_over_down.png b/resources/library/applications/Calculatrice.wgt/images/touchep_over_down.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touchep_over_down.png
rename to resources/library/applications/Calculatrice.wgt/images/touchep_over_down.png
diff --git a/resources/library/applications/Calculator.wgt/images/touchepd.png b/resources/library/applications/Calculatrice.wgt/images/touchepd.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touchepd.png
rename to resources/library/applications/Calculatrice.wgt/images/touchepd.png
diff --git a/resources/library/applications/Calculator.wgt/images/touchepd_over.png b/resources/library/applications/Calculatrice.wgt/images/touchepd_over.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touchepd_over.png
rename to resources/library/applications/Calculatrice.wgt/images/touchepd_over.png
diff --git a/resources/library/applications/Calculator.wgt/images/touchepd_over_down.png b/resources/library/applications/Calculatrice.wgt/images/touchepd_over_down.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touchepd_over_down.png
rename to resources/library/applications/Calculatrice.wgt/images/touchepd_over_down.png
diff --git a/resources/library/applications/Calculator.wgt/images/touchepg.png b/resources/library/applications/Calculatrice.wgt/images/touchepg.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touchepg.png
rename to resources/library/applications/Calculatrice.wgt/images/touchepg.png
diff --git a/resources/library/applications/Calculator.wgt/images/touchepg_over.png b/resources/library/applications/Calculatrice.wgt/images/touchepg_over.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touchepg_over.png
rename to resources/library/applications/Calculatrice.wgt/images/touchepg_over.png
diff --git a/resources/library/applications/Calculator.wgt/images/touchepg_over_down.png b/resources/library/applications/Calculatrice.wgt/images/touchepg_over_down.png
similarity index 100%
rename from resources/library/applications/Calculator.wgt/images/touchepg_over_down.png
rename to resources/library/applications/Calculatrice.wgt/images/touchepg_over_down.png
diff --git a/resources/library/applications/Calculator.wgt/index.html b/resources/library/applications/Calculatrice.wgt/index.html
similarity index 100%
rename from resources/library/applications/Calculator.wgt/index.html
rename to resources/library/applications/Calculatrice.wgt/index.html
diff --git a/resources/library/applications/Calculator.wgt/js/DD_roundies_0.0.2a.js b/resources/library/applications/Calculatrice.wgt/js/DD_roundies_0.0.2a.js
similarity index 100%
rename from resources/library/applications/Calculator.wgt/js/DD_roundies_0.0.2a.js
rename to resources/library/applications/Calculatrice.wgt/js/DD_roundies_0.0.2a.js
diff --git a/resources/library/applications/Calculator.wgt/js/calculate.js b/resources/library/applications/Calculatrice.wgt/js/calculate.js
similarity index 100%
rename from resources/library/applications/Calculator.wgt/js/calculate.js
rename to resources/library/applications/Calculatrice.wgt/js/calculate.js
diff --git a/resources/library/applications/Anyembed.wgt/js/jquery-1.3.2.min.js b/resources/library/applications/Calculatrice.wgt/js/jquery-1.3.2.min.js
similarity index 100%
rename from resources/library/applications/Anyembed.wgt/js/jquery-1.3.2.min.js
rename to resources/library/applications/Calculatrice.wgt/js/jquery-1.3.2.min.js
diff --git a/resources/library/applications/Calculator.wgt/js/jquery-ui-1.7.2.custom.min.js b/resources/library/applications/Calculatrice.wgt/js/jquery-ui-1.7.2.custom.min.js
similarity index 100%
rename from resources/library/applications/Calculator.wgt/js/jquery-ui-1.7.2.custom.min.js
rename to resources/library/applications/Calculatrice.wgt/js/jquery-ui-1.7.2.custom.min.js
diff --git a/resources/library/applications/Calculator.wgt/js/jquery.center.js b/resources/library/applications/Calculatrice.wgt/js/jquery.center.js
similarity index 100%
rename from resources/library/applications/Calculator.wgt/js/jquery.center.js
rename to resources/library/applications/Calculatrice.wgt/js/jquery.center.js
diff --git a/resources/library/applications/Anyembed.wgt/js/jquery.disable.text.select.js b/resources/library/applications/Calculatrice.wgt/js/jquery.disable.text.select.js
similarity index 100%
rename from resources/library/applications/Anyembed.wgt/js/jquery.disable.text.select.js
rename to resources/library/applications/Calculatrice.wgt/js/jquery.disable.text.select.js
diff --git a/resources/library/applications/Calculator.wgt/js/jquery.easing.1.2.js b/resources/library/applications/Calculatrice.wgt/js/jquery.easing.1.2.js
similarity index 100%
rename from resources/library/applications/Calculator.wgt/js/jquery.easing.1.2.js
rename to resources/library/applications/Calculatrice.wgt/js/jquery.easing.1.2.js
diff --git a/resources/library/applications/Calculator.wgt/js/jquery.ubwidget.js b/resources/library/applications/Calculatrice.wgt/js/jquery.ubwidget.js
similarity index 100%
rename from resources/library/applications/Calculator.wgt/js/jquery.ubwidget.js
rename to resources/library/applications/Calculatrice.wgt/js/jquery.ubwidget.js
diff --git a/resources/library/applications/Calculator.wgt/js/ubw-main.js b/resources/library/applications/Calculatrice.wgt/js/ubw-main.js
similarity index 100%
rename from resources/library/applications/Calculator.wgt/js/ubw-main.js
rename to resources/library/applications/Calculatrice.wgt/js/ubw-main.js
diff --git a/resources/library/applications/Anyembed.wgt/config.xml b/resources/library/applications/Composant Web.wgt/config.xml
similarity index 100%
rename from resources/library/applications/Anyembed.wgt/config.xml
rename to resources/library/applications/Composant Web.wgt/config.xml
diff --git a/resources/library/applications/Anyembed.wgt/css/ubwidget.css b/resources/library/applications/Composant Web.wgt/css/ubwidget.css
similarity index 100%
rename from resources/library/applications/Anyembed.wgt/css/ubwidget.css
rename to resources/library/applications/Composant Web.wgt/css/ubwidget.css
diff --git a/resources/library/applications/Anyembed.wgt/icon.png b/resources/library/applications/Composant Web.wgt/icon.png
similarity index 100%
rename from resources/library/applications/Anyembed.wgt/icon.png
rename to resources/library/applications/Composant Web.wgt/icon.png
diff --git a/resources/library/applications/Anyembed.wgt/index.html b/resources/library/applications/Composant Web.wgt/index.html
similarity index 100%
rename from resources/library/applications/Anyembed.wgt/index.html
rename to resources/library/applications/Composant Web.wgt/index.html
diff --git a/resources/library/applications/Calculator.wgt/js/jquery-1.3.2.min.js b/resources/library/applications/Composant Web.wgt/js/jquery-1.3.2.min.js
similarity index 100%
rename from resources/library/applications/Calculator.wgt/js/jquery-1.3.2.min.js
rename to resources/library/applications/Composant Web.wgt/js/jquery-1.3.2.min.js
diff --git a/resources/library/applications/Calculator.wgt/js/jquery.disable.text.select.js b/resources/library/applications/Composant Web.wgt/js/jquery.disable.text.select.js
similarity index 100%
rename from resources/library/applications/Calculator.wgt/js/jquery.disable.text.select.js
rename to resources/library/applications/Composant Web.wgt/js/jquery.disable.text.select.js
diff --git a/resources/library/applications/Anyembed.wgt/js/languages.js b/resources/library/applications/Composant Web.wgt/js/languages.js
similarity index 100%
rename from resources/library/applications/Anyembed.wgt/js/languages.js
rename to resources/library/applications/Composant Web.wgt/js/languages.js
diff --git a/resources/library/applications/Anyembed.wgt/js/ubw-main.js b/resources/library/applications/Composant Web.wgt/js/ubw-main.js
similarity index 100%
rename from resources/library/applications/Anyembed.wgt/js/ubw-main.js
rename to resources/library/applications/Composant Web.wgt/js/ubw-main.js
diff --git a/resources/library/applications/Html.wgt/config.xml b/resources/library/applications/Edit Html.wgt/config.xml
similarity index 100%
rename from resources/library/applications/Html.wgt/config.xml
rename to resources/library/applications/Edit Html.wgt/config.xml
diff --git a/resources/library/applications/Html.wgt/icon.png b/resources/library/applications/Edit Html.wgt/icon.png
similarity index 100%
rename from resources/library/applications/Html.wgt/icon.png
rename to resources/library/applications/Edit Html.wgt/icon.png
diff --git a/resources/library/applications/Html.wgt/images/bts.png b/resources/library/applications/Edit Html.wgt/images/bts.png
similarity index 100%
rename from resources/library/applications/Html.wgt/images/bts.png
rename to resources/library/applications/Edit Html.wgt/images/bts.png
diff --git a/resources/library/applications/Html.wgt/images/style.css b/resources/library/applications/Edit Html.wgt/images/style.css
similarity index 100%
rename from resources/library/applications/Html.wgt/images/style.css
rename to resources/library/applications/Edit Html.wgt/images/style.css
diff --git a/resources/library/applications/Html.wgt/index.html b/resources/library/applications/Edit Html.wgt/index.html
similarity index 100%
rename from resources/library/applications/Html.wgt/index.html
rename to resources/library/applications/Edit Html.wgt/index.html
diff --git a/resources/library/applications/Html.wgt/jquery.pack.js b/resources/library/applications/Edit Html.wgt/jquery.pack.js
similarity index 100%
rename from resources/library/applications/Html.wgt/jquery.pack.js
rename to resources/library/applications/Edit Html.wgt/jquery.pack.js
diff --git a/resources/library/applications/Html.wgt/languages.js b/resources/library/applications/Edit Html.wgt/languages.js
similarity index 100%
rename from resources/library/applications/Html.wgt/languages.js
rename to resources/library/applications/Edit Html.wgt/languages.js
diff --git a/resources/library/applications/Html.wgt/markitup/jquery.markitup.js b/resources/library/applications/Edit Html.wgt/markitup/jquery.markitup.js
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/jquery.markitup.js
rename to resources/library/applications/Edit Html.wgt/markitup/jquery.markitup.js
diff --git a/resources/library/applications/Html.wgt/markitup/jquery.markitup.pack.js b/resources/library/applications/Edit Html.wgt/markitup/jquery.markitup.pack.js
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/jquery.markitup.pack.js
rename to resources/library/applications/Edit Html.wgt/markitup/jquery.markitup.pack.js
diff --git a/resources/library/applications/Html.wgt/markitup/readme.txt b/resources/library/applications/Edit Html.wgt/markitup/readme.txt
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/readme.txt
rename to resources/library/applications/Edit Html.wgt/markitup/readme.txt
diff --git a/resources/library/applications/Html.wgt/markitup/sets/default/images/bold.png b/resources/library/applications/Edit Html.wgt/markitup/sets/default/images/bold.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/sets/default/images/bold.png
rename to resources/library/applications/Edit Html.wgt/markitup/sets/default/images/bold.png
diff --git a/resources/library/applications/Html.wgt/markitup/sets/default/images/clean.png b/resources/library/applications/Edit Html.wgt/markitup/sets/default/images/clean.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/sets/default/images/clean.png
rename to resources/library/applications/Edit Html.wgt/markitup/sets/default/images/clean.png
diff --git a/resources/library/applications/Html.wgt/markitup/sets/default/images/image.png b/resources/library/applications/Edit Html.wgt/markitup/sets/default/images/image.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/sets/default/images/image.png
rename to resources/library/applications/Edit Html.wgt/markitup/sets/default/images/image.png
diff --git a/resources/library/applications/Html.wgt/markitup/sets/default/images/italic.png b/resources/library/applications/Edit Html.wgt/markitup/sets/default/images/italic.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/sets/default/images/italic.png
rename to resources/library/applications/Edit Html.wgt/markitup/sets/default/images/italic.png
diff --git a/resources/library/applications/Html.wgt/markitup/sets/default/images/link.png b/resources/library/applications/Edit Html.wgt/markitup/sets/default/images/link.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/sets/default/images/link.png
rename to resources/library/applications/Edit Html.wgt/markitup/sets/default/images/link.png
diff --git a/resources/library/applications/Html.wgt/markitup/sets/default/images/picture.png b/resources/library/applications/Edit Html.wgt/markitup/sets/default/images/picture.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/sets/default/images/picture.png
rename to resources/library/applications/Edit Html.wgt/markitup/sets/default/images/picture.png
diff --git a/resources/library/applications/Html.wgt/markitup/sets/default/images/preview.png b/resources/library/applications/Edit Html.wgt/markitup/sets/default/images/preview.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/sets/default/images/preview.png
rename to resources/library/applications/Edit Html.wgt/markitup/sets/default/images/preview.png
diff --git a/resources/library/applications/Html.wgt/markitup/sets/default/images/stroke.png b/resources/library/applications/Edit Html.wgt/markitup/sets/default/images/stroke.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/sets/default/images/stroke.png
rename to resources/library/applications/Edit Html.wgt/markitup/sets/default/images/stroke.png
diff --git a/resources/library/applications/Html.wgt/markitup/sets/default/set.js b/resources/library/applications/Edit Html.wgt/markitup/sets/default/set.js
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/sets/default/set.js
rename to resources/library/applications/Edit Html.wgt/markitup/sets/default/set.js
diff --git a/resources/library/applications/Html.wgt/markitup/sets/default/style.css b/resources/library/applications/Edit Html.wgt/markitup/sets/default/style.css
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/sets/default/style.css
rename to resources/library/applications/Edit Html.wgt/markitup/sets/default/style.css
diff --git a/resources/library/applications/Html.wgt/markitup/sets/html/images/bold.png b/resources/library/applications/Edit Html.wgt/markitup/sets/html/images/bold.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/sets/html/images/bold.png
rename to resources/library/applications/Edit Html.wgt/markitup/sets/html/images/bold.png
diff --git a/resources/library/applications/Html.wgt/markitup/sets/html/images/clean.png b/resources/library/applications/Edit Html.wgt/markitup/sets/html/images/clean.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/sets/html/images/clean.png
rename to resources/library/applications/Edit Html.wgt/markitup/sets/html/images/clean.png
diff --git a/resources/library/applications/Html.wgt/markitup/sets/html/images/h1.png b/resources/library/applications/Edit Html.wgt/markitup/sets/html/images/h1.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/sets/html/images/h1.png
rename to resources/library/applications/Edit Html.wgt/markitup/sets/html/images/h1.png
diff --git a/resources/library/applications/Html.wgt/markitup/sets/html/images/h2.png b/resources/library/applications/Edit Html.wgt/markitup/sets/html/images/h2.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/sets/html/images/h2.png
rename to resources/library/applications/Edit Html.wgt/markitup/sets/html/images/h2.png
diff --git a/resources/library/applications/Html.wgt/markitup/sets/html/images/h3.png b/resources/library/applications/Edit Html.wgt/markitup/sets/html/images/h3.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/sets/html/images/h3.png
rename to resources/library/applications/Edit Html.wgt/markitup/sets/html/images/h3.png
diff --git a/resources/library/applications/Html.wgt/markitup/sets/html/images/h4.png b/resources/library/applications/Edit Html.wgt/markitup/sets/html/images/h4.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/sets/html/images/h4.png
rename to resources/library/applications/Edit Html.wgt/markitup/sets/html/images/h4.png
diff --git a/resources/library/applications/Html.wgt/markitup/sets/html/images/h5.png b/resources/library/applications/Edit Html.wgt/markitup/sets/html/images/h5.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/sets/html/images/h5.png
rename to resources/library/applications/Edit Html.wgt/markitup/sets/html/images/h5.png
diff --git a/resources/library/applications/Html.wgt/markitup/sets/html/images/h6.png b/resources/library/applications/Edit Html.wgt/markitup/sets/html/images/h6.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/sets/html/images/h6.png
rename to resources/library/applications/Edit Html.wgt/markitup/sets/html/images/h6.png
diff --git a/resources/library/applications/Html.wgt/markitup/sets/html/images/image.png b/resources/library/applications/Edit Html.wgt/markitup/sets/html/images/image.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/sets/html/images/image.png
rename to resources/library/applications/Edit Html.wgt/markitup/sets/html/images/image.png
diff --git a/resources/library/applications/Html.wgt/markitup/sets/html/images/italic.png b/resources/library/applications/Edit Html.wgt/markitup/sets/html/images/italic.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/sets/html/images/italic.png
rename to resources/library/applications/Edit Html.wgt/markitup/sets/html/images/italic.png
diff --git a/resources/library/applications/Html.wgt/markitup/sets/html/images/link.png b/resources/library/applications/Edit Html.wgt/markitup/sets/html/images/link.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/sets/html/images/link.png
rename to resources/library/applications/Edit Html.wgt/markitup/sets/html/images/link.png
diff --git a/resources/library/applications/Html.wgt/markitup/sets/html/images/list-bullet.png b/resources/library/applications/Edit Html.wgt/markitup/sets/html/images/list-bullet.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/sets/html/images/list-bullet.png
rename to resources/library/applications/Edit Html.wgt/markitup/sets/html/images/list-bullet.png
diff --git a/resources/library/applications/Html.wgt/markitup/sets/html/images/list-item.png b/resources/library/applications/Edit Html.wgt/markitup/sets/html/images/list-item.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/sets/html/images/list-item.png
rename to resources/library/applications/Edit Html.wgt/markitup/sets/html/images/list-item.png
diff --git a/resources/library/applications/Html.wgt/markitup/sets/html/images/list-numeric.png b/resources/library/applications/Edit Html.wgt/markitup/sets/html/images/list-numeric.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/sets/html/images/list-numeric.png
rename to resources/library/applications/Edit Html.wgt/markitup/sets/html/images/list-numeric.png
diff --git a/resources/library/applications/Html.wgt/markitup/sets/html/images/paragraph.png b/resources/library/applications/Edit Html.wgt/markitup/sets/html/images/paragraph.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/sets/html/images/paragraph.png
rename to resources/library/applications/Edit Html.wgt/markitup/sets/html/images/paragraph.png
diff --git a/resources/library/applications/Html.wgt/markitup/sets/html/images/picture.png b/resources/library/applications/Edit Html.wgt/markitup/sets/html/images/picture.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/sets/html/images/picture.png
rename to resources/library/applications/Edit Html.wgt/markitup/sets/html/images/picture.png
diff --git a/resources/library/applications/Html.wgt/markitup/sets/html/images/preview.png b/resources/library/applications/Edit Html.wgt/markitup/sets/html/images/preview.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/sets/html/images/preview.png
rename to resources/library/applications/Edit Html.wgt/markitup/sets/html/images/preview.png
diff --git a/resources/library/applications/Html.wgt/markitup/sets/html/images/stroke.png b/resources/library/applications/Edit Html.wgt/markitup/sets/html/images/stroke.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/sets/html/images/stroke.png
rename to resources/library/applications/Edit Html.wgt/markitup/sets/html/images/stroke.png
diff --git a/resources/library/applications/Html.wgt/markitup/sets/html/readme.txt b/resources/library/applications/Edit Html.wgt/markitup/sets/html/readme.txt
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/sets/html/readme.txt
rename to resources/library/applications/Edit Html.wgt/markitup/sets/html/readme.txt
diff --git a/resources/library/applications/Html.wgt/markitup/sets/html/set.js b/resources/library/applications/Edit Html.wgt/markitup/sets/html/set.js
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/sets/html/set.js
rename to resources/library/applications/Edit Html.wgt/markitup/sets/html/set.js
diff --git a/resources/library/applications/Html.wgt/markitup/sets/html/style.css b/resources/library/applications/Edit Html.wgt/markitup/sets/html/style.css
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/sets/html/style.css
rename to resources/library/applications/Edit Html.wgt/markitup/sets/html/style.css
diff --git a/resources/library/applications/Html.wgt/markitup/skins/macosx/images/bg-container-white.png b/resources/library/applications/Edit Html.wgt/markitup/skins/macosx/images/bg-container-white.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/skins/macosx/images/bg-container-white.png
rename to resources/library/applications/Edit Html.wgt/markitup/skins/macosx/images/bg-container-white.png
diff --git a/resources/library/applications/Html.wgt/markitup/skins/macosx/images/bg-container.png b/resources/library/applications/Edit Html.wgt/markitup/skins/macosx/images/bg-container.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/skins/macosx/images/bg-container.png
rename to resources/library/applications/Edit Html.wgt/markitup/skins/macosx/images/bg-container.png
diff --git a/resources/library/applications/Html.wgt/markitup/skins/macosx/images/bg-footer-white.png b/resources/library/applications/Edit Html.wgt/markitup/skins/macosx/images/bg-footer-white.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/skins/macosx/images/bg-footer-white.png
rename to resources/library/applications/Edit Html.wgt/markitup/skins/macosx/images/bg-footer-white.png
diff --git a/resources/library/applications/Html.wgt/markitup/skins/macosx/images/bg-footer.png b/resources/library/applications/Edit Html.wgt/markitup/skins/macosx/images/bg-footer.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/skins/macosx/images/bg-footer.png
rename to resources/library/applications/Edit Html.wgt/markitup/skins/macosx/images/bg-footer.png
diff --git a/resources/library/applications/Html.wgt/markitup/skins/macosx/images/bg-header-white.png b/resources/library/applications/Edit Html.wgt/markitup/skins/macosx/images/bg-header-white.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/skins/macosx/images/bg-header-white.png
rename to resources/library/applications/Edit Html.wgt/markitup/skins/macosx/images/bg-header-white.png
diff --git a/resources/library/applications/Html.wgt/markitup/skins/macosx/images/bg-header.png b/resources/library/applications/Edit Html.wgt/markitup/skins/macosx/images/bg-header.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/skins/macosx/images/bg-header.png
rename to resources/library/applications/Edit Html.wgt/markitup/skins/macosx/images/bg-header.png
diff --git a/resources/library/applications/Html.wgt/markitup/skins/macosx/images/handle.png b/resources/library/applications/Edit Html.wgt/markitup/skins/macosx/images/handle.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/skins/macosx/images/handle.png
rename to resources/library/applications/Edit Html.wgt/markitup/skins/macosx/images/handle.png
diff --git a/resources/library/applications/Html.wgt/markitup/skins/macosx/images/menu.png b/resources/library/applications/Edit Html.wgt/markitup/skins/macosx/images/menu.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/skins/macosx/images/menu.png
rename to resources/library/applications/Edit Html.wgt/markitup/skins/macosx/images/menu.png
diff --git a/resources/library/applications/Html.wgt/markitup/skins/macosx/images/spacer.gif b/resources/library/applications/Edit Html.wgt/markitup/skins/macosx/images/spacer.gif
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/skins/macosx/images/spacer.gif
rename to resources/library/applications/Edit Html.wgt/markitup/skins/macosx/images/spacer.gif
diff --git a/resources/library/applications/Html.wgt/markitup/skins/macosx/images/submenu.png b/resources/library/applications/Edit Html.wgt/markitup/skins/macosx/images/submenu.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/skins/macosx/images/submenu.png
rename to resources/library/applications/Edit Html.wgt/markitup/skins/macosx/images/submenu.png
diff --git a/resources/library/applications/Html.wgt/markitup/skins/macosx/readme.txt b/resources/library/applications/Edit Html.wgt/markitup/skins/macosx/readme.txt
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/skins/macosx/readme.txt
rename to resources/library/applications/Edit Html.wgt/markitup/skins/macosx/readme.txt
diff --git a/resources/library/applications/Html.wgt/markitup/skins/macosx/style.css b/resources/library/applications/Edit Html.wgt/markitup/skins/macosx/style.css
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/skins/macosx/style.css
rename to resources/library/applications/Edit Html.wgt/markitup/skins/macosx/style.css
diff --git a/resources/library/applications/Html.wgt/markitup/skins/markitup/images/bg-container.png b/resources/library/applications/Edit Html.wgt/markitup/skins/markitup/images/bg-container.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/skins/markitup/images/bg-container.png
rename to resources/library/applications/Edit Html.wgt/markitup/skins/markitup/images/bg-container.png
diff --git a/resources/library/applications/Html.wgt/markitup/skins/markitup/images/bg-editor-bbcode.png b/resources/library/applications/Edit Html.wgt/markitup/skins/markitup/images/bg-editor-bbcode.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/skins/markitup/images/bg-editor-bbcode.png
rename to resources/library/applications/Edit Html.wgt/markitup/skins/markitup/images/bg-editor-bbcode.png
diff --git a/resources/library/applications/Html.wgt/markitup/skins/markitup/images/bg-editor-dotclear.png b/resources/library/applications/Edit Html.wgt/markitup/skins/markitup/images/bg-editor-dotclear.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/skins/markitup/images/bg-editor-dotclear.png
rename to resources/library/applications/Edit Html.wgt/markitup/skins/markitup/images/bg-editor-dotclear.png
diff --git a/resources/library/applications/Html.wgt/markitup/skins/markitup/images/bg-editor-html.png b/resources/library/applications/Edit Html.wgt/markitup/skins/markitup/images/bg-editor-html.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/skins/markitup/images/bg-editor-html.png
rename to resources/library/applications/Edit Html.wgt/markitup/skins/markitup/images/bg-editor-html.png
diff --git a/resources/library/applications/Html.wgt/markitup/skins/markitup/images/bg-editor-json.png b/resources/library/applications/Edit Html.wgt/markitup/skins/markitup/images/bg-editor-json.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/skins/markitup/images/bg-editor-json.png
rename to resources/library/applications/Edit Html.wgt/markitup/skins/markitup/images/bg-editor-json.png
diff --git a/resources/library/applications/Html.wgt/markitup/skins/markitup/images/bg-editor-markdown.png b/resources/library/applications/Edit Html.wgt/markitup/skins/markitup/images/bg-editor-markdown.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/skins/markitup/images/bg-editor-markdown.png
rename to resources/library/applications/Edit Html.wgt/markitup/skins/markitup/images/bg-editor-markdown.png
diff --git a/resources/library/applications/Html.wgt/markitup/skins/markitup/images/bg-editor-textile.png b/resources/library/applications/Edit Html.wgt/markitup/skins/markitup/images/bg-editor-textile.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/skins/markitup/images/bg-editor-textile.png
rename to resources/library/applications/Edit Html.wgt/markitup/skins/markitup/images/bg-editor-textile.png
diff --git a/resources/library/applications/Html.wgt/markitup/skins/markitup/images/bg-editor-wiki.png b/resources/library/applications/Edit Html.wgt/markitup/skins/markitup/images/bg-editor-wiki.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/skins/markitup/images/bg-editor-wiki.png
rename to resources/library/applications/Edit Html.wgt/markitup/skins/markitup/images/bg-editor-wiki.png
diff --git a/resources/library/applications/Html.wgt/markitup/skins/markitup/images/bg-editor-xml.png b/resources/library/applications/Edit Html.wgt/markitup/skins/markitup/images/bg-editor-xml.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/skins/markitup/images/bg-editor-xml.png
rename to resources/library/applications/Edit Html.wgt/markitup/skins/markitup/images/bg-editor-xml.png
diff --git a/resources/library/applications/Html.wgt/markitup/skins/markitup/images/bg-editor.png b/resources/library/applications/Edit Html.wgt/markitup/skins/markitup/images/bg-editor.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/skins/markitup/images/bg-editor.png
rename to resources/library/applications/Edit Html.wgt/markitup/skins/markitup/images/bg-editor.png
diff --git a/resources/library/applications/Html.wgt/markitup/skins/markitup/images/handle.png b/resources/library/applications/Edit Html.wgt/markitup/skins/markitup/images/handle.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/skins/markitup/images/handle.png
rename to resources/library/applications/Edit Html.wgt/markitup/skins/markitup/images/handle.png
diff --git a/resources/library/applications/Html.wgt/markitup/skins/markitup/images/menu.png b/resources/library/applications/Edit Html.wgt/markitup/skins/markitup/images/menu.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/skins/markitup/images/menu.png
rename to resources/library/applications/Edit Html.wgt/markitup/skins/markitup/images/menu.png
diff --git a/resources/library/applications/Html.wgt/markitup/skins/markitup/images/submenu.png b/resources/library/applications/Edit Html.wgt/markitup/skins/markitup/images/submenu.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/skins/markitup/images/submenu.png
rename to resources/library/applications/Edit Html.wgt/markitup/skins/markitup/images/submenu.png
diff --git a/resources/library/applications/Html.wgt/markitup/skins/markitup/style.css b/resources/library/applications/Edit Html.wgt/markitup/skins/markitup/style.css
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/skins/markitup/style.css
rename to resources/library/applications/Edit Html.wgt/markitup/skins/markitup/style.css
diff --git a/resources/library/applications/Html.wgt/markitup/skins/simple/images/handle.png b/resources/library/applications/Edit Html.wgt/markitup/skins/simple/images/handle.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/skins/simple/images/handle.png
rename to resources/library/applications/Edit Html.wgt/markitup/skins/simple/images/handle.png
diff --git a/resources/library/applications/Html.wgt/markitup/skins/simple/images/menu.png b/resources/library/applications/Edit Html.wgt/markitup/skins/simple/images/menu.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/skins/simple/images/menu.png
rename to resources/library/applications/Edit Html.wgt/markitup/skins/simple/images/menu.png
diff --git a/resources/library/applications/Html.wgt/markitup/skins/simple/images/submenu.png b/resources/library/applications/Edit Html.wgt/markitup/skins/simple/images/submenu.png
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/skins/simple/images/submenu.png
rename to resources/library/applications/Edit Html.wgt/markitup/skins/simple/images/submenu.png
diff --git a/resources/library/applications/Html.wgt/markitup/templates/preview.css b/resources/library/applications/Edit Html.wgt/markitup/templates/preview.css
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/templates/preview.css
rename to resources/library/applications/Edit Html.wgt/markitup/templates/preview.css
diff --git a/resources/library/applications/Html.wgt/markitup/templates/preview.html b/resources/library/applications/Edit Html.wgt/markitup/templates/preview.html
similarity index 100%
rename from resources/library/applications/Html.wgt/markitup/templates/preview.html
rename to resources/library/applications/Edit Html.wgt/markitup/templates/preview.html
diff --git a/resources/library/applications/Graphme.wgt/Grapheur.xhtml b/resources/library/applications/Grapheur 3D.wgt/Grapheur.xhtml
similarity index 100%
rename from resources/library/applications/Graphme.wgt/Grapheur.xhtml
rename to resources/library/applications/Grapheur 3D.wgt/Grapheur.xhtml
diff --git a/resources/library/applications/Graphme.wgt/Guide_Utilisateur.html b/resources/library/applications/Grapheur 3D.wgt/Guide_Utilisateur.html
similarity index 100%
rename from resources/library/applications/Graphme.wgt/Guide_Utilisateur.html
rename to resources/library/applications/Grapheur 3D.wgt/Guide_Utilisateur.html
diff --git a/resources/library/applications/Graphme.wgt/Images/.directory b/resources/library/applications/Grapheur 3D.wgt/Images/.directory
similarity index 100%
rename from resources/library/applications/Graphme.wgt/Images/.directory
rename to resources/library/applications/Grapheur 3D.wgt/Images/.directory
diff --git a/resources/library/applications/Graphme.wgt/Images/GraphMe.png b/resources/library/applications/Grapheur 3D.wgt/Images/GraphMe.png
similarity index 100%
rename from resources/library/applications/Graphme.wgt/Images/GraphMe.png
rename to resources/library/applications/Grapheur 3D.wgt/Images/GraphMe.png
diff --git a/resources/library/applications/Graphme.wgt/Images/Guide_AjouterWidget.png b/resources/library/applications/Grapheur 3D.wgt/Images/Guide_AjouterWidget.png
similarity index 100%
rename from resources/library/applications/Graphme.wgt/Images/Guide_AjouterWidget.png
rename to resources/library/applications/Grapheur 3D.wgt/Images/Guide_AjouterWidget.png
diff --git a/resources/library/applications/Graphme.wgt/Images/Guide_Deplacement.png b/resources/library/applications/Grapheur 3D.wgt/Images/Guide_Deplacement.png
similarity index 100%
rename from resources/library/applications/Graphme.wgt/Images/Guide_Deplacement.png
rename to resources/library/applications/Grapheur 3D.wgt/Images/Guide_Deplacement.png
diff --git a/resources/library/applications/Graphme.wgt/Images/Guide_Navigateur.png b/resources/library/applications/Grapheur 3D.wgt/Images/Guide_Navigateur.png
similarity index 100%
rename from resources/library/applications/Graphme.wgt/Images/Guide_Navigateur.png
rename to resources/library/applications/Grapheur 3D.wgt/Images/Guide_Navigateur.png
diff --git a/resources/library/applications/Graphme.wgt/Images/Guide_Options.png b/resources/library/applications/Grapheur 3D.wgt/Images/Guide_Options.png
similarity index 100%
rename from resources/library/applications/Graphme.wgt/Images/Guide_Options.png
rename to resources/library/applications/Grapheur 3D.wgt/Images/Guide_Options.png
diff --git a/resources/library/applications/Graphme.wgt/Images/Guide_Plus.png b/resources/library/applications/Grapheur 3D.wgt/Images/Guide_Plus.png
similarity index 100%
rename from resources/library/applications/Graphme.wgt/Images/Guide_Plus.png
rename to resources/library/applications/Grapheur 3D.wgt/Images/Guide_Plus.png
diff --git a/resources/library/applications/Graphme.wgt/Images/Guide_Presentation.png b/resources/library/applications/Grapheur 3D.wgt/Images/Guide_Presentation.png
similarity index 100%
rename from resources/library/applications/Graphme.wgt/Images/Guide_Presentation.png
rename to resources/library/applications/Grapheur 3D.wgt/Images/Guide_Presentation.png
diff --git a/resources/library/applications/Graphme.wgt/Images/Guide_Uniboard.png b/resources/library/applications/Grapheur 3D.wgt/Images/Guide_Uniboard.png
similarity index 100%
rename from resources/library/applications/Graphme.wgt/Images/Guide_Uniboard.png
rename to resources/library/applications/Grapheur 3D.wgt/Images/Guide_Uniboard.png
diff --git a/resources/library/applications/Graphme.wgt/Images/fond1.png b/resources/library/applications/Grapheur 3D.wgt/Images/fond1.png
similarity index 100%
rename from resources/library/applications/Graphme.wgt/Images/fond1.png
rename to resources/library/applications/Grapheur 3D.wgt/Images/fond1.png
diff --git a/resources/library/applications/Graphme.wgt/Images/fond2.png b/resources/library/applications/Grapheur 3D.wgt/Images/fond2.png
similarity index 100%
rename from resources/library/applications/Graphme.wgt/Images/fond2.png
rename to resources/library/applications/Grapheur 3D.wgt/Images/fond2.png
diff --git a/resources/library/applications/Graphme.wgt/Images/fond3.png b/resources/library/applications/Grapheur 3D.wgt/Images/fond3.png
similarity index 100%
rename from resources/library/applications/Graphme.wgt/Images/fond3.png
rename to resources/library/applications/Grapheur 3D.wgt/Images/fond3.png
diff --git a/resources/library/applications/Graphme.wgt/Images/fond4.png b/resources/library/applications/Grapheur 3D.wgt/Images/fond4.png
similarity index 100%
rename from resources/library/applications/Graphme.wgt/Images/fond4.png
rename to resources/library/applications/Grapheur 3D.wgt/Images/fond4.png
diff --git a/resources/library/applications/Graphme.wgt/Images/fond5.png b/resources/library/applications/Grapheur 3D.wgt/Images/fond5.png
similarity index 100%
rename from resources/library/applications/Graphme.wgt/Images/fond5.png
rename to resources/library/applications/Grapheur 3D.wgt/Images/fond5.png
diff --git a/resources/library/applications/Graphme.wgt/Images/gauche1.png b/resources/library/applications/Grapheur 3D.wgt/Images/gauche1.png
similarity index 100%
rename from resources/library/applications/Graphme.wgt/Images/gauche1.png
rename to resources/library/applications/Grapheur 3D.wgt/Images/gauche1.png
diff --git a/resources/library/applications/Graphme.wgt/Images/gauche2.png b/resources/library/applications/Grapheur 3D.wgt/Images/gauche2.png
similarity index 100%
rename from resources/library/applications/Graphme.wgt/Images/gauche2.png
rename to resources/library/applications/Grapheur 3D.wgt/Images/gauche2.png
diff --git a/resources/library/applications/Graphme.wgt/Images/gauche3.png b/resources/library/applications/Grapheur 3D.wgt/Images/gauche3.png
similarity index 100%
rename from resources/library/applications/Graphme.wgt/Images/gauche3.png
rename to resources/library/applications/Grapheur 3D.wgt/Images/gauche3.png
diff --git a/resources/library/applications/Graphme.wgt/Images/onglet1.png b/resources/library/applications/Grapheur 3D.wgt/Images/onglet1.png
similarity index 100%
rename from resources/library/applications/Graphme.wgt/Images/onglet1.png
rename to resources/library/applications/Grapheur 3D.wgt/Images/onglet1.png
diff --git a/resources/library/applications/Graphme.wgt/Images/onglet2.png b/resources/library/applications/Grapheur 3D.wgt/Images/onglet2.png
similarity index 100%
rename from resources/library/applications/Graphme.wgt/Images/onglet2.png
rename to resources/library/applications/Grapheur 3D.wgt/Images/onglet2.png
diff --git a/resources/library/applications/Graphme.wgt/JavaScript/Affichage3D.js b/resources/library/applications/Grapheur 3D.wgt/JavaScript/Affichage3D.js
similarity index 100%
rename from resources/library/applications/Graphme.wgt/JavaScript/Affichage3D.js
rename to resources/library/applications/Grapheur 3D.wgt/JavaScript/Affichage3D.js
diff --git a/resources/library/applications/Graphme.wgt/JavaScript/AffichageStandard.js b/resources/library/applications/Grapheur 3D.wgt/JavaScript/AffichageStandard.js
similarity index 100%
rename from resources/library/applications/Graphme.wgt/JavaScript/AffichageStandard.js
rename to resources/library/applications/Grapheur 3D.wgt/JavaScript/AffichageStandard.js
diff --git a/resources/library/applications/Graphme.wgt/JavaScript/AffichageUniboard.js b/resources/library/applications/Grapheur 3D.wgt/JavaScript/AffichageUniboard.js
similarity index 100%
rename from resources/library/applications/Graphme.wgt/JavaScript/AffichageUniboard.js
rename to resources/library/applications/Grapheur 3D.wgt/JavaScript/AffichageUniboard.js
diff --git a/resources/library/applications/Graphme.wgt/JavaScript/AffichageXPM.js b/resources/library/applications/Grapheur 3D.wgt/JavaScript/AffichageXPM.js
similarity index 100%
rename from resources/library/applications/Graphme.wgt/JavaScript/AffichageXPM.js
rename to resources/library/applications/Grapheur 3D.wgt/JavaScript/AffichageXPM.js
diff --git a/resources/library/applications/Graphme.wgt/JavaScript/ColorPicker.js b/resources/library/applications/Grapheur 3D.wgt/JavaScript/ColorPicker.js
similarity index 100%
rename from resources/library/applications/Graphme.wgt/JavaScript/ColorPicker.js
rename to resources/library/applications/Grapheur 3D.wgt/JavaScript/ColorPicker.js
diff --git a/resources/library/applications/Graphme.wgt/JavaScript/Etude.js b/resources/library/applications/Grapheur 3D.wgt/JavaScript/Etude.js
similarity index 100%
rename from resources/library/applications/Graphme.wgt/JavaScript/Etude.js
rename to resources/library/applications/Grapheur 3D.wgt/JavaScript/Etude.js
diff --git a/resources/library/applications/Graphme.wgt/JavaScript/Interface.js b/resources/library/applications/Grapheur 3D.wgt/JavaScript/Interface.js
similarity index 100%
rename from resources/library/applications/Graphme.wgt/JavaScript/Interface.js
rename to resources/library/applications/Grapheur 3D.wgt/JavaScript/Interface.js
diff --git a/resources/library/applications/Graphme.wgt/JavaScript/Outils.js b/resources/library/applications/Grapheur 3D.wgt/JavaScript/Outils.js
similarity index 100%
rename from resources/library/applications/Graphme.wgt/JavaScript/Outils.js
rename to resources/library/applications/Grapheur 3D.wgt/JavaScript/Outils.js
diff --git a/resources/library/applications/Graphme.wgt/JavaScript/Sauvegardes.js b/resources/library/applications/Grapheur 3D.wgt/JavaScript/Sauvegardes.js
similarity index 100%
rename from resources/library/applications/Graphme.wgt/JavaScript/Sauvegardes.js
rename to resources/library/applications/Grapheur 3D.wgt/JavaScript/Sauvegardes.js
diff --git a/resources/library/applications/Graphme.wgt/JavaScript/jquery-1.3.2.min.js b/resources/library/applications/Grapheur 3D.wgt/JavaScript/jquery-1.3.2.min.js
similarity index 100%
rename from resources/library/applications/Graphme.wgt/JavaScript/jquery-1.3.2.min.js
rename to resources/library/applications/Grapheur 3D.wgt/JavaScript/jquery-1.3.2.min.js
diff --git a/resources/library/applications/Graphme.wgt/JavaScript/jquery.disable.text.select.js b/resources/library/applications/Grapheur 3D.wgt/JavaScript/jquery.disable.text.select.js
similarity index 100%
rename from resources/library/applications/Graphme.wgt/JavaScript/jquery.disable.text.select.js
rename to resources/library/applications/Grapheur 3D.wgt/JavaScript/jquery.disable.text.select.js
diff --git a/resources/library/applications/Graphme.wgt/JavaScript/languages.js b/resources/library/applications/Grapheur 3D.wgt/JavaScript/languages.js
similarity index 100%
rename from resources/library/applications/Graphme.wgt/JavaScript/languages.js
rename to resources/library/applications/Grapheur 3D.wgt/JavaScript/languages.js
diff --git a/resources/library/applications/Graphme.wgt/Style/Guide_Utilisateur.css b/resources/library/applications/Grapheur 3D.wgt/Style/Guide_Utilisateur.css
similarity index 100%
rename from resources/library/applications/Graphme.wgt/Style/Guide_Utilisateur.css
rename to resources/library/applications/Grapheur 3D.wgt/Style/Guide_Utilisateur.css
diff --git a/resources/library/applications/Graphme.wgt/Style/default.css b/resources/library/applications/Grapheur 3D.wgt/Style/default.css
similarity index 100%
rename from resources/library/applications/Graphme.wgt/Style/default.css
rename to resources/library/applications/Grapheur 3D.wgt/Style/default.css
diff --git a/resources/library/applications/Graphme.wgt/__MACOSX/._Grapheur.xhtml b/resources/library/applications/Grapheur 3D.wgt/__MACOSX/._Grapheur.xhtml
similarity index 100%
rename from resources/library/applications/Graphme.wgt/__MACOSX/._Grapheur.xhtml
rename to resources/library/applications/Grapheur 3D.wgt/__MACOSX/._Grapheur.xhtml
diff --git a/resources/library/applications/Graphme.wgt/__MACOSX/._Guide_Utilisateur.html b/resources/library/applications/Grapheur 3D.wgt/__MACOSX/._Guide_Utilisateur.html
similarity index 100%
rename from resources/library/applications/Graphme.wgt/__MACOSX/._Guide_Utilisateur.html
rename to resources/library/applications/Grapheur 3D.wgt/__MACOSX/._Guide_Utilisateur.html
diff --git a/resources/library/applications/Graphme.wgt/__MACOSX/._Images b/resources/library/applications/Grapheur 3D.wgt/__MACOSX/._Images
similarity index 100%
rename from resources/library/applications/Graphme.wgt/__MACOSX/._Images
rename to resources/library/applications/Grapheur 3D.wgt/__MACOSX/._Images
diff --git a/resources/library/applications/Graphme.wgt/__MACOSX/._JavaScript b/resources/library/applications/Grapheur 3D.wgt/__MACOSX/._JavaScript
similarity index 100%
rename from resources/library/applications/Graphme.wgt/__MACOSX/._JavaScript
rename to resources/library/applications/Grapheur 3D.wgt/__MACOSX/._JavaScript
diff --git a/resources/library/applications/Graphme.wgt/__MACOSX/._Style b/resources/library/applications/Grapheur 3D.wgt/__MACOSX/._Style
similarity index 100%
rename from resources/library/applications/Graphme.wgt/__MACOSX/._Style
rename to resources/library/applications/Grapheur 3D.wgt/__MACOSX/._Style
diff --git a/resources/library/applications/Graphme.wgt/__MACOSX/._config.xml b/resources/library/applications/Grapheur 3D.wgt/__MACOSX/._config.xml
similarity index 100%
rename from resources/library/applications/Graphme.wgt/__MACOSX/._config.xml
rename to resources/library/applications/Grapheur 3D.wgt/__MACOSX/._config.xml
diff --git a/resources/library/applications/Graphme.wgt/__MACOSX/._icon.png b/resources/library/applications/Grapheur 3D.wgt/__MACOSX/._icon.png
similarity index 100%
rename from resources/library/applications/Graphme.wgt/__MACOSX/._icon.png
rename to resources/library/applications/Grapheur 3D.wgt/__MACOSX/._icon.png
diff --git a/resources/library/applications/Graphme.wgt/__MACOSX/._version.html b/resources/library/applications/Grapheur 3D.wgt/__MACOSX/._version.html
similarity index 100%
rename from resources/library/applications/Graphme.wgt/__MACOSX/._version.html
rename to resources/library/applications/Grapheur 3D.wgt/__MACOSX/._version.html
diff --git a/resources/library/applications/Graphme.wgt/__MACOSX/Images/._.directory b/resources/library/applications/Grapheur 3D.wgt/__MACOSX/Images/._.directory
similarity index 100%
rename from resources/library/applications/Graphme.wgt/__MACOSX/Images/._.directory
rename to resources/library/applications/Grapheur 3D.wgt/__MACOSX/Images/._.directory
diff --git a/resources/library/applications/Graphme.wgt/__MACOSX/Images/._GraphMe.png b/resources/library/applications/Grapheur 3D.wgt/__MACOSX/Images/._GraphMe.png
similarity index 100%
rename from resources/library/applications/Graphme.wgt/__MACOSX/Images/._GraphMe.png
rename to resources/library/applications/Grapheur 3D.wgt/__MACOSX/Images/._GraphMe.png
diff --git a/resources/library/applications/Graphme.wgt/__MACOSX/Images/._Guide_AjouterWidget.png b/resources/library/applications/Grapheur 3D.wgt/__MACOSX/Images/._Guide_AjouterWidget.png
similarity index 100%
rename from resources/library/applications/Graphme.wgt/__MACOSX/Images/._Guide_AjouterWidget.png
rename to resources/library/applications/Grapheur 3D.wgt/__MACOSX/Images/._Guide_AjouterWidget.png
diff --git a/resources/library/applications/Graphme.wgt/__MACOSX/Images/._Guide_Deplacement.png b/resources/library/applications/Grapheur 3D.wgt/__MACOSX/Images/._Guide_Deplacement.png
similarity index 100%
rename from resources/library/applications/Graphme.wgt/__MACOSX/Images/._Guide_Deplacement.png
rename to resources/library/applications/Grapheur 3D.wgt/__MACOSX/Images/._Guide_Deplacement.png
diff --git a/resources/library/applications/Graphme.wgt/__MACOSX/Images/._Guide_Navigateur.png b/resources/library/applications/Grapheur 3D.wgt/__MACOSX/Images/._Guide_Navigateur.png
similarity index 100%
rename from resources/library/applications/Graphme.wgt/__MACOSX/Images/._Guide_Navigateur.png
rename to resources/library/applications/Grapheur 3D.wgt/__MACOSX/Images/._Guide_Navigateur.png
diff --git a/resources/library/applications/Graphme.wgt/__MACOSX/Images/._Guide_Options.png b/resources/library/applications/Grapheur 3D.wgt/__MACOSX/Images/._Guide_Options.png
similarity index 100%
rename from resources/library/applications/Graphme.wgt/__MACOSX/Images/._Guide_Options.png
rename to resources/library/applications/Grapheur 3D.wgt/__MACOSX/Images/._Guide_Options.png
diff --git a/resources/library/applications/Graphme.wgt/__MACOSX/Images/._Guide_Plus.png b/resources/library/applications/Grapheur 3D.wgt/__MACOSX/Images/._Guide_Plus.png
similarity index 100%
rename from resources/library/applications/Graphme.wgt/__MACOSX/Images/._Guide_Plus.png
rename to resources/library/applications/Grapheur 3D.wgt/__MACOSX/Images/._Guide_Plus.png
diff --git a/resources/library/applications/Graphme.wgt/__MACOSX/Images/._Guide_Presentation.png b/resources/library/applications/Grapheur 3D.wgt/__MACOSX/Images/._Guide_Presentation.png
similarity index 100%
rename from resources/library/applications/Graphme.wgt/__MACOSX/Images/._Guide_Presentation.png
rename to resources/library/applications/Grapheur 3D.wgt/__MACOSX/Images/._Guide_Presentation.png
diff --git a/resources/library/applications/Graphme.wgt/__MACOSX/Images/._Guide_Uniboard.png b/resources/library/applications/Grapheur 3D.wgt/__MACOSX/Images/._Guide_Uniboard.png
similarity index 100%
rename from resources/library/applications/Graphme.wgt/__MACOSX/Images/._Guide_Uniboard.png
rename to resources/library/applications/Grapheur 3D.wgt/__MACOSX/Images/._Guide_Uniboard.png
diff --git a/resources/library/applications/Graphme.wgt/__MACOSX/Images/._fond1.png b/resources/library/applications/Grapheur 3D.wgt/__MACOSX/Images/._fond1.png
similarity index 100%
rename from resources/library/applications/Graphme.wgt/__MACOSX/Images/._fond1.png
rename to resources/library/applications/Grapheur 3D.wgt/__MACOSX/Images/._fond1.png
diff --git a/resources/library/applications/Graphme.wgt/__MACOSX/Images/._fond2.png b/resources/library/applications/Grapheur 3D.wgt/__MACOSX/Images/._fond2.png
similarity index 100%
rename from resources/library/applications/Graphme.wgt/__MACOSX/Images/._fond2.png
rename to resources/library/applications/Grapheur 3D.wgt/__MACOSX/Images/._fond2.png
diff --git a/resources/library/applications/Graphme.wgt/__MACOSX/Images/._fond3.png b/resources/library/applications/Grapheur 3D.wgt/__MACOSX/Images/._fond3.png
similarity index 100%
rename from resources/library/applications/Graphme.wgt/__MACOSX/Images/._fond3.png
rename to resources/library/applications/Grapheur 3D.wgt/__MACOSX/Images/._fond3.png
diff --git a/resources/library/applications/Graphme.wgt/__MACOSX/Images/._fond4.png b/resources/library/applications/Grapheur 3D.wgt/__MACOSX/Images/._fond4.png
similarity index 100%
rename from resources/library/applications/Graphme.wgt/__MACOSX/Images/._fond4.png
rename to resources/library/applications/Grapheur 3D.wgt/__MACOSX/Images/._fond4.png
diff --git a/resources/library/applications/Graphme.wgt/__MACOSX/Images/._fond5.png b/resources/library/applications/Grapheur 3D.wgt/__MACOSX/Images/._fond5.png
similarity index 100%
rename from resources/library/applications/Graphme.wgt/__MACOSX/Images/._fond5.png
rename to resources/library/applications/Grapheur 3D.wgt/__MACOSX/Images/._fond5.png
diff --git a/resources/library/applications/Graphme.wgt/__MACOSX/Images/._gauche1.png b/resources/library/applications/Grapheur 3D.wgt/__MACOSX/Images/._gauche1.png
similarity index 100%
rename from resources/library/applications/Graphme.wgt/__MACOSX/Images/._gauche1.png
rename to resources/library/applications/Grapheur 3D.wgt/__MACOSX/Images/._gauche1.png
diff --git a/resources/library/applications/Graphme.wgt/__MACOSX/Images/._gauche2.png b/resources/library/applications/Grapheur 3D.wgt/__MACOSX/Images/._gauche2.png
similarity index 100%
rename from resources/library/applications/Graphme.wgt/__MACOSX/Images/._gauche2.png
rename to resources/library/applications/Grapheur 3D.wgt/__MACOSX/Images/._gauche2.png
diff --git a/resources/library/applications/Graphme.wgt/__MACOSX/Images/._gauche3.png b/resources/library/applications/Grapheur 3D.wgt/__MACOSX/Images/._gauche3.png
similarity index 100%
rename from resources/library/applications/Graphme.wgt/__MACOSX/Images/._gauche3.png
rename to resources/library/applications/Grapheur 3D.wgt/__MACOSX/Images/._gauche3.png
diff --git a/resources/library/applications/Graphme.wgt/__MACOSX/Images/._onglet1.png b/resources/library/applications/Grapheur 3D.wgt/__MACOSX/Images/._onglet1.png
similarity index 100%
rename from resources/library/applications/Graphme.wgt/__MACOSX/Images/._onglet1.png
rename to resources/library/applications/Grapheur 3D.wgt/__MACOSX/Images/._onglet1.png
diff --git a/resources/library/applications/Graphme.wgt/__MACOSX/Images/._onglet2.png b/resources/library/applications/Grapheur 3D.wgt/__MACOSX/Images/._onglet2.png
similarity index 100%
rename from resources/library/applications/Graphme.wgt/__MACOSX/Images/._onglet2.png
rename to resources/library/applications/Grapheur 3D.wgt/__MACOSX/Images/._onglet2.png
diff --git a/resources/library/applications/Graphme.wgt/__MACOSX/JavaScript/._.directory b/resources/library/applications/Grapheur 3D.wgt/__MACOSX/JavaScript/._.directory
similarity index 100%
rename from resources/library/applications/Graphme.wgt/__MACOSX/JavaScript/._.directory
rename to resources/library/applications/Grapheur 3D.wgt/__MACOSX/JavaScript/._.directory
diff --git a/resources/library/applications/Graphme.wgt/__MACOSX/JavaScript/._Affichage3D.js b/resources/library/applications/Grapheur 3D.wgt/__MACOSX/JavaScript/._Affichage3D.js
similarity index 100%
rename from resources/library/applications/Graphme.wgt/__MACOSX/JavaScript/._Affichage3D.js
rename to resources/library/applications/Grapheur 3D.wgt/__MACOSX/JavaScript/._Affichage3D.js
diff --git a/resources/library/applications/Graphme.wgt/__MACOSX/JavaScript/._AffichageStandard.js b/resources/library/applications/Grapheur 3D.wgt/__MACOSX/JavaScript/._AffichageStandard.js
similarity index 100%
rename from resources/library/applications/Graphme.wgt/__MACOSX/JavaScript/._AffichageStandard.js
rename to resources/library/applications/Grapheur 3D.wgt/__MACOSX/JavaScript/._AffichageStandard.js
diff --git a/resources/library/applications/Graphme.wgt/__MACOSX/JavaScript/._AffichageUniboard.js b/resources/library/applications/Grapheur 3D.wgt/__MACOSX/JavaScript/._AffichageUniboard.js
similarity index 100%
rename from resources/library/applications/Graphme.wgt/__MACOSX/JavaScript/._AffichageUniboard.js
rename to resources/library/applications/Grapheur 3D.wgt/__MACOSX/JavaScript/._AffichageUniboard.js
diff --git a/resources/library/applications/Graphme.wgt/__MACOSX/JavaScript/._AffichageXPM.js b/resources/library/applications/Grapheur 3D.wgt/__MACOSX/JavaScript/._AffichageXPM.js
similarity index 100%
rename from resources/library/applications/Graphme.wgt/__MACOSX/JavaScript/._AffichageXPM.js
rename to resources/library/applications/Grapheur 3D.wgt/__MACOSX/JavaScript/._AffichageXPM.js
diff --git a/resources/library/applications/Graphme.wgt/__MACOSX/JavaScript/._ColorPicker.js b/resources/library/applications/Grapheur 3D.wgt/__MACOSX/JavaScript/._ColorPicker.js
similarity index 100%
rename from resources/library/applications/Graphme.wgt/__MACOSX/JavaScript/._ColorPicker.js
rename to resources/library/applications/Grapheur 3D.wgt/__MACOSX/JavaScript/._ColorPicker.js
diff --git a/resources/library/applications/Graphme.wgt/__MACOSX/JavaScript/._Etude.js b/resources/library/applications/Grapheur 3D.wgt/__MACOSX/JavaScript/._Etude.js
similarity index 100%
rename from resources/library/applications/Graphme.wgt/__MACOSX/JavaScript/._Etude.js
rename to resources/library/applications/Grapheur 3D.wgt/__MACOSX/JavaScript/._Etude.js
diff --git a/resources/library/applications/Graphme.wgt/__MACOSX/JavaScript/._Interface.js b/resources/library/applications/Grapheur 3D.wgt/__MACOSX/JavaScript/._Interface.js
similarity index 100%
rename from resources/library/applications/Graphme.wgt/__MACOSX/JavaScript/._Interface.js
rename to resources/library/applications/Grapheur 3D.wgt/__MACOSX/JavaScript/._Interface.js
diff --git a/resources/library/applications/Graphme.wgt/__MACOSX/JavaScript/._Outils.js b/resources/library/applications/Grapheur 3D.wgt/__MACOSX/JavaScript/._Outils.js
similarity index 100%
rename from resources/library/applications/Graphme.wgt/__MACOSX/JavaScript/._Outils.js
rename to resources/library/applications/Grapheur 3D.wgt/__MACOSX/JavaScript/._Outils.js
diff --git a/resources/library/applications/Graphme.wgt/__MACOSX/JavaScript/._Sauvegardes.js b/resources/library/applications/Grapheur 3D.wgt/__MACOSX/JavaScript/._Sauvegardes.js
similarity index 100%
rename from resources/library/applications/Graphme.wgt/__MACOSX/JavaScript/._Sauvegardes.js
rename to resources/library/applications/Grapheur 3D.wgt/__MACOSX/JavaScript/._Sauvegardes.js
diff --git a/resources/library/applications/Graphme.wgt/__MACOSX/Style/._Guide_Utilisateur.css b/resources/library/applications/Grapheur 3D.wgt/__MACOSX/Style/._Guide_Utilisateur.css
similarity index 100%
rename from resources/library/applications/Graphme.wgt/__MACOSX/Style/._Guide_Utilisateur.css
rename to resources/library/applications/Grapheur 3D.wgt/__MACOSX/Style/._Guide_Utilisateur.css
diff --git a/resources/library/applications/Graphme.wgt/__MACOSX/Style/._default.css b/resources/library/applications/Grapheur 3D.wgt/__MACOSX/Style/._default.css
similarity index 100%
rename from resources/library/applications/Graphme.wgt/__MACOSX/Style/._default.css
rename to resources/library/applications/Grapheur 3D.wgt/__MACOSX/Style/._default.css
diff --git a/resources/library/applications/Graphme.wgt/config.xml b/resources/library/applications/Grapheur 3D.wgt/config.xml
similarity index 100%
rename from resources/library/applications/Graphme.wgt/config.xml
rename to resources/library/applications/Grapheur 3D.wgt/config.xml
diff --git a/resources/library/applications/Graphme.wgt/icon.png b/resources/library/applications/Grapheur 3D.wgt/icon.png
similarity index 100%
rename from resources/library/applications/Graphme.wgt/icon.png
rename to resources/library/applications/Grapheur 3D.wgt/icon.png
diff --git a/resources/library/applications/Graphme.wgt/version.html b/resources/library/applications/Grapheur 3D.wgt/version.html
similarity index 100%
rename from resources/library/applications/Graphme.wgt/version.html
rename to resources/library/applications/Grapheur 3D.wgt/version.html
diff --git a/resources/library/applications/Stopwatch.wgt/beep.wav b/resources/library/applications/Minuteur.wgt/beep.wav
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/beep.wav
rename to resources/library/applications/Minuteur.wgt/beep.wav
diff --git a/resources/library/applications/Stopwatch.wgt/config.xml b/resources/library/applications/Minuteur.wgt/config.xml
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/config.xml
rename to resources/library/applications/Minuteur.wgt/config.xml
diff --git a/resources/library/applications/Stopwatch.wgt/css/ubwidget.css b/resources/library/applications/Minuteur.wgt/css/ubwidget.css
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/css/ubwidget.css
rename to resources/library/applications/Minuteur.wgt/css/ubwidget.css
diff --git a/resources/library/applications/Stopwatch.wgt/finalbeep.wav b/resources/library/applications/Minuteur.wgt/finalbeep.wav
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/finalbeep.wav
rename to resources/library/applications/Minuteur.wgt/finalbeep.wav
diff --git a/resources/library/applications/Stopwatch.wgt/icon.png b/resources/library/applications/Minuteur.wgt/icon.png
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/icon.png
rename to resources/library/applications/Minuteur.wgt/icon.png
diff --git a/resources/library/applications/Stopwatch.wgt/images/arrows_out/bottom.png b/resources/library/applications/Minuteur.wgt/images/arrows_out/bottom.png
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/images/arrows_out/bottom.png
rename to resources/library/applications/Minuteur.wgt/images/arrows_out/bottom.png
diff --git a/resources/library/applications/Stopwatch.wgt/images/arrows_out/left.png b/resources/library/applications/Minuteur.wgt/images/arrows_out/left.png
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/images/arrows_out/left.png
rename to resources/library/applications/Minuteur.wgt/images/arrows_out/left.png
diff --git a/resources/library/applications/Stopwatch.wgt/images/arrows_out/right.png b/resources/library/applications/Minuteur.wgt/images/arrows_out/right.png
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/images/arrows_out/right.png
rename to resources/library/applications/Minuteur.wgt/images/arrows_out/right.png
diff --git a/resources/library/applications/Stopwatch.wgt/images/arrows_out/top.png b/resources/library/applications/Minuteur.wgt/images/arrows_out/top.png
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/images/arrows_out/top.png
rename to resources/library/applications/Minuteur.wgt/images/arrows_out/top.png
diff --git a/resources/library/applications/Stopwatch.wgt/images/arrows_over/bottom.png b/resources/library/applications/Minuteur.wgt/images/arrows_over/bottom.png
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/images/arrows_over/bottom.png
rename to resources/library/applications/Minuteur.wgt/images/arrows_over/bottom.png
diff --git a/resources/library/applications/Stopwatch.wgt/images/arrows_over/button_arrow_bottom.png b/resources/library/applications/Minuteur.wgt/images/arrows_over/button_arrow_bottom.png
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/images/arrows_over/button_arrow_bottom.png
rename to resources/library/applications/Minuteur.wgt/images/arrows_over/button_arrow_bottom.png
diff --git a/resources/library/applications/Stopwatch.wgt/images/arrows_over/button_arrow_left.png b/resources/library/applications/Minuteur.wgt/images/arrows_over/button_arrow_left.png
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/images/arrows_over/button_arrow_left.png
rename to resources/library/applications/Minuteur.wgt/images/arrows_over/button_arrow_left.png
diff --git a/resources/library/applications/Stopwatch.wgt/images/arrows_over/button_arrow_right.png b/resources/library/applications/Minuteur.wgt/images/arrows_over/button_arrow_right.png
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/images/arrows_over/button_arrow_right.png
rename to resources/library/applications/Minuteur.wgt/images/arrows_over/button_arrow_right.png
diff --git a/resources/library/applications/Stopwatch.wgt/images/arrows_over/button_arrow_top.png b/resources/library/applications/Minuteur.wgt/images/arrows_over/button_arrow_top.png
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/images/arrows_over/button_arrow_top.png
rename to resources/library/applications/Minuteur.wgt/images/arrows_over/button_arrow_top.png
diff --git a/resources/library/applications/Stopwatch.wgt/images/arrows_over/top.png b/resources/library/applications/Minuteur.wgt/images/arrows_over/top.png
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/images/arrows_over/top.png
rename to resources/library/applications/Minuteur.wgt/images/arrows_over/top.png
diff --git a/resources/library/applications/Stopwatch.wgt/images/back.png b/resources/library/applications/Minuteur.wgt/images/back.png
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/images/back.png
rename to resources/library/applications/Minuteur.wgt/images/back.png
diff --git a/resources/library/applications/Stopwatch.wgt/images/button_out-copie.png b/resources/library/applications/Minuteur.wgt/images/button_out-copie.png
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/images/button_out-copie.png
rename to resources/library/applications/Minuteur.wgt/images/button_out-copie.png
diff --git a/resources/library/applications/Stopwatch.wgt/images/button_out.gif b/resources/library/applications/Minuteur.wgt/images/button_out.gif
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/images/button_out.gif
rename to resources/library/applications/Minuteur.wgt/images/button_out.gif
diff --git a/resources/library/applications/Stopwatch.wgt/images/button_out.png b/resources/library/applications/Minuteur.wgt/images/button_out.png
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/images/button_out.png
rename to resources/library/applications/Minuteur.wgt/images/button_out.png
diff --git a/resources/library/applications/Stopwatch.wgt/images/button_out_dark.png b/resources/library/applications/Minuteur.wgt/images/button_out_dark.png
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/images/button_out_dark.png
rename to resources/library/applications/Minuteur.wgt/images/button_out_dark.png
diff --git a/resources/library/applications/Stopwatch.wgt/images/button_pause.png b/resources/library/applications/Minuteur.wgt/images/button_pause.png
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/images/button_pause.png
rename to resources/library/applications/Minuteur.wgt/images/button_pause.png
diff --git a/resources/library/applications/Stopwatch.wgt/images/button_pause_invert.png b/resources/library/applications/Minuteur.wgt/images/button_pause_invert.png
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/images/button_pause_invert.png
rename to resources/library/applications/Minuteur.wgt/images/button_pause_invert.png
diff --git a/resources/library/applications/Stopwatch.wgt/images/button_pause_invertxov.png b/resources/library/applications/Minuteur.wgt/images/button_pause_invertxov.png
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/images/button_pause_invertxov.png
rename to resources/library/applications/Minuteur.wgt/images/button_pause_invertxov.png
diff --git a/resources/library/applications/Stopwatch.wgt/images/button_play.png b/resources/library/applications/Minuteur.wgt/images/button_play.png
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/images/button_play.png
rename to resources/library/applications/Minuteur.wgt/images/button_play.png
diff --git a/resources/library/applications/Stopwatch.wgt/images/button_play_invert.png b/resources/library/applications/Minuteur.wgt/images/button_play_invert.png
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/images/button_play_invert.png
rename to resources/library/applications/Minuteur.wgt/images/button_play_invert.png
diff --git a/resources/library/applications/Stopwatch.wgt/images/button_play_invertxov.png b/resources/library/applications/Minuteur.wgt/images/button_play_invertxov.png
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/images/button_play_invertxov.png
rename to resources/library/applications/Minuteur.wgt/images/button_play_invertxov.png
diff --git a/resources/library/applications/Stopwatch.wgt/images/button_reset_invert.png b/resources/library/applications/Minuteur.wgt/images/button_reset_invert.png
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/images/button_reset_invert.png
rename to resources/library/applications/Minuteur.wgt/images/button_reset_invert.png
diff --git a/resources/library/applications/Stopwatch.wgt/images/button_toggle.png b/resources/library/applications/Minuteur.wgt/images/button_toggle.png
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/images/button_toggle.png
rename to resources/library/applications/Minuteur.wgt/images/button_toggle.png
diff --git a/resources/library/applications/Stopwatch.wgt/images/button_toggle_invert.png b/resources/library/applications/Minuteur.wgt/images/button_toggle_invert.png
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/images/button_toggle_invert.png
rename to resources/library/applications/Minuteur.wgt/images/button_toggle_invert.png
diff --git a/resources/library/applications/Stopwatch.wgt/images/buttons_shadow/back.png b/resources/library/applications/Minuteur.wgt/images/buttons_shadow/back.png
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/images/buttons_shadow/back.png
rename to resources/library/applications/Minuteur.wgt/images/buttons_shadow/back.png
diff --git a/resources/library/applications/Stopwatch.wgt/images/buttons_shadow/bottom.png b/resources/library/applications/Minuteur.wgt/images/buttons_shadow/bottom.png
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/images/buttons_shadow/bottom.png
rename to resources/library/applications/Minuteur.wgt/images/buttons_shadow/bottom.png
diff --git a/resources/library/applications/Stopwatch.wgt/images/buttons_shadow/cbottomleft.png b/resources/library/applications/Minuteur.wgt/images/buttons_shadow/cbottomleft.png
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/images/buttons_shadow/cbottomleft.png
rename to resources/library/applications/Minuteur.wgt/images/buttons_shadow/cbottomleft.png
diff --git a/resources/library/applications/Stopwatch.wgt/images/buttons_shadow/cbottomright.png b/resources/library/applications/Minuteur.wgt/images/buttons_shadow/cbottomright.png
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/images/buttons_shadow/cbottomright.png
rename to resources/library/applications/Minuteur.wgt/images/buttons_shadow/cbottomright.png
diff --git a/resources/library/applications/Stopwatch.wgt/images/buttons_shadow/ctopleft.png b/resources/library/applications/Minuteur.wgt/images/buttons_shadow/ctopleft.png
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/images/buttons_shadow/ctopleft.png
rename to resources/library/applications/Minuteur.wgt/images/buttons_shadow/ctopleft.png
diff --git a/resources/library/applications/Stopwatch.wgt/images/buttons_shadow/ctopright.png b/resources/library/applications/Minuteur.wgt/images/buttons_shadow/ctopright.png
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/images/buttons_shadow/ctopright.png
rename to resources/library/applications/Minuteur.wgt/images/buttons_shadow/ctopright.png
diff --git a/resources/library/applications/Stopwatch.wgt/images/buttons_shadow/left.png b/resources/library/applications/Minuteur.wgt/images/buttons_shadow/left.png
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/images/buttons_shadow/left.png
rename to resources/library/applications/Minuteur.wgt/images/buttons_shadow/left.png
diff --git a/resources/library/applications/Stopwatch.wgt/images/buttons_shadow/right.png b/resources/library/applications/Minuteur.wgt/images/buttons_shadow/right.png
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/images/buttons_shadow/right.png
rename to resources/library/applications/Minuteur.wgt/images/buttons_shadow/right.png
diff --git a/resources/library/applications/Stopwatch.wgt/images/buttons_shadow/top.png b/resources/library/applications/Minuteur.wgt/images/buttons_shadow/top.png
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/images/buttons_shadow/top.png
rename to resources/library/applications/Minuteur.wgt/images/buttons_shadow/top.png
diff --git a/resources/library/applications/Stopwatch.wgt/images/inspector.png b/resources/library/applications/Minuteur.wgt/images/inspector.png
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/images/inspector.png
rename to resources/library/applications/Minuteur.wgt/images/inspector.png
diff --git a/resources/library/applications/Stopwatch.wgt/index.html b/resources/library/applications/Minuteur.wgt/index.html
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/index.html
rename to resources/library/applications/Minuteur.wgt/index.html
diff --git a/resources/library/applications/Stopwatch.wgt/js/DD_roundies_0.0.2a.js b/resources/library/applications/Minuteur.wgt/js/DD_roundies_0.0.2a.js
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/js/DD_roundies_0.0.2a.js
rename to resources/library/applications/Minuteur.wgt/js/DD_roundies_0.0.2a.js
diff --git a/resources/library/applications/Stopwatch.wgt/js/calculate.js b/resources/library/applications/Minuteur.wgt/js/calculate.js
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/js/calculate.js
rename to resources/library/applications/Minuteur.wgt/js/calculate.js
diff --git a/resources/library/applications/Stopwatch.wgt/js/jquery-1.3.2.min.js b/resources/library/applications/Minuteur.wgt/js/jquery-1.3.2.min.js
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/js/jquery-1.3.2.min.js
rename to resources/library/applications/Minuteur.wgt/js/jquery-1.3.2.min.js
diff --git a/resources/library/applications/Stopwatch.wgt/js/jquery-ui-1.7.2.custom.min.js b/resources/library/applications/Minuteur.wgt/js/jquery-ui-1.7.2.custom.min.js
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/js/jquery-ui-1.7.2.custom.min.js
rename to resources/library/applications/Minuteur.wgt/js/jquery-ui-1.7.2.custom.min.js
diff --git a/resources/library/applications/Stopwatch.wgt/js/jquery.center.js b/resources/library/applications/Minuteur.wgt/js/jquery.center.js
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/js/jquery.center.js
rename to resources/library/applications/Minuteur.wgt/js/jquery.center.js
diff --git a/resources/library/applications/Stopwatch.wgt/js/jquery.disable.text.select.js b/resources/library/applications/Minuteur.wgt/js/jquery.disable.text.select.js
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/js/jquery.disable.text.select.js
rename to resources/library/applications/Minuteur.wgt/js/jquery.disable.text.select.js
diff --git a/resources/library/applications/Stopwatch.wgt/js/jquery.easing.1.2.js b/resources/library/applications/Minuteur.wgt/js/jquery.easing.1.2.js
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/js/jquery.easing.1.2.js
rename to resources/library/applications/Minuteur.wgt/js/jquery.easing.1.2.js
diff --git a/resources/library/applications/Stopwatch.wgt/js/jquery.ubwidget.js b/resources/library/applications/Minuteur.wgt/js/jquery.ubwidget.js
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/js/jquery.ubwidget.js
rename to resources/library/applications/Minuteur.wgt/js/jquery.ubwidget.js
diff --git a/resources/library/applications/Stopwatch.wgt/js/ubw-main.js b/resources/library/applications/Minuteur.wgt/js/ubw-main.js
similarity index 100%
rename from resources/library/applications/Stopwatch.wgt/js/ubw-main.js
rename to resources/library/applications/Minuteur.wgt/js/ubw-main.js
diff --git a/resources/library/applications/WebBrowser.wgt/config.xml b/resources/library/applications/Navigateur Web.wgt/config.xml
similarity index 100%
rename from resources/library/applications/WebBrowser.wgt/config.xml
rename to resources/library/applications/Navigateur Web.wgt/config.xml
diff --git a/resources/library/applications/VideoPicker.wgt/css/howto.css b/resources/library/applications/Navigateur Web.wgt/css/howto.css
similarity index 100%
rename from resources/library/applications/VideoPicker.wgt/css/howto.css
rename to resources/library/applications/Navigateur Web.wgt/css/howto.css
diff --git a/resources/library/applications/WebBrowser.wgt/css/main.css b/resources/library/applications/Navigateur Web.wgt/css/main.css
similarity index 100%
rename from resources/library/applications/WebBrowser.wgt/css/main.css
rename to resources/library/applications/Navigateur Web.wgt/css/main.css
diff --git a/resources/library/applications/WebBrowser.wgt/icon.png b/resources/library/applications/Navigateur Web.wgt/icon.png
similarity index 100%
rename from resources/library/applications/WebBrowser.wgt/icon.png
rename to resources/library/applications/Navigateur Web.wgt/icon.png
diff --git a/resources/library/applications/VideoPicker.wgt/imgs/arrow.png b/resources/library/applications/Navigateur Web.wgt/imgs/arrow.png
similarity index 100%
rename from resources/library/applications/VideoPicker.wgt/imgs/arrow.png
rename to resources/library/applications/Navigateur Web.wgt/imgs/arrow.png
diff --git a/resources/library/applications/VideoPicker.wgt/imgs/button.png b/resources/library/applications/Navigateur Web.wgt/imgs/button.png
similarity index 100%
rename from resources/library/applications/VideoPicker.wgt/imgs/button.png
rename to resources/library/applications/Navigateur Web.wgt/imgs/button.png
diff --git a/resources/library/applications/VideoPicker.wgt/imgs/button_anim.gif b/resources/library/applications/Navigateur Web.wgt/imgs/button_anim.gif
similarity index 100%
rename from resources/library/applications/VideoPicker.wgt/imgs/button_anim.gif
rename to resources/library/applications/Navigateur Web.wgt/imgs/button_anim.gif
diff --git a/resources/library/applications/VideoPicker.wgt/imgs/button_over.png b/resources/library/applications/Navigateur Web.wgt/imgs/button_over.png
similarity index 100%
rename from resources/library/applications/VideoPicker.wgt/imgs/button_over.png
rename to resources/library/applications/Navigateur Web.wgt/imgs/button_over.png
diff --git a/resources/library/applications/VideoPicker.wgt/imgs/button_show.png b/resources/library/applications/Navigateur Web.wgt/imgs/button_show.png
similarity index 100%
rename from resources/library/applications/VideoPicker.wgt/imgs/button_show.png
rename to resources/library/applications/Navigateur Web.wgt/imgs/button_show.png
diff --git a/resources/library/applications/VideoPicker.wgt/imgs/capture_youtube.jpg b/resources/library/applications/Navigateur Web.wgt/imgs/capture_youtube.jpg
similarity index 100%
rename from resources/library/applications/VideoPicker.wgt/imgs/capture_youtube.jpg
rename to resources/library/applications/Navigateur Web.wgt/imgs/capture_youtube.jpg
diff --git a/resources/library/applications/VideoPicker.wgt/imgs/center.png b/resources/library/applications/Navigateur Web.wgt/imgs/center.png
similarity index 100%
rename from resources/library/applications/VideoPicker.wgt/imgs/center.png
rename to resources/library/applications/Navigateur Web.wgt/imgs/center.png
diff --git a/resources/library/applications/VideoPicker.wgt/imgs/howto_back.png b/resources/library/applications/Navigateur Web.wgt/imgs/howto_back.png
similarity index 100%
rename from resources/library/applications/VideoPicker.wgt/imgs/howto_back.png
rename to resources/library/applications/Navigateur Web.wgt/imgs/howto_back.png
diff --git a/resources/library/applications/VideoPicker.wgt/imgs/info_ico.png b/resources/library/applications/Navigateur Web.wgt/imgs/info_ico.png
similarity index 100%
rename from resources/library/applications/VideoPicker.wgt/imgs/info_ico.png
rename to resources/library/applications/Navigateur Web.wgt/imgs/info_ico.png
diff --git a/resources/library/applications/VideoPicker.wgt/imgs/inputfield_back.png b/resources/library/applications/Navigateur Web.wgt/imgs/inputfield_back.png
similarity index 100%
rename from resources/library/applications/VideoPicker.wgt/imgs/inputfield_back.png
rename to resources/library/applications/Navigateur Web.wgt/imgs/inputfield_back.png
diff --git a/resources/library/applications/VideoPicker.wgt/imgs/keys_copy.jpg b/resources/library/applications/Navigateur Web.wgt/imgs/keys_copy.jpg
similarity index 100%
rename from resources/library/applications/VideoPicker.wgt/imgs/keys_copy.jpg
rename to resources/library/applications/Navigateur Web.wgt/imgs/keys_copy.jpg
diff --git a/resources/library/applications/VideoPicker.wgt/imgs/keys_paste.jpg b/resources/library/applications/Navigateur Web.wgt/imgs/keys_paste.jpg
similarity index 100%
rename from resources/library/applications/VideoPicker.wgt/imgs/keys_paste.jpg
rename to resources/library/applications/Navigateur Web.wgt/imgs/keys_paste.jpg
diff --git a/resources/library/applications/VideoPicker.wgt/imgs/left.png b/resources/library/applications/Navigateur Web.wgt/imgs/left.png
similarity index 100%
rename from resources/library/applications/VideoPicker.wgt/imgs/left.png
rename to resources/library/applications/Navigateur Web.wgt/imgs/left.png
diff --git a/resources/library/applications/VideoPicker.wgt/imgs/logos_web.jpg b/resources/library/applications/Navigateur Web.wgt/imgs/logos_web.jpg
similarity index 100%
rename from resources/library/applications/VideoPicker.wgt/imgs/logos_web.jpg
rename to resources/library/applications/Navigateur Web.wgt/imgs/logos_web.jpg
diff --git a/resources/library/applications/VideoPicker.wgt/imgs/right.png b/resources/library/applications/Navigateur Web.wgt/imgs/right.png
similarity index 100%
rename from resources/library/applications/VideoPicker.wgt/imgs/right.png
rename to resources/library/applications/Navigateur Web.wgt/imgs/right.png
diff --git a/resources/library/applications/WebBrowser.wgt/index.html b/resources/library/applications/Navigateur Web.wgt/index.html
similarity index 100%
rename from resources/library/applications/WebBrowser.wgt/index.html
rename to resources/library/applications/Navigateur Web.wgt/index.html
diff --git a/resources/library/applications/VideoPicker.wgt/locales/en/capture_widget.jpg b/resources/library/applications/Navigateur Web.wgt/locales/en/capture_widget.jpg
similarity index 100%
rename from resources/library/applications/VideoPicker.wgt/locales/en/capture_widget.jpg
rename to resources/library/applications/Navigateur Web.wgt/locales/en/capture_widget.jpg
diff --git a/resources/library/applications/WebBrowser.wgt/locales/en/error.html b/resources/library/applications/Navigateur Web.wgt/locales/en/error.html
similarity index 100%
rename from resources/library/applications/WebBrowser.wgt/locales/en/error.html
rename to resources/library/applications/Navigateur Web.wgt/locales/en/error.html
diff --git a/resources/library/applications/WebBrowser.wgt/locales/en/howto.html b/resources/library/applications/Navigateur Web.wgt/locales/en/howto.html
similarity index 100%
rename from resources/library/applications/WebBrowser.wgt/locales/en/howto.html
rename to resources/library/applications/Navigateur Web.wgt/locales/en/howto.html
diff --git a/resources/library/applications/VideoPicker.wgt/locales/fr/capture_widget.jpg b/resources/library/applications/Navigateur Web.wgt/locales/fr/capture_widget.jpg
similarity index 100%
rename from resources/library/applications/VideoPicker.wgt/locales/fr/capture_widget.jpg
rename to resources/library/applications/Navigateur Web.wgt/locales/fr/capture_widget.jpg
diff --git a/resources/library/applications/VideoPicker.wgt/locales/fr/error.html b/resources/library/applications/Navigateur Web.wgt/locales/fr/error.html
similarity index 100%
rename from resources/library/applications/VideoPicker.wgt/locales/fr/error.html
rename to resources/library/applications/Navigateur Web.wgt/locales/fr/error.html
diff --git a/resources/library/applications/WebBrowser.wgt/locales/fr/howto.html b/resources/library/applications/Navigateur Web.wgt/locales/fr/howto.html
similarity index 100%
rename from resources/library/applications/WebBrowser.wgt/locales/fr/howto.html
rename to resources/library/applications/Navigateur Web.wgt/locales/fr/howto.html
diff --git a/resources/library/applications/VideoPicker.wgt/locales/ru/capture_widget.jpg b/resources/library/applications/Navigateur Web.wgt/locales/ru/capture_widget.jpg
similarity index 100%
rename from resources/library/applications/VideoPicker.wgt/locales/ru/capture_widget.jpg
rename to resources/library/applications/Navigateur Web.wgt/locales/ru/capture_widget.jpg
diff --git a/resources/library/applications/WebBrowser.wgt/locales/ru/error.html b/resources/library/applications/Navigateur Web.wgt/locales/ru/error.html
similarity index 100%
rename from resources/library/applications/WebBrowser.wgt/locales/ru/error.html
rename to resources/library/applications/Navigateur Web.wgt/locales/ru/error.html
diff --git a/resources/library/applications/WebBrowser.wgt/locales/ru/howto.html b/resources/library/applications/Navigateur Web.wgt/locales/ru/howto.html
similarity index 100%
rename from resources/library/applications/WebBrowser.wgt/locales/ru/howto.html
rename to resources/library/applications/Navigateur Web.wgt/locales/ru/howto.html
diff --git a/resources/library/applications/VideoPicker.wgt/scripts/jquery-1.3.2.min.js b/resources/library/applications/Navigateur Web.wgt/scripts/jquery-1.3.2.min.js
similarity index 100%
rename from resources/library/applications/VideoPicker.wgt/scripts/jquery-1.3.2.min.js
rename to resources/library/applications/Navigateur Web.wgt/scripts/jquery-1.3.2.min.js
diff --git a/resources/library/applications/WebBrowser.wgt/scripts/languages.js b/resources/library/applications/Navigateur Web.wgt/scripts/languages.js
similarity index 100%
rename from resources/library/applications/WebBrowser.wgt/scripts/languages.js
rename to resources/library/applications/Navigateur Web.wgt/scripts/languages.js
diff --git a/resources/library/applications/ColorPicker.wgt/Default.png b/resources/library/applications/Nuancier.wgt/Default.png
similarity index 100%
rename from resources/library/applications/ColorPicker.wgt/Default.png
rename to resources/library/applications/Nuancier.wgt/Default.png
diff --git a/resources/library/applications/ColorPicker.wgt/config.xml b/resources/library/applications/Nuancier.wgt/config.xml
similarity index 100%
rename from resources/library/applications/ColorPicker.wgt/config.xml
rename to resources/library/applications/Nuancier.wgt/config.xml
diff --git a/resources/library/applications/ColorPicker.wgt/css/colorpicker.css b/resources/library/applications/Nuancier.wgt/css/colorpicker.css
similarity index 100%
rename from resources/library/applications/ColorPicker.wgt/css/colorpicker.css
rename to resources/library/applications/Nuancier.wgt/css/colorpicker.css
diff --git a/resources/library/applications/ColorPicker.wgt/css/layout.css b/resources/library/applications/Nuancier.wgt/css/layout.css
similarity index 100%
rename from resources/library/applications/ColorPicker.wgt/css/layout.css
rename to resources/library/applications/Nuancier.wgt/css/layout.css
diff --git a/resources/library/applications/ColorPicker.wgt/icon.png b/resources/library/applications/Nuancier.wgt/icon.png
similarity index 100%
rename from resources/library/applications/ColorPicker.wgt/icon.png
rename to resources/library/applications/Nuancier.wgt/icon.png
diff --git a/resources/library/applications/ColorPicker.wgt/images/blank.png b/resources/library/applications/Nuancier.wgt/images/blank.png
similarity index 100%
rename from resources/library/applications/ColorPicker.wgt/images/blank.png
rename to resources/library/applications/Nuancier.wgt/images/blank.png
diff --git a/resources/library/applications/ColorPicker.wgt/images/colorpicker_background.png b/resources/library/applications/Nuancier.wgt/images/colorpicker_background.png
similarity index 100%
rename from resources/library/applications/ColorPicker.wgt/images/colorpicker_background.png
rename to resources/library/applications/Nuancier.wgt/images/colorpicker_background.png
diff --git a/resources/library/applications/ColorPicker.wgt/images/colorpicker_hex.png b/resources/library/applications/Nuancier.wgt/images/colorpicker_hex.png
similarity index 100%
rename from resources/library/applications/ColorPicker.wgt/images/colorpicker_hex.png
rename to resources/library/applications/Nuancier.wgt/images/colorpicker_hex.png
diff --git a/resources/library/applications/ColorPicker.wgt/images/colorpicker_hsb_b.png b/resources/library/applications/Nuancier.wgt/images/colorpicker_hsb_b.png
similarity index 100%
rename from resources/library/applications/ColorPicker.wgt/images/colorpicker_hsb_b.png
rename to resources/library/applications/Nuancier.wgt/images/colorpicker_hsb_b.png
diff --git a/resources/library/applications/ColorPicker.wgt/images/colorpicker_hsb_h.png b/resources/library/applications/Nuancier.wgt/images/colorpicker_hsb_h.png
similarity index 100%
rename from resources/library/applications/ColorPicker.wgt/images/colorpicker_hsb_h.png
rename to resources/library/applications/Nuancier.wgt/images/colorpicker_hsb_h.png
diff --git a/resources/library/applications/ColorPicker.wgt/images/colorpicker_hsb_s.png b/resources/library/applications/Nuancier.wgt/images/colorpicker_hsb_s.png
similarity index 100%
rename from resources/library/applications/ColorPicker.wgt/images/colorpicker_hsb_s.png
rename to resources/library/applications/Nuancier.wgt/images/colorpicker_hsb_s.png
diff --git a/resources/library/applications/ColorPicker.wgt/images/colorpicker_indic.png b/resources/library/applications/Nuancier.wgt/images/colorpicker_indic.png
similarity index 100%
rename from resources/library/applications/ColorPicker.wgt/images/colorpicker_indic.png
rename to resources/library/applications/Nuancier.wgt/images/colorpicker_indic.png
diff --git a/resources/library/applications/ColorPicker.wgt/images/colorpicker_overlay.png b/resources/library/applications/Nuancier.wgt/images/colorpicker_overlay.png
similarity index 100%
rename from resources/library/applications/ColorPicker.wgt/images/colorpicker_overlay.png
rename to resources/library/applications/Nuancier.wgt/images/colorpicker_overlay.png
diff --git a/resources/library/applications/ColorPicker.wgt/images/colorpicker_rgb_b.png b/resources/library/applications/Nuancier.wgt/images/colorpicker_rgb_b.png
similarity index 100%
rename from resources/library/applications/ColorPicker.wgt/images/colorpicker_rgb_b.png
rename to resources/library/applications/Nuancier.wgt/images/colorpicker_rgb_b.png
diff --git a/resources/library/applications/ColorPicker.wgt/images/colorpicker_rgb_g.png b/resources/library/applications/Nuancier.wgt/images/colorpicker_rgb_g.png
similarity index 100%
rename from resources/library/applications/ColorPicker.wgt/images/colorpicker_rgb_g.png
rename to resources/library/applications/Nuancier.wgt/images/colorpicker_rgb_g.png
diff --git a/resources/library/applications/ColorPicker.wgt/images/colorpicker_rgb_r.png b/resources/library/applications/Nuancier.wgt/images/colorpicker_rgb_r.png
similarity index 100%
rename from resources/library/applications/ColorPicker.wgt/images/colorpicker_rgb_r.png
rename to resources/library/applications/Nuancier.wgt/images/colorpicker_rgb_r.png
diff --git a/resources/library/applications/ColorPicker.wgt/images/colorpicker_select.png b/resources/library/applications/Nuancier.wgt/images/colorpicker_select.png
similarity index 100%
rename from resources/library/applications/ColorPicker.wgt/images/colorpicker_select.png
rename to resources/library/applications/Nuancier.wgt/images/colorpicker_select.png
diff --git a/resources/library/applications/ColorPicker.wgt/images/colorpicker_submit.png b/resources/library/applications/Nuancier.wgt/images/colorpicker_submit.png
similarity index 100%
rename from resources/library/applications/ColorPicker.wgt/images/colorpicker_submit.png
rename to resources/library/applications/Nuancier.wgt/images/colorpicker_submit.png
diff --git a/resources/library/applications/ColorPicker.wgt/images/custom_background.png b/resources/library/applications/Nuancier.wgt/images/custom_background.png
similarity index 100%
rename from resources/library/applications/ColorPicker.wgt/images/custom_background.png
rename to resources/library/applications/Nuancier.wgt/images/custom_background.png
diff --git a/resources/library/applications/ColorPicker.wgt/images/custom_hex.png b/resources/library/applications/Nuancier.wgt/images/custom_hex.png
similarity index 100%
rename from resources/library/applications/ColorPicker.wgt/images/custom_hex.png
rename to resources/library/applications/Nuancier.wgt/images/custom_hex.png
diff --git a/resources/library/applications/ColorPicker.wgt/images/custom_hsb_b.png b/resources/library/applications/Nuancier.wgt/images/custom_hsb_b.png
similarity index 100%
rename from resources/library/applications/ColorPicker.wgt/images/custom_hsb_b.png
rename to resources/library/applications/Nuancier.wgt/images/custom_hsb_b.png
diff --git a/resources/library/applications/ColorPicker.wgt/images/custom_hsb_h.png b/resources/library/applications/Nuancier.wgt/images/custom_hsb_h.png
similarity index 100%
rename from resources/library/applications/ColorPicker.wgt/images/custom_hsb_h.png
rename to resources/library/applications/Nuancier.wgt/images/custom_hsb_h.png
diff --git a/resources/library/applications/ColorPicker.wgt/images/custom_hsb_s.png b/resources/library/applications/Nuancier.wgt/images/custom_hsb_s.png
similarity index 100%
rename from resources/library/applications/ColorPicker.wgt/images/custom_hsb_s.png
rename to resources/library/applications/Nuancier.wgt/images/custom_hsb_s.png
diff --git a/resources/library/applications/ColorPicker.wgt/images/custom_indic.png b/resources/library/applications/Nuancier.wgt/images/custom_indic.png
similarity index 100%
rename from resources/library/applications/ColorPicker.wgt/images/custom_indic.png
rename to resources/library/applications/Nuancier.wgt/images/custom_indic.png
diff --git a/resources/library/applications/ColorPicker.wgt/images/custom_rgb_b.png b/resources/library/applications/Nuancier.wgt/images/custom_rgb_b.png
similarity index 100%
rename from resources/library/applications/ColorPicker.wgt/images/custom_rgb_b.png
rename to resources/library/applications/Nuancier.wgt/images/custom_rgb_b.png
diff --git a/resources/library/applications/ColorPicker.wgt/images/custom_rgb_g.png b/resources/library/applications/Nuancier.wgt/images/custom_rgb_g.png
similarity index 100%
rename from resources/library/applications/ColorPicker.wgt/images/custom_rgb_g.png
rename to resources/library/applications/Nuancier.wgt/images/custom_rgb_g.png
diff --git a/resources/library/applications/ColorPicker.wgt/images/custom_rgb_r.png b/resources/library/applications/Nuancier.wgt/images/custom_rgb_r.png
similarity index 100%
rename from resources/library/applications/ColorPicker.wgt/images/custom_rgb_r.png
rename to resources/library/applications/Nuancier.wgt/images/custom_rgb_r.png
diff --git a/resources/library/applications/ColorPicker.wgt/images/custom_submit.png b/resources/library/applications/Nuancier.wgt/images/custom_submit.png
similarity index 100%
rename from resources/library/applications/ColorPicker.wgt/images/custom_submit.png
rename to resources/library/applications/Nuancier.wgt/images/custom_submit.png
diff --git a/resources/library/applications/ColorPicker.wgt/images/select.png b/resources/library/applications/Nuancier.wgt/images/select.png
similarity index 100%
rename from resources/library/applications/ColorPicker.wgt/images/select.png
rename to resources/library/applications/Nuancier.wgt/images/select.png
diff --git a/resources/library/applications/ColorPicker.wgt/images/select2.png b/resources/library/applications/Nuancier.wgt/images/select2.png
similarity index 100%
rename from resources/library/applications/ColorPicker.wgt/images/select2.png
rename to resources/library/applications/Nuancier.wgt/images/select2.png
diff --git a/resources/library/applications/ColorPicker.wgt/images/slider.png b/resources/library/applications/Nuancier.wgt/images/slider.png
similarity index 100%
rename from resources/library/applications/ColorPicker.wgt/images/slider.png
rename to resources/library/applications/Nuancier.wgt/images/slider.png
diff --git a/resources/library/applications/ColorPicker.wgt/images/tools.jpg b/resources/library/applications/Nuancier.wgt/images/tools.jpg
similarity index 100%
rename from resources/library/applications/ColorPicker.wgt/images/tools.jpg
rename to resources/library/applications/Nuancier.wgt/images/tools.jpg
diff --git a/resources/library/applications/ColorPicker.wgt/index.html b/resources/library/applications/Nuancier.wgt/index.html
similarity index 100%
rename from resources/library/applications/ColorPicker.wgt/index.html
rename to resources/library/applications/Nuancier.wgt/index.html
diff --git a/resources/library/applications/ColorPicker.wgt/js/colorpicker.js b/resources/library/applications/Nuancier.wgt/js/colorpicker.js
similarity index 100%
rename from resources/library/applications/ColorPicker.wgt/js/colorpicker.js
rename to resources/library/applications/Nuancier.wgt/js/colorpicker.js
diff --git a/resources/library/applications/ColorPicker.wgt/js/eye.js b/resources/library/applications/Nuancier.wgt/js/eye.js
similarity index 100%
rename from resources/library/applications/ColorPicker.wgt/js/eye.js
rename to resources/library/applications/Nuancier.wgt/js/eye.js
diff --git a/resources/library/applications/ColorPicker.wgt/js/jquery.js b/resources/library/applications/Nuancier.wgt/js/jquery.js
similarity index 100%
rename from resources/library/applications/ColorPicker.wgt/js/jquery.js
rename to resources/library/applications/Nuancier.wgt/js/jquery.js
diff --git a/resources/library/applications/ColorPicker.wgt/js/layout.js b/resources/library/applications/Nuancier.wgt/js/layout.js
similarity index 100%
rename from resources/library/applications/ColorPicker.wgt/js/layout.js
rename to resources/library/applications/Nuancier.wgt/js/layout.js
diff --git a/resources/library/applications/ColorPicker.wgt/js/utils.js b/resources/library/applications/Nuancier.wgt/js/utils.js
similarity index 100%
rename from resources/library/applications/ColorPicker.wgt/js/utils.js
rename to resources/library/applications/Nuancier.wgt/js/utils.js
diff --git a/resources/library/applications/VideoPicker.wgt/config.xml b/resources/library/applications/Sél vidéo.wgt/config.xml
similarity index 100%
rename from resources/library/applications/VideoPicker.wgt/config.xml
rename to resources/library/applications/Sél vidéo.wgt/config.xml
diff --git a/resources/library/applications/WebBrowser.wgt/css/howto.css b/resources/library/applications/Sél vidéo.wgt/css/howto.css
similarity index 100%
rename from resources/library/applications/WebBrowser.wgt/css/howto.css
rename to resources/library/applications/Sél vidéo.wgt/css/howto.css
diff --git a/resources/library/applications/VideoPicker.wgt/css/main.css b/resources/library/applications/Sél vidéo.wgt/css/main.css
similarity index 100%
rename from resources/library/applications/VideoPicker.wgt/css/main.css
rename to resources/library/applications/Sél vidéo.wgt/css/main.css
diff --git a/resources/library/applications/VideoPicker.wgt/icon.png b/resources/library/applications/Sél vidéo.wgt/icon.png
similarity index 100%
rename from resources/library/applications/VideoPicker.wgt/icon.png
rename to resources/library/applications/Sél vidéo.wgt/icon.png
diff --git a/resources/library/applications/WebBrowser.wgt/imgs/arrow.png b/resources/library/applications/Sél vidéo.wgt/imgs/arrow.png
similarity index 100%
rename from resources/library/applications/WebBrowser.wgt/imgs/arrow.png
rename to resources/library/applications/Sél vidéo.wgt/imgs/arrow.png
diff --git a/resources/library/applications/VideoPicker.wgt/imgs/bts.png b/resources/library/applications/Sél vidéo.wgt/imgs/bts.png
similarity index 100%
rename from resources/library/applications/VideoPicker.wgt/imgs/bts.png
rename to resources/library/applications/Sél vidéo.wgt/imgs/bts.png
diff --git a/resources/library/applications/VideoPicker.wgt/imgs/btson.png b/resources/library/applications/Sél vidéo.wgt/imgs/btson.png
similarity index 100%
rename from resources/library/applications/VideoPicker.wgt/imgs/btson.png
rename to resources/library/applications/Sél vidéo.wgt/imgs/btson.png
diff --git a/resources/library/applications/WebBrowser.wgt/imgs/button.png b/resources/library/applications/Sél vidéo.wgt/imgs/button.png
similarity index 100%
rename from resources/library/applications/WebBrowser.wgt/imgs/button.png
rename to resources/library/applications/Sél vidéo.wgt/imgs/button.png
diff --git a/resources/library/applications/WebBrowser.wgt/imgs/button_anim.gif b/resources/library/applications/Sél vidéo.wgt/imgs/button_anim.gif
similarity index 100%
rename from resources/library/applications/WebBrowser.wgt/imgs/button_anim.gif
rename to resources/library/applications/Sél vidéo.wgt/imgs/button_anim.gif
diff --git a/resources/library/applications/WebBrowser.wgt/imgs/button_over.png b/resources/library/applications/Sél vidéo.wgt/imgs/button_over.png
similarity index 100%
rename from resources/library/applications/WebBrowser.wgt/imgs/button_over.png
rename to resources/library/applications/Sél vidéo.wgt/imgs/button_over.png
diff --git a/resources/library/applications/WebBrowser.wgt/imgs/button_show.png b/resources/library/applications/Sél vidéo.wgt/imgs/button_show.png
similarity index 100%
rename from resources/library/applications/WebBrowser.wgt/imgs/button_show.png
rename to resources/library/applications/Sél vidéo.wgt/imgs/button_show.png
diff --git a/resources/library/applications/WebBrowser.wgt/imgs/capture_youtube.jpg b/resources/library/applications/Sél vidéo.wgt/imgs/capture_youtube.jpg
similarity index 100%
rename from resources/library/applications/WebBrowser.wgt/imgs/capture_youtube.jpg
rename to resources/library/applications/Sél vidéo.wgt/imgs/capture_youtube.jpg
diff --git a/resources/library/applications/WebBrowser.wgt/imgs/center.png b/resources/library/applications/Sél vidéo.wgt/imgs/center.png
similarity index 100%
rename from resources/library/applications/WebBrowser.wgt/imgs/center.png
rename to resources/library/applications/Sél vidéo.wgt/imgs/center.png
diff --git a/resources/library/applications/WebBrowser.wgt/imgs/howto_back.png b/resources/library/applications/Sél vidéo.wgt/imgs/howto_back.png
similarity index 100%
rename from resources/library/applications/WebBrowser.wgt/imgs/howto_back.png
rename to resources/library/applications/Sél vidéo.wgt/imgs/howto_back.png
diff --git a/resources/library/applications/WebBrowser.wgt/imgs/info_ico.png b/resources/library/applications/Sél vidéo.wgt/imgs/info_ico.png
similarity index 100%
rename from resources/library/applications/WebBrowser.wgt/imgs/info_ico.png
rename to resources/library/applications/Sél vidéo.wgt/imgs/info_ico.png
diff --git a/resources/library/applications/WebBrowser.wgt/imgs/inputfield_back.png b/resources/library/applications/Sél vidéo.wgt/imgs/inputfield_back.png
similarity index 100%
rename from resources/library/applications/WebBrowser.wgt/imgs/inputfield_back.png
rename to resources/library/applications/Sél vidéo.wgt/imgs/inputfield_back.png
diff --git a/resources/library/applications/WebBrowser.wgt/imgs/keys_copy.jpg b/resources/library/applications/Sél vidéo.wgt/imgs/keys_copy.jpg
similarity index 100%
rename from resources/library/applications/WebBrowser.wgt/imgs/keys_copy.jpg
rename to resources/library/applications/Sél vidéo.wgt/imgs/keys_copy.jpg
diff --git a/resources/library/applications/WebBrowser.wgt/imgs/keys_paste.jpg b/resources/library/applications/Sél vidéo.wgt/imgs/keys_paste.jpg
similarity index 100%
rename from resources/library/applications/WebBrowser.wgt/imgs/keys_paste.jpg
rename to resources/library/applications/Sél vidéo.wgt/imgs/keys_paste.jpg
diff --git a/resources/library/applications/WebBrowser.wgt/imgs/left.png b/resources/library/applications/Sél vidéo.wgt/imgs/left.png
similarity index 100%
rename from resources/library/applications/WebBrowser.wgt/imgs/left.png
rename to resources/library/applications/Sél vidéo.wgt/imgs/left.png
diff --git a/resources/library/applications/WebBrowser.wgt/imgs/logos_web.jpg b/resources/library/applications/Sél vidéo.wgt/imgs/logos_web.jpg
similarity index 100%
rename from resources/library/applications/WebBrowser.wgt/imgs/logos_web.jpg
rename to resources/library/applications/Sél vidéo.wgt/imgs/logos_web.jpg
diff --git a/resources/library/applications/WebBrowser.wgt/imgs/right.png b/resources/library/applications/Sél vidéo.wgt/imgs/right.png
similarity index 100%
rename from resources/library/applications/WebBrowser.wgt/imgs/right.png
rename to resources/library/applications/Sél vidéo.wgt/imgs/right.png
diff --git a/resources/library/applications/VideoPicker.wgt/index.html b/resources/library/applications/Sél vidéo.wgt/index.html
similarity index 100%
rename from resources/library/applications/VideoPicker.wgt/index.html
rename to resources/library/applications/Sél vidéo.wgt/index.html
diff --git a/resources/library/applications/WebBrowser.wgt/locales/en/capture_widget.jpg b/resources/library/applications/Sél vidéo.wgt/locales/en/capture_widget.jpg
similarity index 100%
rename from resources/library/applications/WebBrowser.wgt/locales/en/capture_widget.jpg
rename to resources/library/applications/Sél vidéo.wgt/locales/en/capture_widget.jpg
diff --git a/resources/library/applications/VideoPicker.wgt/locales/en/error.html b/resources/library/applications/Sél vidéo.wgt/locales/en/error.html
similarity index 100%
rename from resources/library/applications/VideoPicker.wgt/locales/en/error.html
rename to resources/library/applications/Sél vidéo.wgt/locales/en/error.html
diff --git a/resources/library/applications/VideoPicker.wgt/locales/en/howto.html b/resources/library/applications/Sél vidéo.wgt/locales/en/howto.html
similarity index 100%
rename from resources/library/applications/VideoPicker.wgt/locales/en/howto.html
rename to resources/library/applications/Sél vidéo.wgt/locales/en/howto.html
diff --git a/resources/library/applications/WebBrowser.wgt/locales/fr/capture_widget.jpg b/resources/library/applications/Sél vidéo.wgt/locales/fr/capture_widget.jpg
similarity index 100%
rename from resources/library/applications/WebBrowser.wgt/locales/fr/capture_widget.jpg
rename to resources/library/applications/Sél vidéo.wgt/locales/fr/capture_widget.jpg
diff --git a/resources/library/applications/WebBrowser.wgt/locales/fr/error.html b/resources/library/applications/Sél vidéo.wgt/locales/fr/error.html
similarity index 100%
rename from resources/library/applications/WebBrowser.wgt/locales/fr/error.html
rename to resources/library/applications/Sél vidéo.wgt/locales/fr/error.html
diff --git a/resources/library/applications/VideoPicker.wgt/locales/fr/howto.html b/resources/library/applications/Sél vidéo.wgt/locales/fr/howto.html
similarity index 100%
rename from resources/library/applications/VideoPicker.wgt/locales/fr/howto.html
rename to resources/library/applications/Sél vidéo.wgt/locales/fr/howto.html
diff --git a/resources/library/applications/WebBrowser.wgt/locales/ru/capture_widget.jpg b/resources/library/applications/Sél vidéo.wgt/locales/ru/capture_widget.jpg
similarity index 100%
rename from resources/library/applications/WebBrowser.wgt/locales/ru/capture_widget.jpg
rename to resources/library/applications/Sél vidéo.wgt/locales/ru/capture_widget.jpg
diff --git a/resources/library/applications/VideoPicker.wgt/locales/ru/error.html b/resources/library/applications/Sél vidéo.wgt/locales/ru/error.html
similarity index 100%
rename from resources/library/applications/VideoPicker.wgt/locales/ru/error.html
rename to resources/library/applications/Sél vidéo.wgt/locales/ru/error.html
diff --git a/resources/library/applications/VideoPicker.wgt/locales/ru/howto.html b/resources/library/applications/Sél vidéo.wgt/locales/ru/howto.html
similarity index 100%
rename from resources/library/applications/VideoPicker.wgt/locales/ru/howto.html
rename to resources/library/applications/Sél vidéo.wgt/locales/ru/howto.html
diff --git a/resources/library/applications/WebBrowser.wgt/scripts/jquery-1.3.2.min.js b/resources/library/applications/Sél vidéo.wgt/scripts/jquery-1.3.2.min.js
similarity index 100%
rename from resources/library/applications/WebBrowser.wgt/scripts/jquery-1.3.2.min.js
rename to resources/library/applications/Sél vidéo.wgt/scripts/jquery-1.3.2.min.js
diff --git a/resources/library/applications/VideoPicker.wgt/scripts/jquery.oembed.js b/resources/library/applications/Sél vidéo.wgt/scripts/jquery.oembed.js
similarity index 100%
rename from resources/library/applications/VideoPicker.wgt/scripts/jquery.oembed.js
rename to resources/library/applications/Sél vidéo.wgt/scripts/jquery.oembed.js
diff --git a/resources/library/applications/VideoPicker.wgt/scripts/languages.js b/resources/library/applications/Sél vidéo.wgt/scripts/languages.js
similarity index 100%
rename from resources/library/applications/VideoPicker.wgt/scripts/languages.js
rename to resources/library/applications/Sél vidéo.wgt/scripts/languages.js
diff --git a/resources/library/applications/Wiktionary.wgt/config.xml b/resources/library/applications/Wiktionnaire.wgt/config.xml
similarity index 100%
rename from resources/library/applications/Wiktionary.wgt/config.xml
rename to resources/library/applications/Wiktionnaire.wgt/config.xml
diff --git a/resources/library/applications/Wiktionary.wgt/css/master.css b/resources/library/applications/Wiktionnaire.wgt/css/master.css
similarity index 100%
rename from resources/library/applications/Wiktionary.wgt/css/master.css
rename to resources/library/applications/Wiktionnaire.wgt/css/master.css
diff --git a/resources/library/applications/Wiktionary.wgt/css/superfish.css b/resources/library/applications/Wiktionnaire.wgt/css/superfish.css
similarity index 100%
rename from resources/library/applications/Wiktionary.wgt/css/superfish.css
rename to resources/library/applications/Wiktionnaire.wgt/css/superfish.css
diff --git a/resources/library/applications/Wiktionary.wgt/icon.png b/resources/library/applications/Wiktionnaire.wgt/icon.png
similarity index 100%
rename from resources/library/applications/Wiktionary.wgt/icon.png
rename to resources/library/applications/Wiktionnaire.wgt/icon.png
diff --git a/resources/library/applications/Wiktionary.wgt/images/toolbarBody.png b/resources/library/applications/Wiktionnaire.wgt/images/toolbarBody.png
similarity index 100%
rename from resources/library/applications/Wiktionary.wgt/images/toolbarBody.png
rename to resources/library/applications/Wiktionnaire.wgt/images/toolbarBody.png
diff --git a/resources/library/applications/Wiktionary.wgt/images/toolbarButtonBack.png b/resources/library/applications/Wiktionnaire.wgt/images/toolbarButtonBack.png
similarity index 100%
rename from resources/library/applications/Wiktionary.wgt/images/toolbarButtonBack.png
rename to resources/library/applications/Wiktionnaire.wgt/images/toolbarButtonBack.png
diff --git a/resources/library/applications/Wiktionary.wgt/images/toolbarButtonForward.png b/resources/library/applications/Wiktionnaire.wgt/images/toolbarButtonForward.png
similarity index 100%
rename from resources/library/applications/Wiktionary.wgt/images/toolbarButtonForward.png
rename to resources/library/applications/Wiktionnaire.wgt/images/toolbarButtonForward.png
diff --git a/resources/library/applications/Wiktionary.wgt/images/toolbarButtonLanguages.png b/resources/library/applications/Wiktionnaire.wgt/images/toolbarButtonLanguages.png
similarity index 100%
rename from resources/library/applications/Wiktionary.wgt/images/toolbarButtonLanguages.png
rename to resources/library/applications/Wiktionnaire.wgt/images/toolbarButtonLanguages.png
diff --git a/resources/library/applications/Wiktionary.wgt/images/toolbarButtonSearch.png b/resources/library/applications/Wiktionnaire.wgt/images/toolbarButtonSearch.png
similarity index 100%
rename from resources/library/applications/Wiktionary.wgt/images/toolbarButtonSearch.png
rename to resources/library/applications/Wiktionnaire.wgt/images/toolbarButtonSearch.png
diff --git a/resources/library/applications/Wiktionary.wgt/images/toolbarLoading.jpg b/resources/library/applications/Wiktionnaire.wgt/images/toolbarLoading.jpg
similarity index 100%
rename from resources/library/applications/Wiktionary.wgt/images/toolbarLoading.jpg
rename to resources/library/applications/Wiktionnaire.wgt/images/toolbarLoading.jpg
diff --git a/resources/library/applications/Wiktionary.wgt/index.html b/resources/library/applications/Wiktionnaire.wgt/index.html
similarity index 100%
rename from resources/library/applications/Wiktionary.wgt/index.html
rename to resources/library/applications/Wiktionnaire.wgt/index.html
diff --git a/resources/library/applications/Wiktionary.wgt/script/jquery.min.js b/resources/library/applications/Wiktionnaire.wgt/script/jquery.min.js
similarity index 100%
rename from resources/library/applications/Wiktionary.wgt/script/jquery.min.js
rename to resources/library/applications/Wiktionnaire.wgt/script/jquery.min.js
diff --git a/resources/library/applications/Wiktionary.wgt/script/languages.js b/resources/library/applications/Wiktionnaire.wgt/script/languages.js
similarity index 100%
rename from resources/library/applications/Wiktionary.wgt/script/languages.js
rename to resources/library/applications/Wiktionnaire.wgt/script/languages.js
diff --git a/resources/library/applications/Wiktionary.wgt/script/superfish.js b/resources/library/applications/Wiktionnaire.wgt/script/superfish.js
similarity index 100%
rename from resources/library/applications/Wiktionary.wgt/script/superfish.js
rename to resources/library/applications/Wiktionnaire.wgt/script/superfish.js

From 9371b15790ee4234a585bd5cdd44d9ede9fac1d3 Mon Sep 17 00:00:00 2001
From: bmagnin <vi>
Date: Wed, 2 May 2012 12:08:04 +0200
Subject: [PATCH 11/31] Wording french on Geoinfo pass 1

---
 .../applications/GeoInfo.wgt/js/languages.js  | 126 +++++++++---------
 1 file changed, 63 insertions(+), 63 deletions(-)

diff --git a/resources/library/applications/GeoInfo.wgt/js/languages.js b/resources/library/applications/GeoInfo.wgt/js/languages.js
index 53bc8839..f2eba8f5 100644
--- a/resources/library/applications/GeoInfo.wgt/js/languages.js
+++ b/resources/library/applications/GeoInfo.wgt/js/languages.js
@@ -1423,10 +1423,10 @@ var sankoreLang = {
         "capital":"Capital ville",
         "europe":"l'Europe",
         "asia":"l'Asie",
-        "north_america":"l'Amérique du Nord",
-        "south_america":"l'Amérique du Sud",
-        "oceania":"l'Océanie",
-        "africa":"l'Afrique",
+        "north_america":"Amérique du Nord",
+        "south_america":"Amérique du Sud",
+        "oceania":"Océanie",
+        "africa":"Afrique",
         "eurasia": "Eurasie",
         "MA":{
             "city":"Rabat",
@@ -1438,15 +1438,15 @@ var sankoreLang = {
         },
         "TN":{
             "city":"Tunis",
-            "country":"la Tunisie"
+            "country":"Tunisie"
         },
         "LY":{
             "city":"Tripoli",
-            "country":"La Libye"
+            "country":"Libye"
         },
         "EG":{
             "city":"Le Caire",
-            "country":"l'Égypte"
+            "country":"Égypte"
         },
         "Sahara_occidental":{
             "city":"",
@@ -1486,7 +1486,7 @@ var sankoreLang = {
         },
         "SO":{
             "city":"Mogadiscio",
-            "country":"Somalia"
+            "country":"Somalie"
         },
         "KE":{
             "city":"Nairobi",
@@ -1526,7 +1526,7 @@ var sankoreLang = {
         },
         "CI":{
             "city":"Yamoussoukro",
-            "country":"La Côte d'Ivoire"
+            "country":"Côte d'Ivoire"
         },
         "BF":{
             "city":"Ouagadougou",
@@ -1534,7 +1534,7 @@ var sankoreLang = {
         },
         "LR":{
             "city":"Monravia",
-            "country":"Le Libéria"
+            "country":"Libéria"
         },
         "SL":{
             "city":"Freetown",
@@ -1546,7 +1546,7 @@ var sankoreLang = {
         },
         "GW":{
             "city":"Bissau",
-            "country":"La Guinée-Bissau"
+            "country":"Guinée-Bissau"
         },
         "SN":{
             "city":"Dakar",
@@ -1574,7 +1574,7 @@ var sankoreLang = {
         },
         "GQ":{
             "city":"Malabo",
-            "country":"La Guinée Equatoriale"
+            "country":"Guinée Equatoriale"
         },
         "TZ":{
             "city":"Dodoma",
@@ -1610,7 +1610,7 @@ var sankoreLang = {
         },
         "ZA":{
             "city":"Pretoria",
-            "country":"l'Afrique du Sud"
+            "country":"Afrique du Sud"
         },
         "LS":{
             "city":"Maseru",
@@ -1641,7 +1641,7 @@ var sankoreLang = {
             "country":"Paraguay"
         },
         "BO":{
-            "city":"La Paz",
+            "city":"Sucre",
             "country":"Bolivie"
         },
         "BR":{
@@ -1654,7 +1654,7 @@ var sankoreLang = {
         },
         "EC":{
             "city":"Quito",
-            "country":"L'Equateur"
+            "country":"Equateur"
         },
         "CO":{
             "city":"Bogota",
@@ -1673,7 +1673,7 @@ var sankoreLang = {
             "country":"Suriname"
         },
         "GF":{
-            "city":"Paris",
+            "city":"Cayenne",
             "country":"Guyane française"
         },
         "CA":{
@@ -1686,10 +1686,10 @@ var sankoreLang = {
         },
         "US":{
             "city":"Washington",
-            "country":"Les États-Unis d'Amérique"
+            "country":"États-Unis d'Amérique"
         },
         "MX":{
-            "city":"Mexique",
+            "city":"Mexico",
             "country":"Mexique"
         },
         "CU":{
@@ -1701,7 +1701,7 @@ var sankoreLang = {
             "country":"Haïti"
         },
         "DO":{
-            "city":"Santo Domingo",
+            "city":"Saint-Domingue",
             "country":"République Dominicaine"
         },
         "JM":{
@@ -1746,11 +1746,11 @@ var sankoreLang = {
         },
         "NZ":{
             "city":"Wellington",
-            "country":"New Zealand"
+            "country":"Nouvelle Zélande"
         },
         "PG":{
             "city":"Port Moresby",
-            "country":"La Papouasie-Nouvelle-Guinée"
+            "country":"Papouasie-Nouvelle-Guinée"
         },
         "ID":{
             "city":"Jakarta",
@@ -1765,7 +1765,7 @@ var sankoreLang = {
             "country":"Vanuatu"
         },
         "NC":{
-            "city":"Paris",
+            "city":"Nouméa",
             "country":"Nouvelle-Calédonie"
         },
         "AL":{
@@ -1774,10 +1774,10 @@ var sankoreLang = {
         },
         "DE":{
             "city":"Berlin",
-            "country":"l'Allemagne"
+            "country":"Allemagne"
         },
         "AD":{
-            "city":"Andorre la Vieille",
+            "city":"Andorre-la-Vieille",
             "country":"Andorre"
         },
         "AM":{
@@ -1785,7 +1785,7 @@ var sankoreLang = {
             "country":"Arménie"
         },
         "AT":{
-            "city":"Vienna",
+            "city":"Vienne",
             "country":"Autriche"
         },
         "AZ":{
@@ -1802,11 +1802,11 @@ var sankoreLang = {
         },
         "BA":{
             "city":"Sarajevo",
-            "country":"Bosnie"
+            "country":"Bosnie-Herzégovine"
         },
         "BG":{
             "city":"Sofia",
-            "country":"La Bulgarie"
+            "country":"Bulgarie"
         },
         "CY":{
             "city":"Nicosie",
@@ -1817,16 +1817,16 @@ var sankoreLang = {
             "country":"Croatie"
         },
         "DK":{
-            "city":"De Copenhague",
+            "city":"Copenhague",
             "country":"Danemark"
         },
         "ES":{
             "city":"Madrid",
-            "country":"L'Espagne"
+            "country":"Espagne"
         },
         "EE":{
             "city":"Tallinn",
-            "country":"Estonia"
+            "country":"Estonie"
         },
         "FI":{
             "city":"Helsinki",
@@ -1838,7 +1838,7 @@ var sankoreLang = {
         },
         "GE":{
             "city":"Tbilissi",
-            "country":"Georgia"
+            "country":"Géorgie"
         },
         "EL":{
             "city":"Athènes",
@@ -1850,11 +1850,11 @@ var sankoreLang = {
         },
         "IE":{
             "city":"Dublin",
-            "country":"L'Irlande"
+            "country":"Irlande"
         },
         "IS":{
             "city":"Reykjavik",
-            "country":"L'île"
+            "country":"Islande"
         },
         "IT":{
             "city":"Rome",
@@ -1878,7 +1878,7 @@ var sankoreLang = {
         },
         "MK":{
             "city":"Skopje",
-            "country":"Macedoine"
+            "country":"Macédoine"
         },
         "MT":{
             "city":"La Valette",
@@ -1886,7 +1886,7 @@ var sankoreLang = {
         },
         "MD":{
             "city":"Chisinau",
-            "country":"La Moldavie"
+            "country":"Moldavie"
         },
         "MC":{
             "city":"Monaco",
@@ -1902,11 +1902,11 @@ var sankoreLang = {
         },
         "NL":{
             "city":"Amsterdam",
-            "country":"Pays Bas"
+            "country":"Pays-Bas"
         },
         "PL":{
             "city":"Varsovie",
-            "country":"La Pologne"
+            "country":"Pologne"
         },
         "PT":{
             "city":"De Lisbonne",
@@ -1934,7 +1934,7 @@ var sankoreLang = {
         },
         "SK":{
             "city":"Bratislava",
-            "country":"Slovakia"
+            "country":"Slovakie"
         },
         "SI":{
             "city":"Ljubljana",
@@ -1950,14 +1950,14 @@ var sankoreLang = {
         },
         "TR":{
             "city":"Ankara",
-            "country":"La Turquie"
+            "country":"Turquie"
         },
         "UA":{
             "city":"Kiev",
             "country":"Ukraine"
         },
         "VA":{
-            "city":"Vatican",
+            "city":"Cité du Vatican",
             "country":"Vatican"
         },
         "AF":{
@@ -1970,7 +1970,7 @@ var sankoreLang = {
         },
         "BH":{
             "city":"Manama",
-            "country":"Bahrein"
+            "country":"Bahreïn"
         },
         "BD":{
             "city":"Dacca",
@@ -1981,7 +1981,7 @@ var sankoreLang = {
             "country":"Bhoutan"
         },
         "BN":{
-            "city":"Andar Seri Begawan",
+            "city":"Bandar Seri Begawan",
             "country":"Brunei"
         },
         "KH":{
@@ -1994,27 +1994,27 @@ var sankoreLang = {
         },
         "KP":{
             "city":"Pyongyang",
-            "country":"La Corée du Nord"
+            "country":"Corée du Nord"
         },
         "KR":{
-            "city":"Seoul",
-            "country":"La Corée du Sud"
+            "city":"Séoul",
+            "country":"Corée du Sud"
         },
         "AE":{
             "city":"Abu Dhabi",
             "country":"Emirats Arabes Unis"
         },
         "IN":{
-            "city":"Delhi",
-            "country":"L'Inde"
+            "city":"New Delhi",
+            "country":"Inde"
         },
         "IR":{
             "city":"Téhéran",
-            "country":"L'Iran"
+            "country":"Iran"
         },
         "IQ":{
             "city":"Bagdad",
-            "country":"L'Irak"
+            "country":"Irak"
         },
         "IL":{
             "city":"Jérusalem",
@@ -2037,12 +2037,12 @@ var sankoreLang = {
             "country":"Kirghizstan"
         },
         "KW":{
-            "city":"Koweit",
-            "country":"Koweit"
+            "city":"Koweït",
+            "country":"Koweït"
         },
         "LA":{
-            "city":"Laos",
-            "country":"Vientiane"
+            "city":"Vientiane",
+            "country":"Laos"
         },
         "LB":{
             "city":"Beyrouth",
@@ -2053,7 +2053,7 @@ var sankoreLang = {
             "country":"La Malaisie"
         },
         "MV":{
-            "city":"Male",
+            "city":"Malé",
             "country":"Maldives"
         },
         "MN":{
@@ -2062,14 +2062,14 @@ var sankoreLang = {
         },
         "MM":{
             "city":"Naypyidaw",
-            "country":"Myanmar"
+            "country":"Birmanie"
         },
         "NP":{
             "city":"Katmandou",
             "country":"Népal"
         },
         "OM":{
-            "city":"Muscat",
+            "city":"Mascate",
             "country":"Oman"
         },
         "UZ":{
@@ -2078,30 +2078,30 @@ var sankoreLang = {
         },
         "PK":{
             "city":"Islamabad",
-            "country":"Le Pakistan"
+            "country":"Pakistan"
         },
         "PH":{
             "city":"Manille",
             "country":"Philippines"
         },
         "QA":{
-            "city":"De Doha",
+            "city":"Doha",
             "country":"Qatar"
         },
         "RU":{
             "city":"Moscou",
-            "country":"La Russie"
+            "country":"Russie"
         },
         "SG":{
             "city":"Singapour",
             "country":"Singapour"
         },
         "LK":{
-            "city":"Colombo",
+            "city":"Sri Jayawardenapura",
             "country":"Sri Lanka"
         },
         "SY":{
-            "city":"Damask",
+            "city":"Damas",
             "country":"La Syrie"
         },
         "TJ":{
@@ -2110,7 +2110,7 @@ var sankoreLang = {
         },
         "TH":{
             "city":"Bangkok",
-            "country":"Thailande"
+            "country":"Thaïlande"
         },
         "TL":{
             "city":"Dili",
@@ -2122,7 +2122,7 @@ var sankoreLang = {
         },
         "VN":{
             "city":"Hanoï",
-            "country":"Viet Nam"
+            "country":"Vietnam"
         },
         "YE":{
             "city":"Sana",

From b2b5dc71a954da2a25d610ae65279b14bbcc8f59 Mon Sep 17 00:00:00 2001
From: bmagnin <vi>
Date: Wed, 2 May 2012 13:37:34 +0200
Subject: [PATCH 12/31] translating Geoinfo part 2

---
 .../applications/GeoInfo.wgt/js/languages.js  | 69 +++++++++----------
 1 file changed, 34 insertions(+), 35 deletions(-)

diff --git a/resources/library/applications/GeoInfo.wgt/js/languages.js b/resources/library/applications/GeoInfo.wgt/js/languages.js
index f2eba8f5..04d86daf 100644
--- a/resources/library/applications/GeoInfo.wgt/js/languages.js
+++ b/resources/library/applications/GeoInfo.wgt/js/languages.js
@@ -1418,11 +1418,11 @@ var sankoreLang = {
             "city":"Сана",
             "country":"Йемен"
         }
-    },
+     },
     "fr":{
-        "capital":"Capital ville",
-        "europe":"l'Europe",
-        "asia":"l'Asie",
+        "capital":"Capitale",
+        "europe":"Europe",
+        "asia":"Asie",
         "north_america":"Amérique du Nord",
         "south_america":"Amérique du Sud",
         "oceania":"Océanie",
@@ -1430,7 +1430,7 @@ var sankoreLang = {
         "eurasia": "Eurasie",
         "MA":{
             "city":"Rabat",
-            "country":"le Maroc"
+            "country":"Maroc"
         },
         "DZ":{
             "city":"Alger",
@@ -1481,7 +1481,7 @@ var sankoreLang = {
             "country":"Djibouti"
         },
         "ET":{
-            "city":"Addis Ababa",
+            "city":"Addis-Abeba",
             "country":"Ethiopie"
         },
         "SO":{
@@ -1494,7 +1494,7 @@ var sankoreLang = {
         },
         "UG":{
             "city":"Kampala",
-            "country":"l'Ouganda"
+            "country":"Ouganda"
         },
         "CD":{
             "city":"Kinshasa",
@@ -1510,10 +1510,10 @@ var sankoreLang = {
         },
         "NG":{
             "city":"Abuja",
-            "country":"Nigeria"
+            "country":"Nigéria"
         },
         "BJ":{
-            "city":"Porto Novo",
+            "city":"Porto-Novo",
             "country":"Bénin"
         },
         "TG":{
@@ -1533,7 +1533,7 @@ var sankoreLang = {
             "country":"Burkina Faso"
         },
         "LR":{
-            "city":"Monravia",
+            "city":"Monrovia",
             "country":"Libéria"
         },
         "SL":{
@@ -1605,7 +1605,7 @@ var sankoreLang = {
             "country":"Botswana"
         },
         "NA":{
-            "city":"Windhoec",
+            "city":"Windhoek",
             "country":"Namibie"
         },
         "ZA":{
@@ -1662,7 +1662,7 @@ var sankoreLang = {
         },
         "VE":{
             "city":"Caracas",
-            "country":"Venezuela"
+            "country":"Vénézuéla"
         },
         "GY":{
             "city":"Georgetown",
@@ -1682,7 +1682,7 @@ var sankoreLang = {
         },
         "GL":{
             "city":"Nuuk",
-            "country":"Greenland"
+            "country":"Groënland"
         },
         "US":{
             "city":"Washington",
@@ -1721,8 +1721,8 @@ var sankoreLang = {
             "country":"Belize"
         },
         "SV":{
-            "city":"Salvador",
-            "country":"San Salvador"
+            "city":"San Salvador",
+            "country":"Salvador"
         },
         "HN":{
             "city":"Tegucigalpa",
@@ -1734,7 +1734,7 @@ var sankoreLang = {
         },
         "CR":{
             "city":"San José",
-            "country":"Costa-Rica"
+            "country":"Costa Rica"
         },
         "PA":{
             "city":"Panama",
@@ -1746,7 +1746,7 @@ var sankoreLang = {
         },
         "NZ":{
             "city":"Wellington",
-            "country":"Nouvelle Zélande"
+            "country":"Nouvelle-Zélande"
         },
         "PG":{
             "city":"Port Moresby",
@@ -1909,7 +1909,7 @@ var sankoreLang = {
             "country":"Pologne"
         },
         "PT":{
-            "city":"De Lisbonne",
+            "city":"Lisbonne",
             "country":"Portugal"
         },
         "CZ":{
@@ -1921,7 +1921,7 @@ var sankoreLang = {
             "country":"Roumanie"
         },
         "UK":{
-            "city":"London",
+            "city":"Londres",
             "country":"Royaume-Uni"
         },
         "SM":{
@@ -1934,7 +1934,7 @@ var sankoreLang = {
         },
         "SK":{
             "city":"Bratislava",
-            "country":"Slovakie"
+            "country":"Slovaquie"
         },
         "SI":{
             "city":"Ljubljana",
@@ -1946,7 +1946,7 @@ var sankoreLang = {
         },
         "CH":{
             "city":"Berne",
-            "country":"La Suisse"
+            "country":"Suisse"
         },
         "TR":{
             "city":"Ankara",
@@ -1966,7 +1966,7 @@ var sankoreLang = {
         },
         "SA":{
             "city":"Riyad",
-            "country":"L'Arabie Saoudite"
+            "country":"Arabie Saoudite"
         },
         "BH":{
             "city":"Manama",
@@ -1977,12 +1977,12 @@ var sankoreLang = {
             "country":"Bangladesh"
         },
         "BT":{
-            "city":"Thimphu",
+            "city":"Thimphou",
             "country":"Bhoutan"
         },
         "BN":{
             "city":"Bandar Seri Begawan",
-            "country":"Brunei"
+            "country":"Bruneï"
         },
         "KH":{
             "city":"Phnom Penh",
@@ -2001,7 +2001,7 @@ var sankoreLang = {
             "country":"Corée du Sud"
         },
         "AE":{
-            "city":"Abu Dhabi",
+            "city":"Abou Dabi",
             "country":"Emirats Arabes Unis"
         },
         "IN":{
@@ -2026,15 +2026,15 @@ var sankoreLang = {
         },
         "JO":{
             "city":"Amman",
-            "country":"Jordan"
+            "country":"Jordanie"
         },
         "KZ":{
             "city":"Astana",
             "country":"Kazakhstan"
         },
         "KG":{
-            "city":"Bishkek",
-            "country":"Kirghizstan"
+            "city":"Bichkek",
+            "country":"Kirghizistan"
         },
         "KW":{
             "city":"Koweït",
@@ -2050,7 +2050,7 @@ var sankoreLang = {
         },
         "MY":{
             "city":"Kuala Lumpur",
-            "country":"La Malaisie"
+            "country":"Malaisie"
         },
         "MV":{
             "city":"Malé",
@@ -2102,11 +2102,11 @@ var sankoreLang = {
         },
         "SY":{
             "city":"Damas",
-            "country":"La Syrie"
+            "country":"Syrie"
         },
         "TJ":{
             "city":"Douchanbé",
-            "country":"Tajikistan"
+            "country":"Tadjikistan"
         },
         "TH":{
             "city":"Bangkok",
@@ -2114,10 +2114,10 @@ var sankoreLang = {
         },
         "TL":{
             "city":"Dili",
-            "country":"Le Timor-oriental"
+            "country":"Timor-oriental"
         },
         "TM":{
-            "city":"Achkhabad",
+            "city":"Achgabat",
             "country":"Turkménistan"
         },
         "VN":{
@@ -2125,9 +2125,8 @@ var sankoreLang = {
             "country":"Vietnam"
         },
         "YE":{
-            "city":"Sana",
+            "city":"Sanaa",
             "country":"Yémen"
         }
     }
 };
-

From e130379b3e469f7ba161e4286ce45294b92d4a09 Mon Sep 17 00:00:00 2001
From: Anna Udovichenko <anuta.udovichenko@gmail.com>
Date: Wed, 2 May 2012 18:07:13 +0300
Subject: [PATCH 13/31] some DnD bugs fixed

---
 src/board/UBFeaturesController.cpp | 57 +++++++++++++++++++++---
 src/board/UBFeaturesController.h   | 10 +++++
 src/gui/UBFeaturesActionBar.cpp    | 10 +++++
 src/gui/UBFeaturesActionBar.h      |  3 +-
 src/gui/UBFeaturesWidget.cpp       | 69 +++++++++++++++++++++---------
 src/gui/UBFeaturesWidget.h         |  7 +++
 6 files changed, 128 insertions(+), 28 deletions(-)

diff --git a/src/board/UBFeaturesController.cpp b/src/board/UBFeaturesController.cpp
index 0e34c595..cf2c6204 100644
--- a/src/board/UBFeaturesController.cpp
+++ b/src/board/UBFeaturesController.cpp
@@ -24,7 +24,15 @@ UBFeature::UBFeature(const QString &url, const QPixmap &icon, const QString &nam
 	
 }
 
+bool UBFeature::operator ==( const UBFeature &f )const
+{
+	return virtualPath == f.getUrl() && mName == f.getName() && mPath == f.getFullPath() && elementType == f.getType();
+}
 
+bool UBFeature::operator !=( const UBFeature &f )const
+{
+	return !(*this == f);
+}
 
 bool UBFeature::isFolder() const
 {
@@ -72,12 +80,17 @@ void UBFeaturesController::initDirectoryTree()
 	trashPath = rootPath + "/Trash";
 	favoritePath = rootPath + "/Favorites";
 
-	featuresList->append( UBFeature( rootPath, QPixmap(":images/libpalette/AudiosCategory.svg"), "Audios" , mUserAudioDirectoryPath ) );
-	featuresList->append( UBFeature( rootPath, QPixmap(":images/libpalette/MoviesCategory.svg"), "Movies" , mUserVideoDirectoryPath ) );
-	featuresList->append( UBFeature( rootPath, QPixmap(":images/libpalette/PicturesCategory.svg"), "Pictures" , mUserPicturesDirectoryPath ) );
+	audiosElement = UBFeature( rootPath, QPixmap(":images/libpalette/AudiosCategory.svg"), "Audios" , mUserAudioDirectoryPath );
+	featuresList->append( audiosElement );
+	moviesElement = UBFeature( rootPath, QPixmap(":images/libpalette/MoviesCategory.svg"), "Movies" , mUserVideoDirectoryPath );
+	featuresList->append( moviesElement );
+	picturesElement = UBFeature( rootPath, QPixmap(":images/libpalette/PicturesCategory.svg"), "Pictures" , mUserPicturesDirectoryPath );
+	featuresList->append( picturesElement );
 	featuresList->append( UBFeature( rootPath, QPixmap(":images/libpalette/ApplicationsCategory.svg"), "Applications" , mUserInteractiveDirectoryPath ) );
-	featuresList->append( UBFeature( rootPath, QPixmap(":images/libpalette/FlashCategory.svg"), "Animations" , mUserAnimationDirectoryPath ) );
-	featuresList->append( UBFeature( rootPath, QPixmap(":images/libpalette/InteractivesCategory.svg"), "Interactivities" ,  mLibInteractiveDirectoryPath ) );
+	flashElement = UBFeature( rootPath, QPixmap(":images/libpalette/FlashCategory.svg"), "Animations" , mUserAnimationDirectoryPath );
+	featuresList->append( flashElement );
+	interactElement = UBFeature( rootPath, QPixmap(":images/libpalette/InteractivesCategory.svg"), "Interactivities" ,  mLibInteractiveDirectoryPath );
+	featuresList->append( interactElement );
 	featuresList->append( UBFeature( rootPath, QPixmap(":images/libpalette/ShapesCategory.svg"), "Shapes" , mLibShapesDirectoryPath ) );
 	trashElement = UBFeature( rootPath, QPixmap(":images/libpalette/TrashCategory.svg"), "Trash", trashDirectoryPath, FEATURE_TRASH );
 	featuresList->append( trashElement );
@@ -325,6 +338,26 @@ void UBFeaturesController::addItemToPage(const UBFeature &item)
 	}
 }
 
+UBFeature UBFeaturesController::getDestinationForItem( const QUrl &url )
+{
+    QString mimetype = UBFileSystemUtils::mimeTypeFromFileName( fileNameFromUrl(url) );
+
+    if ( mimetype.contains("audio") )
+        return audiosElement;
+    if ( mimetype.contains("video") )
+        return moviesElement;
+    else if ( mimetype.contains("image") )
+        return picturesElement;
+    else if ( mimetype.contains("application") )
+	{
+        if ( mimetype.contains( "x-shockwave-flash") )
+            return flashElement;
+        else
+            return interactElement;
+    }
+    return UBFeature();
+}
+
 UBFeature UBFeaturesController::moveItemToFolder( const QUrl &url, const UBFeature &destination )
 {
 	UBFeature newElement = copyItemToFolder( url, destination );
@@ -338,9 +371,19 @@ UBFeature UBFeaturesController::copyItemToFolder( const QUrl &url, const UBFeatu
 
 	Q_ASSERT( QFileInfo( sourcePath ).exists() );
 
+	UBFeature possibleDest = getDestinationForItem( url );
+
+	UBFeature dest = destination;
+
+	if ( destination != trashElement && 
+		!destination.getVirtualPath().startsWith( possibleDest.getVirtualPath(), Qt::CaseInsensitive ) )
+	{
+		dest = possibleDest;
+	}
+
 	QString name = QFileInfo( sourcePath ).fileName();
-	QString destPath = destination.getFullPath();
-	QString destVirtualPath = destination.getUrl() + "/" + destination.getName();
+	QString destPath = dest.getFullPath();
+	QString destVirtualPath = dest.getVirtualPath();
 	QString newFullPath = destPath + "/" + name;
 	QFile( sourcePath ).copy( newFullPath );
 
diff --git a/src/board/UBFeaturesController.h b/src/board/UBFeaturesController.h
index a46c6e63..0144be39 100644
--- a/src/board/UBFeaturesController.h
+++ b/src/board/UBFeaturesController.h
@@ -34,8 +34,11 @@ public:
     QString getUrl() const { return virtualPath; }
 	//QString getPath() const { return mPath; };
     QString getFullPath() const { return mPath; }
+	QString getVirtualPath() const { return  virtualPath + "/" + mName; }
     UBFeatureElementType getType() const { return elementType; }
 	bool isFolder() const;
+	bool operator ==( const UBFeature &f )const;
+	bool operator !=( const UBFeature &f )const;
 private:
 	QString virtualPath;
     QPixmap mThumbnail;
@@ -78,6 +81,7 @@ private:
 	//void addImageToCurrentPage( const QString &path );
 	void loadFavoriteList();
 	void saveFavoriteList();
+	UBFeature getDestinationForItem( const QUrl &url );
 
 	static UBFeatureElementType fileTypeFromUrl( const QString &path );
 
@@ -115,6 +119,12 @@ private:
 	UBFeature currentElement;
 	UBFeature trashElement;
 	UBFeature favoriteElement;
+	UBFeature audiosElement;
+	UBFeature moviesElement;
+	UBFeature picturesElement;
+	UBFeature interactElement;
+	UBFeature flashElement;
+	UBFeature shapesElement;
 
 	QSet <QString> *favoriteSet;
 };
diff --git a/src/gui/UBFeaturesActionBar.cpp b/src/gui/UBFeaturesActionBar.cpp
index e9a560e1..b3afc99a 100644
--- a/src/gui/UBFeaturesActionBar.cpp
+++ b/src/gui/UBFeaturesActionBar.cpp
@@ -143,6 +143,16 @@ void UBFeaturesActionBar::setButtons()
         mpRemoveFavoriteBtn->show();
         mpNewFolderBtn->hide();
         break;
+	case IN_TRASH:
+		mpFavoriteBtn->hide();
+        mpSocialBtn->hide();
+        mSearchBar->show();
+        //mpSearchBtn->show();
+        //mpDeleteBtn->hide();
+        mpCloseBtn->hide();
+        //mpRemoveFavoriteBtn->show();
+        mpNewFolderBtn->hide();
+		break;
     default:
         break;
     }
diff --git a/src/gui/UBFeaturesActionBar.h b/src/gui/UBFeaturesActionBar.h
index 653fbbac..a45371d8 100644
--- a/src/gui/UBFeaturesActionBar.h
+++ b/src/gui/UBFeaturesActionBar.h
@@ -12,7 +12,8 @@ enum UBFeaturesActionBarState
 	IN_ROOT,
 	IN_FOLDER,
 	IN_PROPERTIES,
-	IN_FAVORITE
+	IN_FAVORITE,
+	IN_TRASH
 };
 
 class UBFeaturesActionBar : public QWidget
diff --git a/src/gui/UBFeaturesWidget.cpp b/src/gui/UBFeaturesWidget.cpp
index e7f1520a..58a691ae 100644
--- a/src/gui/UBFeaturesWidget.cpp
+++ b/src/gui/UBFeaturesWidget.cpp
@@ -56,6 +56,7 @@ UBFeaturesWidget::UBFeaturesWidget(QWidget *parent, const char *name):UBDockPale
 	featuresListView->setViewMode( QListView::IconMode );
 	itemDelegate = new UBFeaturesItemDelegate( this, featuresListView );
 	featuresListView->setItemDelegate( itemDelegate );
+	//featuresListView->setSelectionRectVisible(false);
 
 	featuresListView->setIconSize( QSize(defaultThumbnailSize, defaultThumbnailSize) );
 	featuresListView->setGridSize( QSize(defaultThumbnailSize * 1.75, defaultThumbnailSize * 1.75) );
@@ -71,6 +72,9 @@ UBFeaturesWidget::UBFeaturesWidget(QWidget *parent, const char *name):UBDockPale
 	pathListView->setSelectionMode( QAbstractItemView::NoSelection );
 	pathListView->setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOff );
     pathListView->setHorizontalScrollBarPolicy( Qt::ScrollBarAlwaysOn );
+	pathListView->setFlow( QListView::LeftToRight );
+	pathListView->setWrapping(false);
+	
 	//pathListView->setResizeMode( QListView::Adjust );
 	//pathListView->setMovement( QListView::Static );
 	pathListView->setDragDropMode( QAbstractItemView::DropOnly );
@@ -170,6 +174,10 @@ void UBFeaturesWidget::currentSelected(const QModelIndex &current)
 			{
 				mActionBar->setCurrentState( IN_FAVORITE );
 			}
+			else if (feature.getType() == FEATURE_TRASH)
+			{
+				mActionBar->setCurrentState( IN_TRASH );
+			}
 			else
 			{
 				mActionBar->setCurrentState( IN_FOLDER );
@@ -208,6 +216,10 @@ void UBFeaturesWidget::currentPathChanged(const QModelIndex &index)
 		{
 			mActionBar->setCurrentState( IN_FAVORITE );
 		}
+		else if (feature.getType() == FEATURE_TRASH)
+		{
+			mActionBar->setCurrentState( IN_TRASH );
+		}
 		else
 		{
 			mActionBar->setCurrentState( IN_FOLDER );
@@ -224,7 +236,6 @@ void UBFeaturesWidget::createNewFolder()
 		featuresModel->addItem( newFolder );
 		featuresProxyModel->invalidate();
     }
-	
 }
 
 void UBFeaturesWidget::deleteElements( const QMimeData & mimeData )
@@ -315,11 +326,39 @@ UBFeaturesWidget::~UBFeaturesWidget()
 {
 }
 
-UBFeaturesListView::UBFeaturesListView( QWidget* parent, const char* name ) : QListView(parent)
+UBFeaturesListView::UBFeaturesListView( QWidget* parent, const char* name ) 
+: QListView(parent)
 {
 	setObjectName(name);
+	//rubberBand = new UBRubberBand( QRubberBand::Rectangle, this ); 
 }
 
+/*
+void UBFeaturesListView::mousePressEvent( QMouseEvent *event )
+{
+	rubberOrigin = event->pos();
+	rubberBand->setGeometry( QRect( rubberOrigin, QSize() ) );
+	//qDebug()  << rubberOrigin.x() << rubberOrigin.y();
+	rubberBand->show();
+	QListView::mousePressEvent(event);
+}
+
+void UBFeaturesListView::mouseMoveEvent( QMouseEvent *event )
+{
+	QPoint current = event->pos();
+	rubberBand->setGeometry( QRect( rubberOrigin, current ).normalized() );
+
+	//setSelection( rubberBand->rect(), QItemSelectionModel::Select );
+	QListView::mouseMoveEvent(event);
+}
+
+void UBFeaturesListView::mouseReleaseEvent( QMouseEvent *event )
+{
+	rubberBand->hide();
+	QListView::mouseReleaseEvent(event);
+}
+
+*/
 void UBFeaturesListView::dragEnterEvent( QDragEnterEvent *event )
 {
 	if ( event->mimeData()->hasUrls() )
@@ -537,19 +576,15 @@ bool UBFeaturesModel::dropMimeData(const QMimeData *mimeData, Qt::DropAction act
 
     int endRow = 0;
 
+	UBFeature parentFeature;
     if ( !parent.isValid() )
 	{
-		return false;
-        /*if (row < 0)
-            endRow = featuresList->size();
-        else
-            endRow = qMin( row, featuresList->size() );*/
+		parentFeature = dynamic_cast<UBFeaturesWidget *>(QObject::parent())->getFeaturesController()->getCurrentElement();
     } 
 	else
-        endRow = parent.row();
-    Q_UNUSED(endRow) //why do we need this variable?
-
-	UBFeature parentFeature = parent.data( Qt::UserRole + 1).value<UBFeature>();
+	{
+		parentFeature = parent.data( Qt::UserRole + 1).value<UBFeature>();
+	}
 
 	QList<QUrl> urls = mimeData->urls();
 	
@@ -628,7 +663,7 @@ Qt::ItemFlags UBFeaturesModel::flags( const QModelIndex &index ) const
 			return Qt::ItemIsDragEnabled | defaultFlags;
 		if ( item.isFolder() && !item.getFullPath().isNull() )
 			return defaultFlags | Qt::ItemIsDropEnabled;
-		else return defaultFlags;
+		else return defaultFlags | Qt::ItemIsDropEnabled;
 	}
 	/*if ( index.isValid() )
 	{
@@ -647,7 +682,7 @@ Qt::ItemFlags UBFeaturesModel::flags( const QModelIndex &index ) const
 		default:;
 		}
 	}*/
-	return defaultFlags;
+	return defaultFlags | Qt::ItemIsDropEnabled;
 }
 
 
@@ -710,13 +745,7 @@ QString	UBFeaturesItemDelegate::displayText ( const QVariant & value, const QLoc
 	{
 		const QFontMetrics fm = listView->fontMetrics();
 		const QSize iSize = listView->iconSize();
-
-		if ( iSize.width() > 0 && fm.width(text) > iSize.width() )
-		{
-			while (fm.width(text) > iSize.width())
-				text.resize(text.size()-1);
-			text += "...";
-		}
+		return elidedText( fm, iSize.width(), Qt::ElideRight, text );
 	}
 	return text;
 }
diff --git a/src/gui/UBFeaturesWidget.h b/src/gui/UBFeaturesWidget.h
index ea718f22..5c9762c6 100644
--- a/src/gui/UBFeaturesWidget.h
+++ b/src/gui/UBFeaturesWidget.h
@@ -19,6 +19,7 @@
 //#include "UBLibActionBar.h"
 #include "board/UBFeaturesController.h"
 #include "UBFeaturesActionBar.h"
+#include "UBRubberBand.h"
 
 
 #define THUMBNAIL_WIDTH 400
@@ -105,6 +106,12 @@ public:
 protected:
 	virtual void dragEnterEvent( QDragEnterEvent *event );
 	virtual void dropEvent( QDropEvent *event );
+	/*virtual void mousePressEvent( QMouseEvent *event );
+	virtual void mouseMoveEvent( QMouseEvent *event );
+	virtual void mouseReleaseEvent( QMouseEvent *event );*/
+private:
+	//UBRubberBand *rubberBand;
+	//QPoint rubberOrigin;
 };
 
 

From 62a82e1daa47b42e8a21e83b49c3caa23e6d4c58 Mon Sep 17 00:00:00 2001
From: Anna Udovichenko <anuta.udovichenko@gmail.com>
Date: Wed, 2 May 2012 18:43:59 +0300
Subject: [PATCH 14/31] fixed deleting default widget

---
 src/board/UBFeaturesController.cpp | 10 ++++++++++
 src/board/UBFeaturesController.h   |  2 ++
 src/gui/UBFeaturesActionBar.cpp    |  8 ++++++++
 3 files changed, 20 insertions(+)

diff --git a/src/board/UBFeaturesController.cpp b/src/board/UBFeaturesController.cpp
index cf2c6204..5ab469a4 100644
--- a/src/board/UBFeaturesController.cpp
+++ b/src/board/UBFeaturesController.cpp
@@ -40,6 +40,10 @@ bool UBFeature::isFolder() const
 		|| elementType == FEATURE_FOLDER;
 }
 
+bool UBFeature::isDeletable()const
+{
+	return elementType == FEATURE_ITEM;
+}
 
 UBFeaturesController::UBFeaturesController(QWidget *pParentWidget) :
         QObject(pParentWidget),
@@ -281,6 +285,12 @@ QPixmap UBFeaturesController::thumbnailForFile(const QString &path)
 	return thumb;
 }
 
+bool UBFeaturesController::isDeletable( const QUrl &url )
+{
+	UBFeatureElementType type = fileTypeFromUrl( fileNameFromUrl(url) );
+	return type == FEATURE_ITEM;
+}
+
 QPixmap UBFeaturesController::createThumbnail(const QString &path)
 {
     QString thumbnailPath = UBFileSystemUtils::thumbnailPath(path);
diff --git a/src/board/UBFeaturesController.h b/src/board/UBFeaturesController.h
index 0144be39..914b6a7d 100644
--- a/src/board/UBFeaturesController.h
+++ b/src/board/UBFeaturesController.h
@@ -37,6 +37,7 @@ public:
 	QString getVirtualPath() const { return  virtualPath + "/" + mName; }
     UBFeatureElementType getType() const { return elementType; }
 	bool isFolder() const;
+	bool isDeletable() const;
 	bool operator ==( const UBFeature &f )const;
 	bool operator !=( const UBFeature &f )const;
 private:
@@ -74,6 +75,7 @@ public:
 
 	static QString fileNameFromUrl( const QUrl &url );
 	static QPixmap thumbnailForFile( const QString &path );
+	static bool isDeletable( const QUrl &url );
 private:
 	void initDirectoryTree();
 	void fileSystemScan(const QString &currPath, const QString & currVirtualPath);
diff --git a/src/gui/UBFeaturesActionBar.cpp b/src/gui/UBFeaturesActionBar.cpp
index b3afc99a..09b7af82 100644
--- a/src/gui/UBFeaturesActionBar.cpp
+++ b/src/gui/UBFeaturesActionBar.cpp
@@ -179,7 +179,9 @@ void UBFeaturesActionBar::dragMoveEvent(QDragMoveEvent *event)
 void UBFeaturesActionBar::dragEnterEvent( QDragEnterEvent *event )
 {
     if (event->mimeData()->hasFormat("text/uri-list"))
+	{
         event->acceptProposedAction();
+	}
 }
 
 void UBFeaturesActionBar::dropEvent( QDropEvent *event )
@@ -187,6 +189,12 @@ void UBFeaturesActionBar::dropEvent( QDropEvent *event )
 	QWidget *dest = childAt( event->pos() );
 	if ( dest == mpDeleteBtn )
 	{
+		QList <QUrl> urls = event->mimeData()->urls();
+		foreach ( QUrl url, urls )
+		{
+			if ( !UBFeaturesController::isDeletable( url ) )
+				return;
+		}
 		event->setDropAction( Qt::MoveAction );
 		event->accept();
 		emit deleteElements( *event->mimeData() );

From 83212cc4944b1ebf6aca7c4b0801c3a0981a0475 Mon Sep 17 00:00:00 2001
From: Anatoly Mihalchenko <tolik@scand.com>
Date: Thu, 3 May 2012 12:26:48 +0300
Subject: [PATCH 15/31] SANKORE-613 Frame buttons Part 1: changes in toolbars

---
 src/domain/UBGraphicsDelegateFrame.cpp     | 1596 ++++++++++----------
 src/domain/UBGraphicsItemDelegate.cpp      |   80 +-
 src/domain/UBGraphicsItemDelegate.h        |   34 +
 src/domain/UBGraphicsTextItemDelegate.cpp  |   14 +-
 src/domain/UBGraphicsVideoItemDelegate.cpp |  687 ++++-----
 src/domain/UBGraphicsVideoItemDelegate.h   |  230 +--
 6 files changed, 1389 insertions(+), 1252 deletions(-)

diff --git a/src/domain/UBGraphicsDelegateFrame.cpp b/src/domain/UBGraphicsDelegateFrame.cpp
index bb47e5c6..54dc4650 100644
--- a/src/domain/UBGraphicsDelegateFrame.cpp
+++ b/src/domain/UBGraphicsDelegateFrame.cpp
@@ -1,794 +1,802 @@
-/*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "UBGraphicsDelegateFrame.h"
-
-#include <QtGui>
-#include <QtSvg>
-
-#include "core/UBApplication.h"
-#include "core/UBSettings.h"
-
-#include "domain/UBGraphicsItemDelegate.h"
-#include "domain/UBGraphicsScene.h"
-#include "domain/UBGraphicsProxyWidget.h"
-
-#include "gui/UBResources.h"
-
-#include "core/memcheck.h"
-
-UBGraphicsDelegateFrame::UBGraphicsDelegateFrame(UBGraphicsItemDelegate* pDelegate, QRectF pRect, qreal pFrameWidth, bool respectRatio)
-    : QGraphicsRectItem(), QObject(pDelegate)
-    , mCurrentTool(None)
-    , mDelegate(pDelegate)
-    , mVisible(true)
-    , mFrameWidth(pFrameWidth)
-    , mNominalFrameWidth(pFrameWidth)
-    , mRespectRatio(respectRatio)
-    , mAngle(0)
-    , mAngleOffset(0)
-    , mTotalScaleX(-1)
-    , mTotalScaleY(-1)
-    , mTranslateX(0)
-    , mTranslateY(0)
-    , mTotalTranslateX(0)
-    , mTotalTranslateY(0)
-    , mOperationMode(Scaling)
-    , mMirrorX(false)
-    , mMirrorY(false)
-{
-    mAngleTolerance = UBSettings::settings()->angleTolerance->get().toReal();
-
-    setFlag(QGraphicsItem::ItemSendsGeometryChanges, true);
-
-    setAcceptedMouseButtons(Qt::LeftButton);
-    setRect(pRect.adjusted(mFrameWidth, mFrameWidth, mFrameWidth * -1, mFrameWidth * -1));
-
-    setBrush(QBrush(UBSettings::paletteColor));
-    setPen(Qt::NoPen);
-    setData(UBGraphicsItemData::ItemLayerType, QVariant(UBItemLayerType::Control));
-
-    mBottomRightResizeGripSvgItem = new QGraphicsSvgItem(":/images/resize.svg", this);
-    mBottomResizeGripSvgItem = new QGraphicsSvgItem(":/images/resizeBottom.svg", this);
-    mLeftResizeGripSvgItem = new QGraphicsSvgItem(":/images/resizeLeft.svg", this);
-    mRightResizeGripSvgItem = new QGraphicsSvgItem(":/images/resizeRight.svg", this);
-    mTopResizeGripSvgItem = new QGraphicsSvgItem(":/images/resizeTop.svg", this);
-
-    mBottomRightResizeGrip = new QGraphicsRectItem(this);
-    mBottomRightResizeGrip->setPen(Qt::NoPen);
-    mBottomResizeGrip = new QGraphicsRectItem(this);
-    mBottomResizeGrip->setPen(Qt::NoPen);
-    mLeftResizeGrip = new QGraphicsRectItem(this);
-    mLeftResizeGrip->setToolTip("left");
-    mLeftResizeGrip->setPen(Qt::NoPen);
-    mRightResizeGrip = new QGraphicsRectItem(this);
-    mRightResizeGrip->setPen(Qt::NoPen);
-    mRightResizeGrip->setToolTip("Right");
-    mTopResizeGrip = new QGraphicsRectItem(this);
-    mTopResizeGrip->setPen(Qt::NoPen);
-
-    mRotateButton = new QGraphicsSvgItem(":/images/rotate.svg", this);
-    mRotateButton->setCursor(UBResources::resources()->rotateCursor);
-    mRotateButton->setVisible(mDelegate->canRotate());
-
-    updateResizeCursors();
-
-    setAntiScale(1.0);
-
-    positionHandles();
-
-    this->setAcceptHoverEvents(true);
-
-    angleWidget = new UBAngleWidget();
-}
-
-
-UBGraphicsDelegateFrame::~UBGraphicsDelegateFrame()
-{
-delete angleWidget;
-    // NOOP
-}
-
-void UBGraphicsDelegateFrame::setAntiScale(qreal pAntiScale)
-{
-    mFrameWidth = mNominalFrameWidth * pAntiScale;
-
-    QTransform tr;
-    tr.scale(pAntiScale, pAntiScale);
-
-    mBottomRightResizeGripSvgItem->setTransform(tr);
-    mBottomResizeGripSvgItem->setTransform(tr);
-    mLeftResizeGripSvgItem->setTransform(tr);
-    mRightResizeGripSvgItem->setTransform(tr);
-    mTopResizeGripSvgItem->setTransform(tr);
-    mRotateButton->setTransform(tr);
-}
-
-
-void UBGraphicsDelegateFrame::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
-{
-    Q_UNUSED(option);
-    Q_UNUSED(widget);
-
-    QPainterPath path;
-    path.addRoundedRect(rect(), mFrameWidth / 2, mFrameWidth / 2);
-
-    if (rect().width() > 1 && rect().height() > 1)
-    {
-        QPainterPath extruded;
-        extruded.addRect(rect().adjusted(mFrameWidth, mFrameWidth, (mFrameWidth * -1), (mFrameWidth * -1)));
-        path = path.subtracted(extruded);
-    }
-
-    painter->fillPath(path, brush());
-}
-
-
-QPainterPath UBGraphicsDelegateFrame::shape() const
-{
-    QPainterPath path;
-
-    //We do not use the rounded rect here because we want the bottom right corner
-    //to be included in the frame (for resize grip handling : #702)
-    path.addRect(rect());
-
-    if (rect().width() > 0 && rect().height() > 0)
-    {
-        QPainterPath extruded;
-        extruded.addRect(rect().adjusted(mFrameWidth, mFrameWidth, mFrameWidth * -1, mFrameWidth * -1));
-        path = path.subtracted(extruded);
-    }
-
-    return path;
-}
-
-
-void UBGraphicsDelegateFrame::initializeTransform()
-{
-    QTransform itemTransform = delegated()->sceneTransform();
-    QRectF itemRect = delegated()->boundingRect();
-    QPointF topLeft = itemTransform.map(itemRect.topLeft());
-    QPointF topRight = itemTransform.map(itemRect.topRight());
-    QPointF  bottomLeft = itemTransform.map(itemRect.bottomLeft());
-
-    qreal horizontalFlip = (topLeft.x() > topRight.x()) ? -1 : 1;
-    mMirrorX = horizontalFlip < 0 ;
-    if(horizontalFlip < 0){
-        // why this is because of the way of calculating the translations that checks which side is the most is the
-        // nearest instead of checking which one is the left side.
-        QPointF tmp = topLeft;
-        topLeft = topRight;
-        topRight = tmp;
-
-        // because of the calculation of the height is done by lenght and not deltaY
-        bottomLeft = itemTransform.map(itemRect.bottomRight());
-    }
-
-    qreal verticalFlip = (bottomLeft.y() < topLeft.y()) ? -1 : 1;
-    // not sure that is usefull
-    mMirrorY = verticalFlip < 0;
-    if(verticalFlip < 0 && !mMirrorX){
-        topLeft = itemTransform.map(itemRect.bottomLeft());
-        topRight = itemTransform.map(itemRect.bottomRight());
-        bottomLeft = itemTransform.map(itemRect.topLeft());
-    }
-
-    QLineF topLine(topLeft, topRight);
-    QLineF leftLine(topLeft, bottomLeft);
-    qreal width = topLine.length();
-    qreal height = leftLine.length();
-
-    mAngle = topLine.angle();
-
-    // the fact the the length is used we loose the horizontalFlip information
-    // a better way to do this is using DeltaX that preserve the direction information.
-    mTotalScaleX = (width / itemRect.width()) * horizontalFlip;
-    mTotalScaleY = height / itemRect.height() * verticalFlip;
-
-    QTransform tr;
-    QPointF center = delegated()->boundingRect().center();
-    tr.translate(center.x() * mTotalScaleX, center.y() * mTotalScaleY);
-    tr.rotate(-mAngle);
-    tr.translate(-center.x() * mTotalScaleX, -center.y() * mTotalScaleY);
-    tr.scale(mTotalScaleX, mTotalScaleY);
-
-    mTotalTranslateX = delegated()->transform().dx() - tr.dx();
-    mTotalTranslateY = delegated()->transform().dy() - tr.dy();
-}
-
-
-void UBGraphicsDelegateFrame::mousePressEvent(QGraphicsSceneMouseEvent *event)
-{
-    mDelegate->startUndoStep();
-
-    mStartingPoint = event->scenePos();
-
-    initializeTransform();
-
-    mScaleX = 1;
-    mScaleY = 1;
-    mTranslateX = 0;
-    mTranslateY = 0;
-    mAngleOffset = 0;
-
-    mInitialTransform = buildTransform();
-
-    mCurrentTool = toolFromPos(event->pos());
-
-    event->accept();
-}
-
-bool UBGraphicsDelegateFrame::canResizeBottomRight(qreal width, qreal height, qreal scaleFactor)
-{
-    bool res = false;
-
-    if(!mMirrorX && !mMirrorX && ((width * scaleFactor) > 2*mFrameWidth && (height * scaleFactor) > 2*mFrameWidth)){
-        res = true;
-    }else if(mMirrorX && !mMirrorY && (-width * scaleFactor) > 2*mFrameWidth && (height*scaleFactor) > 2*mFrameWidth){
-        res = true;
-    }else if(!mMirrorX && mMirrorY && (width * scaleFactor) > 2*mFrameWidth && (-height*scaleFactor) > 2*mFrameWidth){
-        res = true;
-    }else if(mMirrorX && mMirrorY && (-width * scaleFactor) > 2*mFrameWidth && (-height*scaleFactor) > 2*mFrameWidth){
-        res = true;
-    }
-
-    return res;
-}
-
-void UBGraphicsDelegateFrame::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
-{
-    QLineF move(mStartingPoint, event->scenePos());
-    qreal moveX = move.length() * cos((move.angle() - mAngle) * PI / 180);
-    qreal moveY = -move.length() * sin((move.angle() - mAngle) * PI / 180);
-    qreal width = delegated()->boundingRect().width() * mTotalScaleX;
-    qreal height = delegated()->boundingRect().height() * mTotalScaleY;
-
-    if(mOperationMode == Scaling)
-    {
-        mTranslateX = moveX;
-        // Perform the resize
-        if (resizingBottomRight())
-        {
-            // -----------------------------------------------------
-            // ! We want to keep the aspect ratio with this resize !
-            // -----------------------------------------------------
-            qreal scaleX;
-            qreal scaleY;
-
-            if(!mMirrorX){
-                scaleX = (width + moveX) / width;
-            }else{
-                scaleX = (width - moveX) / width;
-            }
-
-            if(!mMirrorY){
-                scaleY = (height + moveY) / height;
-            }else{
-                scaleY = (height - moveY) / height;
-            }
-
-            qreal scaleFactor = (scaleX + scaleY) / 2;
-
-            // Do not allow resizing of image size under frame size
-            if (canResizeBottomRight(width, height, scaleFactor))
-            {
-                if (mRespectRatio)
-                {
-                    mScaleX = scaleFactor;
-                    mScaleY = scaleFactor;
-                }
-                else
-                {
-                    mScaleX = scaleX;
-                    mScaleY = scaleY;
-                }
-            }
-        }else if (resizingLeft() || resizingRight())
-        {
-            if(width != 0){
-                qreal scaleX = 0.0;
-                if(resizingLeft()){
-                    scaleX = (width - moveX) / width;
-                }else if(resizingRight()){
-                    scaleX = (width + moveX) / width;
-                }
-                if(mDelegate->isFlippable() && qAbs(scaleX) != 0){
-                    if((qAbs(width * scaleX)) < 2*mFrameWidth){
-                        bool negative = (scaleX < 0)?true:false;
-                        if(negative){
-                            if(mMirrorX)
-                                scaleX = 2*mFrameWidth/width;
-                            else
-                                scaleX = -2*mFrameWidth/width;
-                        }else{
-                            scaleX = -1;
-                        }
-                    }
-                    mScaleX = scaleX;
-                }else if (scaleX > 1 || (width * scaleX) > 2 * mFrameWidth){
-                    mScaleX = scaleX;
-                    if(resizingLeft()){
-                        mTranslateX = moveX;
-                    }
-                }
-            }
-        }else if(resizingTop() || resizingBottom()){
-            if(height != 0){
-                qreal scaleY = 0.0;
-                if(resizingTop()){
-                    scaleY = (height - moveY) / height;
-                }else if(resizingBottom()){
-                    scaleY = (height + moveY) / height;
-                }
-
-                if(mDelegate->isFlippable() && qAbs(scaleY) != 0){
-                    if((qAbs(height * scaleY)) < 2*mFrameWidth){
-                        bool negative = (scaleY < 0)?true:false;
-                        if(negative){
-                            if(mMirrorY)
-                                scaleY = 2*mFrameWidth/width;
-                            else
-                                scaleY = -2*mFrameWidth/width;
-                        }else{
-                            scaleY = -1;
-                        }
-                    }
-                    mScaleY = scaleY;
-                }else if (scaleY > 1 || (height * scaleY) > 2 * mFrameWidth)
-                {
-                    mScaleY = scaleY;
-                    if(resizingTop()){
-                        mTranslateY = moveY;
-                    }
-                }
-            }
-        }
-    }
-    else if (mOperationMode == Resizing)
-    {
-        mTranslateX = moveX;
-        UBResizableGraphicsItem* resizableItem = dynamic_cast<UBResizableGraphicsItem*>(delegated());
-
-        if (resizableItem)
-        {
-            QLineF mousePosDelta(delegated()->mapFromScene(event->lastScenePos())
-                    , delegated()->mapFromScene(event->scenePos()));
-            QSizeF incVector(0, 0);
-
-            if (resizingBottomRight())
-            {
-                incVector = QSizeF(mousePosDelta.dx(), mousePosDelta.dy());
-            }
-            else if (resizingRight())
-            {
-                incVector = QSizeF(mousePosDelta.dx(), 0);
-            }
-            else if (resizingBottom())
-            {
-                incVector = QSizeF(0, mousePosDelta.dy());
-            }
-            else if (resizingLeft())
-            {
-                incVector = QSizeF(- mousePosDelta.dx(), 0);
-            }
-            else if (resizingTop())
-            {
-                incVector = QSizeF(0, - mousePosDelta.dy());
-            }
-
-            QSizeF newSize = resizableItem->size() + incVector;
-
-            resizableItem->resize(newSize);
-        }
-    }
-
-    if (rotating())
-    {
-        mTranslateX = 0;
-        mTranslateY = 0;
-
-        QLineF startLine(sceneBoundingRect().center(), event->lastScenePos());
-        QLineF currentLine(sceneBoundingRect().center(), event->scenePos());
-        mAngle += startLine.angleTo(currentLine);
-
-        if ((int)mAngle % 45 >= 45 - mAngleTolerance || (int)mAngle % 45 <= mAngleTolerance)
-        {
-            mAngle = qRound(mAngle / 45) * 45;
-            mAngleOffset += startLine.angleTo(currentLine);
-            if ((int)mAngleOffset % 360 > mAngleTolerance && (int)mAngleOffset % 360 < 360 - mAngleTolerance)
-            {
-                mAngle += mAngleOffset;
-                mAngleOffset = 0;
-            }
-        }
-        else if ((int)mAngle % 30 >= 30 - mAngleTolerance || (int)mAngle % 30 <= mAngleTolerance)
-        {
-            mAngle = qRound(mAngle / 30) * 30;
-            mAngleOffset += startLine.angleTo(currentLine);
-            if ((int)mAngleOffset % 360 > mAngleTolerance && (int)mAngleOffset % 360 < 360 - mAngleTolerance)
-            {
-                mAngle += mAngleOffset;
-                mAngleOffset = 0;
-            }
-        }
-
-        if (!angleWidget->isVisible())
-            angleWidget->show();
-
-        angleWidget->setText(QString::number((int)mAngle % 360));
-        angleWidget->update();
-
-    }
-    else if (moving())
-    {
-        mTranslateX = move.dx();
-        mTranslateY = move.dy();
-    }
-
-    QTransform tr = buildTransform();
-
-    //TODO UB 4.x: Could find a better solution ?
-    if (resizingRight() || resizingBottom() || resizingBottomRight())
-    {
-        QPointF ref;
-        if(!mMirrorX && !mMirrorY){
-            ref = delegated()->boundingRect().topLeft();
-        }else if(mMirrorX && !mMirrorY){
-            ref = delegated()->boundingRect().topLeft();
-        }else if(!mMirrorX && mMirrorY){
-            ref = delegated()->boundingRect().topLeft();
-        }else if(mMirrorX && mMirrorY){
-            ref = delegated()->boundingRect().topRight();
-        }
-
-        // Map the item topleft point to the current mouse move transform
-        QPointF topLeft = tr.map(ref);
-
-        // Map the item topleft point to the mouse press transform
-        QPointF fixedPoint = mInitialTransform.map(ref);
-
-        // Update the translation coordinates
-        mTranslateX += fixedPoint.x() - topLeft.x();
-        mTranslateY += fixedPoint.y() - topLeft.y();
-
-        // Update the transform
-        tr = buildTransform();
-    }
-    else if (resizingTop() || resizingLeft())
-    {
-        if (mOperationMode == Scaling)
-        {
-            QPointF bottomRight = tr.map(delegated()->boundingRect().bottomRight());
-            QPointF fixedPoint = mInitialTransform.map(delegated()->boundingRect().bottomRight());
-            mTranslateX += fixedPoint.x() - bottomRight.x();
-            mTranslateY += fixedPoint.y() - bottomRight.y();
-        }
-        else
-        {
-            QLineF vector;
-            if (resizingLeft())
-            {
-                QPointF topRight1 = mInitialTransform.map(QPointF(delegated()->boundingRect().width() - moveX, 0));
-                QPointF topRight2 = mInitialTransform.map(QPointF(delegated()->boundingRect().width(), 0));
-                vector.setPoints(topRight1, topRight2);
-            }
-            else
-            {
-                QPointF bottomLeft1 = mInitialTransform.map(QPointF(0, delegated()->boundingRect().height() - moveY));
-                QPointF bottomLeft2 = mInitialTransform.map(QPointF(0, delegated()->boundingRect().height()));
-                vector.setPoints(bottomLeft1, bottomLeft2);
-            }
-            mTranslateX = vector.dx();
-            mTranslateY = vector.dy();
-        }
-        tr = buildTransform();
-    }
-
-    delegated()->setTransform(tr);
-    event->accept();
-}
-
-
-QTransform UBGraphicsDelegateFrame::buildTransform()
-{
-    QTransform tr;
-    QPointF center = delegated()->boundingRect().center();
-
-    // Translate
-    tr.translate(mTotalTranslateX + mTranslateX, mTotalTranslateY + mTranslateY);
-
-    // Set angle
-    tr.translate(center.x() * mTotalScaleX * mScaleX, center.y() * mTotalScaleY * mScaleY);
-    tr.rotate(-mAngle);
-    tr.translate(-center.x() * mTotalScaleX * mScaleX, -center.y() * mTotalScaleY * mScaleY);
-
-    // Scale
-    tr.scale(mTotalScaleX * mScaleX, mTotalScaleY * mScaleY);
-    return tr;
-}
-
-
-void UBGraphicsDelegateFrame::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
-{
-    if (angleWidget->isVisible())
-        angleWidget->hide();
-
-    updateResizeCursors();
-
-    mDelegate->commitUndoStep();
-    mTotalScaleX *= mScaleX;
-    mTotalScaleY *= mScaleY;
-    mTotalTranslateX += mTranslateX;
-    mTotalTranslateY += mTranslateY;
-    event->accept();
-
-    mCurrentTool = None;
-    QGraphicsRectItem::mouseReleaseEvent(event);
-
-    // Show the buttons
-    if(isResizing()){
-        mResizing = false;
-    }
-    mDelegate->setButtonsVisible(true);
-}
-
-
-void UBGraphicsDelegateFrame::updateResizeCursors()
-{
-    QPixmap pix(":/images/cursors/resize.png");
-    QTransform tr;
-
-    tr.rotate(-mAngle);
-    QCursor resizeCursor  = QCursor(pix.transformed(tr, Qt::SmoothTransformation), pix.width() / 2,  pix.height() / 2);
-    mLeftResizeGrip->setCursor(resizeCursor);
-    mRightResizeGrip->setCursor(resizeCursor);
-
-    tr.rotate(-90);
-    resizeCursor  = QCursor(pix.transformed(tr, Qt::SmoothTransformation), pix.width() / 2,  pix.height() / 2);
-    mBottomResizeGrip->setCursor(resizeCursor);
-    mTopResizeGrip->setCursor(resizeCursor);
-
-    tr.rotate(-45);
-    resizeCursor  = QCursor(pix.transformed(tr, Qt::SmoothTransformation), pix.width() / 2,  pix.height() / 2);
-    mBottomRightResizeGrip->setCursor(resizeCursor);
-}
-
-
-void UBGraphicsDelegateFrame::setVisible(bool visible)
-{
-    mVisible = visible;
-    if (mVisible)
-       setBrush(QBrush(UBSettings::paletteColor));
-    else
-       setBrush(Qt::NoBrush);
-}
-
-
-void UBGraphicsDelegateFrame::positionHandles()
-{
-    QRectF itemRect = delegated()->boundingRect();
-    QTransform itemTransform = delegated()->sceneTransform();
-    QPointF topLeft = itemTransform.map(itemRect.topLeft());
-    QPointF topRight = itemTransform.map(itemRect.topRight());
-    QPointF bottomLeft = itemTransform.map(itemRect.bottomLeft());
-    QPointF bottomRight = itemTransform.map(itemRect.bottomRight());
-    QPointF center = itemTransform.map(itemRect.center());
-    int rotateHeight = QLineF(topLeft, bottomLeft).length();
-
-    // Handle the mirroring
-    if(topLeft.x() > topRight.x()){
-        QPointF topTmp = topRight;
-        QPointF bottomTmp = bottomRight;
-        topRight = topLeft;
-        topLeft = topTmp;
-        bottomRight = bottomLeft;
-        bottomLeft = bottomTmp;
-    }
-
-    if(bottomLeft.y() > topLeft.y()){
-        QPointF leftTmp = bottomLeft;
-        QPointF rightTmp = bottomRight;
-        bottomLeft = topLeft;
-        topLeft = leftTmp;
-        bottomRight = topRight;
-        topRight = rightTmp;
-    }
-
-    QLineF topLine(topLeft, topRight);
-    qreal angle = topLine.angle();
-    qreal width = topLine.length();
-
-    QLineF leftLine(topLeft, bottomLeft);
-    qreal height = leftLine.length();
-
-    int h = rotating()?rotateHeight:height;
-
-    if (mVisible)
-    {
-        setRect(center.x() - mFrameWidth - width / 2, center.y() - mFrameWidth - h / 2, width + 2 * mFrameWidth, h + 2 * mFrameWidth);
-    }
-    else
-    {
-        setRect(center.x() - width / 2, center.y() - h / 2, width, h);
-    }
-
-    resetTransform();
-    translate(center.x(), center.y());
-    rotate(-angle);
-    translate(-center.x(), -center.y());
-
-    mBottomRightResizeGripSvgItem->setParentItem(this);
-    mBottomResizeGripSvgItem->setParentItem(this);
-    mLeftResizeGripSvgItem->setParentItem(this);
-    mRightResizeGripSvgItem->setParentItem(this);
-    mTopResizeGripSvgItem->setParentItem(this);
-    mRotateButton->setParentItem(this);
-
-    mBottomRightResizeGrip->setParentItem(this);
-    mBottomResizeGrip->setParentItem(this);
-    mLeftResizeGrip->setParentItem(this);
-    mRightResizeGrip->setParentItem(this);
-    mTopResizeGrip->setParentItem(this);
-
-    QRectF brRect = mBottomRightResizeGripSvgItem->mapRectToParent(mBottomRightResizeGripSvgItem->boundingRect());
-    QRectF bRect = mBottomResizeGripSvgItem->mapRectToParent(mBottomResizeGripSvgItem->boundingRect());
-    QRectF lRect = mLeftResizeGripSvgItem->mapRectToParent(mLeftResizeGripSvgItem->boundingRect());
-    QRectF rRect = mRightResizeGripSvgItem->mapRectToParent(mRightResizeGripSvgItem->boundingRect());
-    QRectF trRect = mTopResizeGripSvgItem->mapRectToParent(mTopResizeGripSvgItem->boundingRect());
-
-    mBottomRightResizeGripSvgItem->setPos(rect().right() - brRect.width(), rect().bottom() - brRect.height());
-    mBottomResizeGripSvgItem->setPos(rect().center().x() - bRect.width() / 2, rect().bottom() - bRect.height());
-
-    mLeftResizeGripSvgItem->setPos(rect().left(), rect().center().y() - lRect.height() / 2);
-    mRightResizeGripSvgItem->setPos(rect().right() - rRect.width(), rect().center().y() - rRect.height() / 2);
-
-    mTopResizeGripSvgItem->setPos(rect().center().x() - trRect.width() / 2, rect().y());
-    mRotateButton->setPos(rect().right() - mFrameWidth - 5, rect().top() + 5);
-
-    mBottomRightResizeGrip->setRect(bottomRightResizeGripRect());
-    mBottomResizeGrip->setRect(bottomResizeGripRect());
-    mLeftResizeGrip->setRect(leftResizeGripRect());
-    mRightResizeGrip->setRect(rightResizeGripRect());
-    mTopResizeGrip->setRect(topResizeGripRect());
-
-    QVariant vLocked = delegated()->data(UBGraphicsItemData::ItemLocked);
-    bool isLocked = (vLocked.isValid() && vLocked.toBool());
-
-    mBottomRightResizeGripSvgItem->setVisible(!isLocked);
-    mBottomResizeGripSvgItem->setVisible(!isLocked);
-    mLeftResizeGripSvgItem->setVisible(!isLocked);
-    mRightResizeGripSvgItem->setVisible(!isLocked);
-    mTopResizeGripSvgItem->setVisible(!isLocked);
-    mRotateButton->setVisible(mDelegate->canRotate() && !isLocked);
-
-    mBottomRightResizeGrip->setVisible(!isLocked);
-    mBottomResizeGrip->setVisible(!isLocked);
-    mLeftResizeGrip->setVisible(!isLocked);
-    mRightResizeGrip->setVisible(!isLocked);
-    mTopResizeGrip->setVisible(!isLocked);
-
-    if (isLocked)
-    {
-        QColor baseColor = UBSettings::paletteColor;
-        baseColor.setAlphaF(baseColor.alphaF() / 3);
-        setBrush(QBrush(baseColor));
-    }
-    else
-    {
-        setBrush(QBrush(UBSettings::paletteColor));
-    }
-
-    //make frame interact like delegated item when selected. Maybe should be deleted if selection logic will change
-    setZValue(delegated()->zValue());
-}
-
-
-QGraphicsItem* UBGraphicsDelegateFrame::delegated()
-{
-    return mDelegate->delegated();
-}
-
-UBGraphicsDelegateFrame::FrameTool UBGraphicsDelegateFrame::toolFromPos(QPointF pos)
-{
-        if(mDelegate->isLocked())
-                return None;
-    else if (bottomRightResizeGripRect().contains(pos))
-        return ResizeBottomRight;
-    else if (bottomResizeGripRect().contains(pos)){
-            if(mMirrorY){
-                return ResizeTop;
-            }else{
-                return ResizeBottom;
-            }
-        }
-    else if (leftResizeGripRect().contains(pos)){
-            if(mMirrorX){
-                return ResizeRight;
-            }else{
-                return ResizeLeft;
-            }
-            return ResizeLeft;
-        }
-    else if (rightResizeGripRect().contains(pos)){
-            if(mMirrorX){
-                return ResizeLeft;
-            }else{
-                return ResizeRight;
-            }
-        }
-    else if (topResizeGripRect().contains(pos)){
-            if(mMirrorY){
-                return ResizeBottom;
-            }else{
-                return ResizeTop;
-            }
-        }
-    else if (rotateButtonBounds().contains(pos) && mDelegate && mDelegate->canRotate())
-        return Rotate;
-    else
-        return Move;
-}
-
-
-QRectF UBGraphicsDelegateFrame::bottomRightResizeGripRect() const
-{
-    return QRectF(rect().right() - mFrameWidth, rect().bottom() - mFrameWidth, mFrameWidth, mFrameWidth);
-}
-
-
-QRectF UBGraphicsDelegateFrame::bottomResizeGripRect() const
-{
-    return QRectF(rect().center().x() - mFrameWidth / 2, rect().bottom() - mFrameWidth, mFrameWidth, mFrameWidth);
-}
-
-
-QRectF UBGraphicsDelegateFrame::leftResizeGripRect() const
-{
-    return QRectF(rect().left(), rect().center().y() - mFrameWidth / 2, mFrameWidth, mFrameWidth);
-}
-
-
-QRectF UBGraphicsDelegateFrame::rightResizeGripRect() const
-{
-    return QRectF(rect().right() - mFrameWidth, rect().center().y() - mFrameWidth / 2, mFrameWidth, mFrameWidth);
-}
-
-
-QRectF UBGraphicsDelegateFrame::topResizeGripRect() const
-{
-    return QRectF(rect().center().x() - mFrameWidth / 2, rect().top(), mFrameWidth, mFrameWidth);
-}
-
-
-QRectF UBGraphicsDelegateFrame::rotateButtonBounds() const
-{
-    return QRectF(rect().right()- mFrameWidth, rect().top(), mFrameWidth, mFrameWidth);
-}
-
-void UBGraphicsDelegateFrame::refreshGeometry()
-{
-    // Here we want to have the left on the left, the right on the right, the top on the top and the bottom on the bottom!
-    QRectF itemRect = delegated()->boundingRect();
-    QTransform itemTransform = delegated()->sceneTransform();
-    QPointF topLeft = itemTransform.map(itemRect.topLeft());
-    QPointF topRight = itemTransform.map(itemRect.topRight());
-    QPointF bottomLeft = itemTransform.map(itemRect.bottomLeft());
-
-    QLineF topLine(topLeft, topRight);
-    qreal width = topLine.length();
-    QLineF leftLine(topLeft, bottomLeft);
-    qreal height = leftLine.length();
-    setRect(topRight.x() - mFrameWidth, topLeft.y() - mFrameWidth, width + 2*mFrameWidth, height + 2*mFrameWidth);
-}
+/*
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "UBGraphicsDelegateFrame.h"
+
+#include <QtGui>
+#include <QtSvg>
+
+#include "core/UBApplication.h"
+#include "core/UBSettings.h"
+
+#include "domain/UBGraphicsItemDelegate.h"
+#include "domain/UBGraphicsScene.h"
+#include "domain/UBGraphicsProxyWidget.h"
+
+#include "gui/UBResources.h"
+
+#include "core/memcheck.h"
+
+UBGraphicsDelegateFrame::UBGraphicsDelegateFrame(UBGraphicsItemDelegate* pDelegate, QRectF pRect, qreal pFrameWidth, bool respectRatio)
+    : QGraphicsRectItem(), QObject(pDelegate)
+    , mCurrentTool(None)
+    , mDelegate(pDelegate)
+    , mVisible(true)
+    , mFrameWidth(pFrameWidth)
+    , mNominalFrameWidth(pFrameWidth)
+    , mRespectRatio(respectRatio)
+    , mAngle(0)
+    , mAngleOffset(0)
+    , mTotalScaleX(-1)
+    , mTotalScaleY(-1)
+    , mTranslateX(0)
+    , mTranslateY(0)
+    , mTotalTranslateX(0)
+    , mTotalTranslateY(0)
+    , mOperationMode(Scaling)
+    , mMirrorX(false)
+    , mMirrorY(false)
+{
+    mAngleTolerance = UBSettings::settings()->angleTolerance->get().toReal();
+
+    setFlag(QGraphicsItem::ItemSendsGeometryChanges, true);
+
+    setAcceptedMouseButtons(Qt::LeftButton);
+    setRect(pRect.adjusted(mFrameWidth, mFrameWidth, mFrameWidth * -1, mFrameWidth * -1));
+
+    setBrush(QBrush(UBSettings::paletteColor));
+    setPen(Qt::NoPen);
+    setData(UBGraphicsItemData::ItemLayerType, QVariant(UBItemLayerType::Control));
+
+    mBottomRightResizeGripSvgItem = new QGraphicsSvgItem(":/images/resize.svg", this);
+    mBottomResizeGripSvgItem = new QGraphicsSvgItem(":/images/resizeBottom.svg", this);
+    mLeftResizeGripSvgItem = new QGraphicsSvgItem(":/images/resizeLeft.svg", this);
+    mRightResizeGripSvgItem = new QGraphicsSvgItem(":/images/resizeRight.svg", this);
+    mTopResizeGripSvgItem = new QGraphicsSvgItem(":/images/resizeTop.svg", this);
+
+    mBottomRightResizeGrip = new QGraphicsRectItem(this);
+    mBottomRightResizeGrip->setPen(Qt::NoPen);
+    mBottomResizeGrip = new QGraphicsRectItem(this);
+    mBottomResizeGrip->setPen(Qt::NoPen);
+    mLeftResizeGrip = new QGraphicsRectItem(this);
+    mLeftResizeGrip->setToolTip("left");
+    mLeftResizeGrip->setPen(Qt::NoPen);
+    mRightResizeGrip = new QGraphicsRectItem(this);
+    mRightResizeGrip->setPen(Qt::NoPen);
+    mRightResizeGrip->setToolTip("Right");
+    mTopResizeGrip = new QGraphicsRectItem(this);
+    mTopResizeGrip->setPen(Qt::NoPen);
+
+    mRotateButton = new QGraphicsSvgItem(":/images/rotate.svg", this);
+    mRotateButton->setCursor(UBResources::resources()->rotateCursor);
+    mRotateButton->setVisible(mDelegate->canRotate());
+
+    updateResizeCursors();
+
+    setAntiScale(1.0);
+
+    positionHandles();
+
+    this->setAcceptHoverEvents(true);
+
+    angleWidget = new UBAngleWidget();
+}
+
+
+UBGraphicsDelegateFrame::~UBGraphicsDelegateFrame()
+{
+delete angleWidget;
+    // NOOP
+}
+
+void UBGraphicsDelegateFrame::setAntiScale(qreal pAntiScale)
+{
+    mFrameWidth = mNominalFrameWidth * pAntiScale;
+
+    QTransform tr;
+    tr.scale(pAntiScale, pAntiScale);
+
+    mBottomRightResizeGripSvgItem->setTransform(tr);
+    mBottomResizeGripSvgItem->setTransform(tr);
+    mLeftResizeGripSvgItem->setTransform(tr);
+    mRightResizeGripSvgItem->setTransform(tr);
+    mTopResizeGripSvgItem->setTransform(tr);
+    mRotateButton->setTransform(tr);
+}
+
+
+void UBGraphicsDelegateFrame::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
+{
+    Q_UNUSED(option);
+    Q_UNUSED(widget);
+
+    QPainterPath path;
+    path.addRoundedRect(rect(), mFrameWidth / 2, mFrameWidth / 2);
+
+    if (rect().width() > 1 && rect().height() > 1)
+    {
+        QPainterPath extruded;
+        extruded.addRect(rect().adjusted(mFrameWidth, mFrameWidth, (mFrameWidth * -1), (mFrameWidth * -1)));
+        path = path.subtracted(extruded);
+    }
+
+    painter->fillPath(path, brush());
+}
+
+
+QPainterPath UBGraphicsDelegateFrame::shape() const
+{
+    QPainterPath path;
+
+    //We do not use the rounded rect here because we want the bottom right corner
+    //to be included in the frame (for resize grip handling : #702)
+    path.addRect(rect());
+
+    if (rect().width() > 0 && rect().height() > 0)
+    {
+        QPainterPath extruded;
+        extruded.addRect(rect().adjusted(mFrameWidth, mFrameWidth, mFrameWidth * -1, mFrameWidth * -1));
+        path = path.subtracted(extruded);
+    }
+
+    return path;
+}
+
+
+void UBGraphicsDelegateFrame::initializeTransform()
+{
+    QTransform itemTransform = delegated()->sceneTransform();
+    QRectF itemRect = delegated()->boundingRect();
+    QPointF topLeft = itemTransform.map(itemRect.topLeft());
+    QPointF topRight = itemTransform.map(itemRect.topRight());
+    QPointF  bottomLeft = itemTransform.map(itemRect.bottomLeft());
+
+    qreal horizontalFlip = (topLeft.x() > topRight.x()) ? -1 : 1;
+    mMirrorX = horizontalFlip < 0 ;
+    if(horizontalFlip < 0){
+        // why this is because of the way of calculating the translations that checks which side is the most is the
+        // nearest instead of checking which one is the left side.
+        QPointF tmp = topLeft;
+        topLeft = topRight;
+        topRight = tmp;
+
+        // because of the calculation of the height is done by lenght and not deltaY
+        bottomLeft = itemTransform.map(itemRect.bottomRight());
+    }
+
+    qreal verticalFlip = (bottomLeft.y() < topLeft.y()) ? -1 : 1;
+    // not sure that is usefull
+    mMirrorY = verticalFlip < 0;
+    if(verticalFlip < 0 && !mMirrorX){
+        topLeft = itemTransform.map(itemRect.bottomLeft());
+        topRight = itemTransform.map(itemRect.bottomRight());
+        bottomLeft = itemTransform.map(itemRect.topLeft());
+    }
+
+    QLineF topLine(topLeft, topRight);
+    QLineF leftLine(topLeft, bottomLeft);
+    qreal width = topLine.length();
+    qreal height = leftLine.length();
+
+    mAngle = topLine.angle();
+
+    // the fact the the length is used we loose the horizontalFlip information
+    // a better way to do this is using DeltaX that preserve the direction information.
+    mTotalScaleX = (width / itemRect.width()) * horizontalFlip;
+    mTotalScaleY = height / itemRect.height() * verticalFlip;
+
+    QTransform tr;
+    QPointF center = delegated()->boundingRect().center();
+    tr.translate(center.x() * mTotalScaleX, center.y() * mTotalScaleY);
+    tr.rotate(-mAngle);
+    tr.translate(-center.x() * mTotalScaleX, -center.y() * mTotalScaleY);
+    tr.scale(mTotalScaleX, mTotalScaleY);
+
+    mTotalTranslateX = delegated()->transform().dx() - tr.dx();
+    mTotalTranslateY = delegated()->transform().dy() - tr.dy();
+}
+
+
+void UBGraphicsDelegateFrame::mousePressEvent(QGraphicsSceneMouseEvent *event)
+{
+    mDelegate->startUndoStep();
+
+    mStartingPoint = event->scenePos();
+
+    initializeTransform();
+
+    mScaleX = 1;
+    mScaleY = 1;
+    mTranslateX = 0;
+    mTranslateY = 0;
+    mAngleOffset = 0;
+
+    mInitialTransform = buildTransform();
+
+    mCurrentTool = toolFromPos(event->pos());
+
+    event->accept();
+}
+
+bool UBGraphicsDelegateFrame::canResizeBottomRight(qreal width, qreal height, qreal scaleFactor)
+{
+    bool res = false;
+
+    if(!mMirrorX && !mMirrorX && ((width * scaleFactor) > 2*mFrameWidth && (height * scaleFactor) > 2*mFrameWidth)){
+        res = true;
+    }else if(mMirrorX && !mMirrorY && (-width * scaleFactor) > 2*mFrameWidth && (height*scaleFactor) > 2*mFrameWidth){
+        res = true;
+    }else if(!mMirrorX && mMirrorY && (width * scaleFactor) > 2*mFrameWidth && (-height*scaleFactor) > 2*mFrameWidth){
+        res = true;
+    }else if(mMirrorX && mMirrorY && (-width * scaleFactor) > 2*mFrameWidth && (-height*scaleFactor) > 2*mFrameWidth){
+        res = true;
+    }
+
+    return res;
+}
+
+void UBGraphicsDelegateFrame::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
+{
+    QLineF move(mStartingPoint, event->scenePos());
+    qreal moveX = move.length() * cos((move.angle() - mAngle) * PI / 180);
+    qreal moveY = -move.length() * sin((move.angle() - mAngle) * PI / 180);
+    qreal width = delegated()->boundingRect().width() * mTotalScaleX;
+    qreal height = delegated()->boundingRect().height() * mTotalScaleY;
+
+    if(mOperationMode == Scaling)
+    {
+        mTranslateX = moveX;
+        // Perform the resize
+        if (resizingBottomRight())
+        {
+            // -----------------------------------------------------
+            // ! We want to keep the aspect ratio with this resize !
+            // -----------------------------------------------------
+            qreal scaleX;
+            qreal scaleY;
+
+            if(!mMirrorX){
+                scaleX = (width + moveX) / width;
+            }else{
+                scaleX = (width - moveX) / width;
+            }
+
+            if(!mMirrorY){
+                scaleY = (height + moveY) / height;
+            }else{
+                scaleY = (height - moveY) / height;
+            }
+
+            qreal scaleFactor = (scaleX + scaleY) / 2;
+
+            // Do not allow resizing of image size under frame size
+            if (canResizeBottomRight(width, height, scaleFactor))
+            {
+                if (mRespectRatio)
+                {
+                    mScaleX = scaleFactor;
+                    mScaleY = scaleFactor;
+                }
+                else
+                {
+                    mScaleX = scaleX;
+                    mScaleY = scaleY;
+                }
+            }
+        }else if (resizingLeft() || resizingRight())
+        {
+            if(width != 0){
+                qreal scaleX = 0.0;
+                if(resizingLeft()){
+                    scaleX = (width - moveX) / width;
+                }else if(resizingRight()){
+                    scaleX = (width + moveX) / width;
+                }
+                if(mDelegate->isFlippable() && qAbs(scaleX) != 0){
+                    if((qAbs(width * scaleX)) < 2*mFrameWidth){
+                        bool negative = (scaleX < 0)?true:false;
+                        if(negative){
+                            if(mMirrorX)
+                                scaleX = 2*mFrameWidth/width;
+                            else
+                                scaleX = -2*mFrameWidth/width;
+                        }else{
+                            scaleX = -1;
+                        }
+                    }
+                    mScaleX = scaleX;
+                }else if (scaleX > 1 || (width * scaleX) > 2 * mFrameWidth){
+                    mScaleX = scaleX;
+                    if(resizingLeft()){
+                        mTranslateX = moveX;
+                    }
+                }
+            }
+        }else if(resizingTop() || resizingBottom()){
+            if(height != 0){
+                qreal scaleY = 0.0;
+                if(resizingTop()){
+                    scaleY = (height - moveY) / height;
+                }else if(resizingBottom()){
+                    scaleY = (height + moveY) / height;
+                }
+
+                if(mDelegate->isFlippable() && qAbs(scaleY) != 0){
+                    if((qAbs(height * scaleY)) < 2*mFrameWidth){
+                        bool negative = (scaleY < 0)?true:false;
+                        if(negative){
+                            if(mMirrorY)
+                                scaleY = 2*mFrameWidth/width;
+                            else
+                                scaleY = -2*mFrameWidth/width;
+                        }else{
+                            scaleY = -1;
+                        }
+                    }
+                    mScaleY = scaleY;
+                }else if (scaleY > 1 || (height * scaleY) > 2 * mFrameWidth)
+                {
+                    mScaleY = scaleY;
+                    if(resizingTop()){
+                        mTranslateY = moveY;
+                    }
+                }
+            }
+        }
+    }
+    else if (mOperationMode == Resizing)
+    {
+        mTranslateX = moveX;
+        UBResizableGraphicsItem* resizableItem = dynamic_cast<UBResizableGraphicsItem*>(delegated());
+
+        if (resizableItem)
+        {
+            QLineF mousePosDelta(delegated()->mapFromScene(event->lastScenePos())
+                    , delegated()->mapFromScene(event->scenePos()));
+            QSizeF incVector(0, 0);
+
+            if (resizingBottomRight())
+            {
+                incVector = QSizeF(mousePosDelta.dx(), mousePosDelta.dy());
+            }
+            else if (resizingRight())
+            {
+                incVector = QSizeF(mousePosDelta.dx(), 0);
+            }
+            else if (resizingBottom())
+            {
+                incVector = QSizeF(0, mousePosDelta.dy());
+            }
+            else if (resizingLeft())
+            {
+                incVector = QSizeF(- mousePosDelta.dx(), 0);
+            }
+            else if (resizingTop())
+            {
+                incVector = QSizeF(0, - mousePosDelta.dy());
+            }
+
+            QSizeF newSize = resizableItem->size() + incVector;
+
+            if (!(mDelegate->getToolBarItem()->isVisibleOnBoard()
+                && (newSize.width() < mDelegate->getToolBarItem()->minWidth() / mDelegate->antiScaleRatio()
+                || newSize.height() < mDelegate->getToolBarItem()->minWidth() / mDelegate->antiScaleRatio() * 3/4)))
+                    resizableItem->resize(newSize);
+        }
+    }
+
+    if (rotating())
+    {
+        mTranslateX = 0;
+        mTranslateY = 0;
+
+        QLineF startLine(sceneBoundingRect().center(), event->lastScenePos());
+        QLineF currentLine(sceneBoundingRect().center(), event->scenePos());
+        mAngle += startLine.angleTo(currentLine);
+
+        if ((int)mAngle % 45 >= 45 - mAngleTolerance || (int)mAngle % 45 <= mAngleTolerance)
+        {
+            mAngle = qRound(mAngle / 45) * 45;
+            mAngleOffset += startLine.angleTo(currentLine);
+            if ((int)mAngleOffset % 360 > mAngleTolerance && (int)mAngleOffset % 360 < 360 - mAngleTolerance)
+            {
+                mAngle += mAngleOffset;
+                mAngleOffset = 0;
+            }
+        }
+        else if ((int)mAngle % 30 >= 30 - mAngleTolerance || (int)mAngle % 30 <= mAngleTolerance)
+        {
+            mAngle = qRound(mAngle / 30) * 30;
+            mAngleOffset += startLine.angleTo(currentLine);
+            if ((int)mAngleOffset % 360 > mAngleTolerance && (int)mAngleOffset % 360 < 360 - mAngleTolerance)
+            {
+                mAngle += mAngleOffset;
+                mAngleOffset = 0;
+            }
+        }
+
+        if (!angleWidget->isVisible())
+            angleWidget->show();
+
+        angleWidget->setText(QString::number((int)mAngle % 360));
+        angleWidget->update();
+
+    }
+    else if (moving())
+    {
+        mTranslateX = move.dx();
+        mTranslateY = move.dy();
+    }
+
+    QTransform tr = buildTransform();
+
+    //TODO UB 4.x: Could find a better solution ?
+    if (resizingRight() || resizingBottom() || resizingBottomRight())
+    {
+        QPointF ref;
+        if(!mMirrorX && !mMirrorY){
+            ref = delegated()->boundingRect().topLeft();
+        }else if(mMirrorX && !mMirrorY){
+            ref = delegated()->boundingRect().topLeft();
+        }else if(!mMirrorX && mMirrorY){
+            ref = delegated()->boundingRect().topLeft();
+        }else if(mMirrorX && mMirrorY){
+            ref = delegated()->boundingRect().topRight();
+        }
+
+        // Map the item topleft point to the current mouse move transform
+        QPointF topLeft = tr.map(ref);
+
+        // Map the item topleft point to the mouse press transform
+        QPointF fixedPoint = mInitialTransform.map(ref);
+
+        // Update the translation coordinates
+        mTranslateX += fixedPoint.x() - topLeft.x();
+        mTranslateY += fixedPoint.y() - topLeft.y();
+
+        // Update the transform
+        tr = buildTransform();
+    }
+    else if (resizingTop() || resizingLeft())
+    {
+        if (mOperationMode == Scaling)
+        {
+            QPointF bottomRight = tr.map(delegated()->boundingRect().bottomRight());
+            QPointF fixedPoint = mInitialTransform.map(delegated()->boundingRect().bottomRight());
+            mTranslateX += fixedPoint.x() - bottomRight.x();
+            mTranslateY += fixedPoint.y() - bottomRight.y();
+        }
+        else
+        {
+            QLineF vector;
+            if (resizingLeft())
+            {
+                QPointF topRight1 = mInitialTransform.map(QPointF(delegated()->boundingRect().width() - moveX, 0));
+                QPointF topRight2 = mInitialTransform.map(QPointF(delegated()->boundingRect().width(), 0));
+                vector.setPoints(topRight1, topRight2);
+            }
+            else
+            {
+                QPointF bottomLeft1 = mInitialTransform.map(QPointF(0, delegated()->boundingRect().height() - moveY));
+                QPointF bottomLeft2 = mInitialTransform.map(QPointF(0, delegated()->boundingRect().height()));
+                vector.setPoints(bottomLeft1, bottomLeft2);
+            }
+            mTranslateX = vector.dx();
+            mTranslateY = vector.dy();
+        }
+        tr = buildTransform();
+    }
+
+    delegated()->setTransform(tr);
+    event->accept();
+}
+
+
+QTransform UBGraphicsDelegateFrame::buildTransform()
+{
+    QTransform tr;
+    QPointF center = delegated()->boundingRect().center();
+
+    // Translate
+    tr.translate(mTotalTranslateX + mTranslateX, mTotalTranslateY + mTranslateY);
+
+    // Set angle
+    tr.translate(center.x() * mTotalScaleX * mScaleX, center.y() * mTotalScaleY * mScaleY);
+    tr.rotate(-mAngle);
+    tr.translate(-center.x() * mTotalScaleX * mScaleX, -center.y() * mTotalScaleY * mScaleY);
+
+    // Scale
+    tr.scale(mTotalScaleX * mScaleX, mTotalScaleY * mScaleY);
+    return tr;
+}
+
+
+void UBGraphicsDelegateFrame::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
+{
+    if (angleWidget->isVisible())
+        angleWidget->hide();
+
+    updateResizeCursors();
+
+    mDelegate->commitUndoStep();
+    mTotalScaleX *= mScaleX;
+    mTotalScaleY *= mScaleY;
+    mTotalTranslateX += mTranslateX;
+    mTotalTranslateY += mTranslateY;
+    event->accept();
+
+    mCurrentTool = None;
+    QGraphicsRectItem::mouseReleaseEvent(event);
+
+    // Show the buttons
+    if(isResizing()){
+        mResizing = false;
+    }
+    mDelegate->setButtonsVisible(true);
+}
+
+
+void UBGraphicsDelegateFrame::updateResizeCursors()
+{
+    QPixmap pix(":/images/cursors/resize.png");
+    QTransform tr;
+
+    tr.rotate(-mAngle);
+    QCursor resizeCursor  = QCursor(pix.transformed(tr, Qt::SmoothTransformation), pix.width() / 2,  pix.height() / 2);
+    mLeftResizeGrip->setCursor(resizeCursor);
+    mRightResizeGrip->setCursor(resizeCursor);
+
+    tr.rotate(-90);
+    resizeCursor  = QCursor(pix.transformed(tr, Qt::SmoothTransformation), pix.width() / 2,  pix.height() / 2);
+    mBottomResizeGrip->setCursor(resizeCursor);
+    mTopResizeGrip->setCursor(resizeCursor);
+
+    tr.rotate(-45);
+    resizeCursor  = QCursor(pix.transformed(tr, Qt::SmoothTransformation), pix.width() / 2,  pix.height() / 2);
+    mBottomRightResizeGrip->setCursor(resizeCursor);
+}
+
+
+void UBGraphicsDelegateFrame::setVisible(bool visible)
+{
+    mVisible = visible;
+    if (mVisible)
+       setBrush(QBrush(UBSettings::paletteColor));
+    else
+       setBrush(Qt::NoBrush);
+}
+
+
+void UBGraphicsDelegateFrame::positionHandles()
+{
+    QRectF itemRect = delegated()->boundingRect();
+    
+    if (mDelegate->getToolBarItem()->isVisibleOnBoard() 
+        && mDelegate->getToolBarItem()->isShifting())
+        itemRect.setHeight(itemRect.height() + mDelegate->getToolBarItem()->rect().height() * mDelegate->antiScaleRatio() * 1.1);
+
+    QTransform itemTransform = delegated()->sceneTransform();
+    QPointF topLeft = itemTransform.map(itemRect.topLeft());
+    QPointF topRight = itemTransform.map(itemRect.topRight());
+    QPointF bottomLeft = itemTransform.map(itemRect.bottomLeft());
+    QPointF bottomRight = itemTransform.map(itemRect.bottomRight());
+    QPointF center = itemTransform.map(itemRect.center());
+    int rotateHeight = QLineF(topLeft, bottomLeft).length();
+
+    // Handle the mirroring
+    if(topLeft.x() > topRight.x()){
+        QPointF topTmp = topRight;
+        QPointF bottomTmp = bottomRight;
+        topRight = topLeft;
+        topLeft = topTmp;
+        bottomRight = bottomLeft;
+        bottomLeft = bottomTmp;
+    }
+
+    if(bottomLeft.y() > topLeft.y()){
+        QPointF leftTmp = bottomLeft;
+        QPointF rightTmp = bottomRight;
+        bottomLeft = topLeft;
+        topLeft = leftTmp;
+        bottomRight = topRight;
+        topRight = rightTmp;
+    }
+
+    QLineF topLine(topLeft, topRight);
+    qreal angle = topLine.angle();
+    qreal width = topLine.length();
+
+    QLineF leftLine(topLeft, bottomLeft);
+    qreal height = leftLine.length();
+
+    int h = rotating()?rotateHeight:height;
+
+    if (mVisible)
+    {
+        setRect(center.x() - mFrameWidth - width / 2, center.y() - mFrameWidth - h / 2, width + 2 * mFrameWidth, h + 2 * mFrameWidth);
+    }
+    else
+    {
+        setRect(center.x() - width / 2, center.y() - h / 2, width, h);
+    }
+
+    resetTransform();
+    translate(center.x(), center.y());
+    rotate(-angle);
+    translate(-center.x(), -center.y());
+
+    mBottomRightResizeGripSvgItem->setParentItem(this);
+    mBottomResizeGripSvgItem->setParentItem(this);
+    mLeftResizeGripSvgItem->setParentItem(this);
+    mRightResizeGripSvgItem->setParentItem(this);
+    mTopResizeGripSvgItem->setParentItem(this);
+    mRotateButton->setParentItem(this);
+
+    mBottomRightResizeGrip->setParentItem(this);
+    mBottomResizeGrip->setParentItem(this);
+    mLeftResizeGrip->setParentItem(this);
+    mRightResizeGrip->setParentItem(this);
+    mTopResizeGrip->setParentItem(this);
+
+    QRectF brRect = mBottomRightResizeGripSvgItem->mapRectToParent(mBottomRightResizeGripSvgItem->boundingRect());
+    QRectF bRect = mBottomResizeGripSvgItem->mapRectToParent(mBottomResizeGripSvgItem->boundingRect());
+    QRectF lRect = mLeftResizeGripSvgItem->mapRectToParent(mLeftResizeGripSvgItem->boundingRect());
+    QRectF rRect = mRightResizeGripSvgItem->mapRectToParent(mRightResizeGripSvgItem->boundingRect());
+    QRectF trRect = mTopResizeGripSvgItem->mapRectToParent(mTopResizeGripSvgItem->boundingRect());
+
+    mBottomRightResizeGripSvgItem->setPos(rect().right() - brRect.width(), rect().bottom() - brRect.height());
+    mBottomResizeGripSvgItem->setPos(rect().center().x() - bRect.width() / 2, rect().bottom() - bRect.height());
+
+    mLeftResizeGripSvgItem->setPos(rect().left(), rect().center().y() - lRect.height() / 2);
+    mRightResizeGripSvgItem->setPos(rect().right() - rRect.width(), rect().center().y() - rRect.height() / 2);
+
+    mTopResizeGripSvgItem->setPos(rect().center().x() - trRect.width() / 2, rect().y());
+    mRotateButton->setPos(rect().right() - mFrameWidth - 5, rect().top() + 5);
+
+    mBottomRightResizeGrip->setRect(bottomRightResizeGripRect());
+    mBottomResizeGrip->setRect(bottomResizeGripRect());
+    mLeftResizeGrip->setRect(leftResizeGripRect());
+    mRightResizeGrip->setRect(rightResizeGripRect());
+    mTopResizeGrip->setRect(topResizeGripRect());
+
+    QVariant vLocked = delegated()->data(UBGraphicsItemData::ItemLocked);
+    bool isLocked = (vLocked.isValid() && vLocked.toBool());
+
+    mBottomRightResizeGripSvgItem->setVisible(!isLocked);
+    mBottomResizeGripSvgItem->setVisible(!isLocked);
+    mLeftResizeGripSvgItem->setVisible(!isLocked);
+    mRightResizeGripSvgItem->setVisible(!isLocked);
+    mTopResizeGripSvgItem->setVisible(!isLocked);
+    mRotateButton->setVisible(mDelegate->canRotate() && !isLocked);
+
+    mBottomRightResizeGrip->setVisible(!isLocked);
+    mBottomResizeGrip->setVisible(!isLocked);
+    mLeftResizeGrip->setVisible(!isLocked);
+    mRightResizeGrip->setVisible(!isLocked);
+    mTopResizeGrip->setVisible(!isLocked);
+
+    if (isLocked)
+    {
+        QColor baseColor = UBSettings::paletteColor;
+        baseColor.setAlphaF(baseColor.alphaF() / 3);
+        setBrush(QBrush(baseColor));
+    }
+    else
+    {
+        setBrush(QBrush(UBSettings::paletteColor));
+    }
+
+    //make frame interact like delegated item when selected. Maybe should be deleted if selection logic will change
+    setZValue(delegated()->zValue());
+}
+
+
+QGraphicsItem* UBGraphicsDelegateFrame::delegated()
+{
+    return mDelegate->delegated();
+}
+
+UBGraphicsDelegateFrame::FrameTool UBGraphicsDelegateFrame::toolFromPos(QPointF pos)
+{
+        if(mDelegate->isLocked())
+                return None;
+    else if (bottomRightResizeGripRect().contains(pos))
+        return ResizeBottomRight;
+    else if (bottomResizeGripRect().contains(pos)){
+            if(mMirrorY){
+                return ResizeTop;
+            }else{
+                return ResizeBottom;
+            }
+        }
+    else if (leftResizeGripRect().contains(pos)){
+            if(mMirrorX){
+                return ResizeRight;
+            }else{
+                return ResizeLeft;
+            }
+            return ResizeLeft;
+        }
+    else if (rightResizeGripRect().contains(pos)){
+            if(mMirrorX){
+                return ResizeLeft;
+            }else{
+                return ResizeRight;
+            }
+        }
+    else if (topResizeGripRect().contains(pos)){
+            if(mMirrorY){
+                return ResizeBottom;
+            }else{
+                return ResizeTop;
+            }
+        }
+    else if (rotateButtonBounds().contains(pos) && mDelegate && mDelegate->canRotate())
+        return Rotate;
+    else
+        return Move;
+}
+
+
+QRectF UBGraphicsDelegateFrame::bottomRightResizeGripRect() const
+{
+    return QRectF(rect().right() - mFrameWidth, rect().bottom() - mFrameWidth, mFrameWidth, mFrameWidth);
+}
+
+
+QRectF UBGraphicsDelegateFrame::bottomResizeGripRect() const
+{
+    return QRectF(rect().center().x() - mFrameWidth / 2, rect().bottom() - mFrameWidth, mFrameWidth, mFrameWidth);
+}
+
+
+QRectF UBGraphicsDelegateFrame::leftResizeGripRect() const
+{
+    return QRectF(rect().left(), rect().center().y() - mFrameWidth / 2, mFrameWidth, mFrameWidth);
+}
+
+
+QRectF UBGraphicsDelegateFrame::rightResizeGripRect() const
+{
+    return QRectF(rect().right() - mFrameWidth, rect().center().y() - mFrameWidth / 2, mFrameWidth, mFrameWidth);
+}
+
+
+QRectF UBGraphicsDelegateFrame::topResizeGripRect() const
+{
+    return QRectF(rect().center().x() - mFrameWidth / 2, rect().top(), mFrameWidth, mFrameWidth);
+}
+
+
+QRectF UBGraphicsDelegateFrame::rotateButtonBounds() const
+{
+    return QRectF(rect().right()- mFrameWidth, rect().top(), mFrameWidth, mFrameWidth);
+}
+
+void UBGraphicsDelegateFrame::refreshGeometry()
+{
+    // Here we want to have the left on the left, the right on the right, the top on the top and the bottom on the bottom!
+    QRectF itemRect = delegated()->boundingRect();
+    QTransform itemTransform = delegated()->sceneTransform();
+    QPointF topLeft = itemTransform.map(itemRect.topLeft());
+    QPointF topRight = itemTransform.map(itemRect.topRight());
+    QPointF bottomLeft = itemTransform.map(itemRect.bottomLeft());
+
+    QLineF topLine(topLeft, topRight);
+    qreal width = topLine.length();
+    QLineF leftLine(topLeft, bottomLeft);
+    qreal height = leftLine.length();
+    setRect(topRight.x() - mFrameWidth, topLeft.y() - mFrameWidth, width + 2*mFrameWidth, height + 2*mFrameWidth);
+}
diff --git a/src/domain/UBGraphicsItemDelegate.cpp b/src/domain/UBGraphicsItemDelegate.cpp
index cadbf191..663c5917 100644
--- a/src/domain/UBGraphicsItemDelegate.cpp
+++ b/src/domain/UBGraphicsItemDelegate.cpp
@@ -37,6 +37,9 @@
 #include "UBGraphicsWidgetItem.h"
 
 #include "domain/UBAbstractWidget.h"
+#include "domain/UBGraphicsTextItem.h"
+#include "domain/UBGraphicsAudioItem.h"
+#include "domain/UBGraphicsVideoItem.h"
 
 #include "web/UBWebController.h"
 
@@ -93,6 +96,8 @@ UBGraphicsItemDelegate::UBGraphicsItemDelegate(QGraphicsItem* pDelegated, QObjec
 
 void UBGraphicsItemDelegate::init()
 {
+    mToolBarItem = new UBGraphicsToolBarItem(delegated());
+
     mFrame = new UBGraphicsDelegateFrame(this, QRectF(0, 0, 0, 0), mFrameWidth, mRespectRatio);
     mFrame->hide();
     mFrame->setFlag(QGraphicsItem::ItemIsSelectable, true);
@@ -123,10 +128,13 @@ void UBGraphicsItemDelegate::init()
 
     foreach(DelegateButton* button, mButtons)
     {
+        if (button->getSection() != Qt::TitleBarArea)
+        {
         button->hide();
         button->setFlag(QGraphicsItem::ItemIsSelectable, true);
     }
 }
+}
 
 
 UBGraphicsItemDelegate::~UBGraphicsItemDelegate()
@@ -292,13 +300,20 @@ void UBGraphicsItemDelegate::positionHandles()
 
         updateButtons(true);
 
+        if (mToolBarItem->isVisibleOnBoard())
+        {
+        updateToolBar();
+           mToolBarItem->show();
+        }
     } else {
         foreach(DelegateButton* button, mButtons)
             button->hide();
 
         mFrame->hide();
+        mToolBarItem->hide();
     }
 }
+
 void UBGraphicsItemDelegate::setZOrderButtonsVisible(bool visible)
 {
     if (visible) {
@@ -335,6 +350,7 @@ void UBGraphicsItemDelegate::remove(bool canUndo)
 
         scene->removeItem(mFrame);
         scene->removeItem(mDelegated);
+        scene->removeItem(mToolBarItem);
 
         if (canUndo)
         {
@@ -577,14 +593,16 @@ void UBGraphicsItemDelegate::updateButtons(bool showUpdated)
     int i = 1, j = 0, k = 0;
     while ((i + j + k) < mButtons.size())  {
         DelegateButton* button = mButtons[i + j];
-        button->setParentItem(mFrame);
 
-        button->setTransform(tr);
         if (button->getSection() == Qt::TopLeftSection) {
+            button->setParentItem(mFrame);
             button->setPos(topX + (i++ * 1.6 * mFrameWidth * mAntiScaleRatio), topY);
+            button->setTransform(tr);
         } else if (button->getSection() == Qt::BottomLeftSection) {
+            button->setParentItem(mFrame);
             button->setPos(bottomX + (++j * 1.6 * mFrameWidth * mAntiScaleRatio), bottomY);
-        } else if (button->getSection() == Qt::NoSection) {
+            button->setTransform(tr);
+        } else if (button->getSection() == Qt::TitleBarArea || button->getSection() == Qt::NoSection){
             ++k;
         }
         if (!button->scene())
@@ -599,9 +617,65 @@ void UBGraphicsItemDelegate::updateButtons(bool showUpdated)
     }
 }
 
+void UBGraphicsItemDelegate::updateToolBar()
+{
+    QTransform transformForToolbarButtons;
+    transformForToolbarButtons.scale(mAntiScaleRatio, 1);
+
+    QRectF toolBarRect = mToolBarItem->rect();
+    toolBarRect.setWidth(delegated()->boundingRect().width() - 10);
+    mToolBarItem->setRect(toolBarRect);
+
+    if (mToolBarItem->isShifting())
+        mToolBarItem->setPos(delegated()->boundingRect().bottomLeft() + QPointF(5 * mAntiScaleRatio, 0));
+    else mToolBarItem->setPos(delegated()->boundingRect().bottomLeft() - QPointF(-5 * mAntiScaleRatio, mToolBarItem->rect().height() * 1.1 * mAntiScaleRatio));
+
+    int offsetOnToolBar = 5 * mAntiScaleRatio;
+    QList<QGraphicsItem*> itemList = mToolBarItem->itemsOnToolBar();
+    foreach (QGraphicsItem* item, itemList)
+    {
+        item->setPos(offsetOnToolBar, 0);
+        offsetOnToolBar += (item->boundingRect().width() + 5) * mAntiScaleRatio;
+        item->setTransform(transformForToolbarButtons);
+        item->show();
+    }
+
+    mToolBarItem->setOffsetOnToolBar(offsetOnToolBar);
+
+    QTransform tr;
+    tr.scale(1, mAntiScaleRatio);
+    mToolBarItem->setTransform(tr);
+}
+
 void UBGraphicsItemDelegate::setButtonsVisible(bool visible)
 {
     foreach(DelegateButton* pButton, mButtons){
         pButton->setVisible(visible);
     }
 }
+
+UBGraphicsToolBarItem::UBGraphicsToolBarItem(QGraphicsItem * parent) : 
+    QGraphicsRectItem(parent),
+    mShifting(true),
+    mVisible(false),
+    mMinWidth(200)
+{
+    QRectF rect = this->rect();
+    rect.setHeight(26);
+    this->setRect(rect);
+
+    setBrush(QColor(UBSettings::paletteColor));             
+    setPen(Qt::NoPen);
+    hide();
+}
+
+void UBGraphicsToolBarItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
+{
+    Q_UNUSED(option);
+    Q_UNUSED(widget);
+
+    QPainterPath path;
+    path.addRoundedRect(rect(), 10, 10);  
+
+    painter->fillPath(path, brush());
+}
\ No newline at end of file
diff --git a/src/domain/UBGraphicsItemDelegate.h b/src/domain/UBGraphicsItemDelegate.h
index f560b546..2013634f 100644
--- a/src/domain/UBGraphicsItemDelegate.h
+++ b/src/domain/UBGraphicsItemDelegate.h
@@ -84,6 +84,31 @@ class DelegateButton: public QGraphicsSvgItem
 
 };
 
+class UBGraphicsToolBarItem : public QGraphicsRectItem, public QObject
+{
+    public:
+        UBGraphicsToolBarItem(QGraphicsItem * parent = 0);
+        virtual ~UBGraphicsToolBarItem() {};
+
+        bool isVisibleOnBoard() const { return mVisible; }
+        void setVisibleOnBoard(bool visible) { mVisible = visible; }
+        bool isShifting() const { return mShifting; }
+        void setShifting(bool shifting) { mShifting = shifting; } 
+        int offsetOnToolBar() const { return mOffsetOnToolBar; }
+        void setOffsetOnToolBar(int pOffset) { mOffsetOnToolBar = pOffset; }
+        QList<QGraphicsItem*> itemsOnToolBar() const { return mItemsOnToolBar; }
+        void setItemsOnToolBar(QList<QGraphicsItem*> itemsOnToolBar) { mItemsOnToolBar = itemsOnToolBar;}
+        int minWidth() { return mMinWidth; }
+        void paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
+                QWidget *widget);
+
+    private:
+        bool mShifting;
+        bool mVisible;
+        int mOffsetOnToolBar;
+        int mMinWidth;
+        QList<QGraphicsItem*> mItemsOnToolBar;
+};
 
 class UBGraphicsItemDelegate : public QObject
 {
@@ -138,6 +163,10 @@ class UBGraphicsItemDelegate : public QObject
 
         void setButtonsVisible(bool visible);
 
+        UBGraphicsToolBarItem* getToolBarItem() const { return mToolBarItem; }
+
+        qreal antiScaleRatio() const { return mAntiScaleRatio; }
+
     signals:
         void showOnDisplayChanged(bool shown);
         void lockChanged(bool locked);
@@ -183,12 +212,17 @@ class UBGraphicsItemDelegate : public QObject
 
         QList<DelegateButton*> mButtons;
 
+        UBGraphicsToolBarItem* mToolBarItem;
+
 protected slots:
         virtual void gotoContentSource(bool checked);
 
 private:
         void updateFrame();
         void updateButtons(bool showUpdated = false);
+        void updateToolBar();
+
+
 
         QPointF mOffset;
         QTransform mPreviousTransform;
diff --git a/src/domain/UBGraphicsTextItemDelegate.cpp b/src/domain/UBGraphicsTextItemDelegate.cpp
index c567ef43..8c132325 100644
--- a/src/domain/UBGraphicsTextItemDelegate.cpp
+++ b/src/domain/UBGraphicsTextItemDelegate.cpp
@@ -94,17 +94,21 @@ void UBGraphicsTextItemDelegate::buildButtons()
 {
     UBGraphicsItemDelegate::buildButtons();
 
-    mFontButton = new DelegateButton(":/images/font.svg", mDelegated, mFrame, Qt::TopLeftSection);
-    mColorButton = new DelegateButton(":/images/color.svg", mDelegated, mFrame, Qt::TopLeftSection);
-    mDecreaseSizeButton = new DelegateButton(":/images/minus.svg", mDelegated, mFrame, Qt::TopLeftSection);
-    mIncreaseSizeButton = new DelegateButton(":/images/plus.svg", mDelegated, mFrame, Qt::TopLeftSection);
+    mFontButton = new DelegateButton(":/images/font.svg", mDelegated, mToolBarItem, Qt::TitleBarArea);
+    mColorButton = new DelegateButton(":/images/color.svg", mDelegated, mToolBarItem, Qt::TitleBarArea);
+    mDecreaseSizeButton = new DelegateButton(":/images/minus.svg", mDelegated, mToolBarItem, Qt::TitleBarArea);
+    mIncreaseSizeButton = new DelegateButton(":/images/plus.svg", mDelegated, mToolBarItem, Qt::TitleBarArea);
 
     connect(mFontButton, SIGNAL(clicked(bool)), this, SLOT(pickFont()));
     connect(mColorButton, SIGNAL(clicked(bool)), this, SLOT(pickColor()));
     connect(mDecreaseSizeButton, SIGNAL(clicked(bool)), this, SLOT(decreaseSize()));
     connect(mIncreaseSizeButton, SIGNAL(clicked(bool)), this, SLOT(increaseSize()));
 
-    mButtons << mFontButton << mColorButton << mDecreaseSizeButton << mIncreaseSizeButton;
+    QList<QGraphicsItem*> itemsOnToolBar;
+    itemsOnToolBar << mFontButton << mColorButton << mDecreaseSizeButton << mIncreaseSizeButton;
+    mToolBarItem->setItemsOnToolBar(itemsOnToolBar);
+
+    mToolBarItem->setVisibleOnBoard(true);
 }
 
 void UBGraphicsTextItemDelegate::contentsChanged()
diff --git a/src/domain/UBGraphicsVideoItemDelegate.cpp b/src/domain/UBGraphicsVideoItemDelegate.cpp
index 35620cf0..e02640c5 100644
--- a/src/domain/UBGraphicsVideoItemDelegate.cpp
+++ b/src/domain/UBGraphicsVideoItemDelegate.cpp
@@ -1,336 +1,351 @@
-/*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include <QtGui>
-#include <QtSvg>
-
-#include "UBGraphicsVideoItemDelegate.h"
-
-#include "UBGraphicsScene.h"
-
-#include "core/UBSettings.h"
-#include "core/UBApplication.h"
-#include "core/UBApplicationController.h"
-#include "core/UBDisplayManager.h"
-
-#include "domain/UBGraphicsVideoItem.h"
-#include "domain/UBGraphicsDelegateFrame.h"
-
-#include "core/memcheck.h"
-
-UBGraphicsVideoItemDelegate::UBGraphicsVideoItemDelegate(UBGraphicsVideoItem* pDelegated, Phonon::MediaObject* pMedia, QObject * parent)
-    : UBGraphicsItemDelegate(pDelegated, parent, true, false)
-    , mMedia(pMedia)
-{
-    // NOOP
-}
-
-void UBGraphicsVideoItemDelegate::buildButtons()
-{
-    mPlayPauseButton = new DelegateButton(":/images/play.svg", mDelegated, mFrame);
-
-    mStopButton = new DelegateButton(":/images/stop.svg", mDelegated, mFrame);
-    mStopButton->hide();
-
-    if (delegated()->isMuted())
-        mMuteButton = new DelegateButton(":/images/soundOff.svg", mDelegated, mFrame);
-    else
-        mMuteButton = new DelegateButton(":/images/soundOn.svg", mDelegated, mFrame);
-
-    mMuteButton->hide();
-
-    mVideoControl = new DelegateVideoControl(delegated(), mFrame);
-    UBGraphicsItem::assignZValue(mVideoControl, delegated()->zValue());
-    mVideoControl->setFlag(QGraphicsItem::ItemIsSelectable, true);
-
-    connect(mPlayPauseButton, SIGNAL(clicked(bool)), this, SLOT(togglePlayPause()));
-    connect(mStopButton, SIGNAL(clicked(bool)), mMedia, SLOT(stop()));
-    connect(mMuteButton, SIGNAL(clicked(bool)), delegated(), SLOT(toggleMute()));
-    connect(mMuteButton, SIGNAL(clicked(bool)), this, SLOT(toggleMute()));
-
-    mButtons << mPlayPauseButton << mStopButton << mMuteButton;
-
-    mMedia->setTickInterval(50);
-
-    connect(mMedia, SIGNAL(stateChanged (Phonon::State, Phonon::State)), this, SLOT(mediaStateChanged (Phonon::State, Phonon::State)));
-    connect(mMedia, SIGNAL(finished()), this, SLOT(updatePlayPauseState()));
-    connect(mMedia, SIGNAL(tick(qint64)), this, SLOT(updateTicker(qint64)));
-    connect(mMedia, SIGNAL(totalTimeChanged(qint64)), this, SLOT(totalTimeChanged(qint64)));
-
-}
-
-
-UBGraphicsVideoItemDelegate::~UBGraphicsVideoItemDelegate()
-{
-    //NOOP
-}
-
-
-void UBGraphicsVideoItemDelegate::positionHandles()
-{
-    UBGraphicsItemDelegate::positionHandles();
-
-    if (mDelegated->isSelected())
-    {
-        qreal scaledFrameWidth = mFrameWidth * mAntiScaleRatio;
-
-
-        qreal width = mFrame->rect().width();
-        qreal height = mFrame->rect().height();
-
-        qreal x = mFrame->rect().left();
-        qreal y = mFrame->rect().top();
-
-        mVideoControl->setRect(x + 2 * scaledFrameWidth
-                , y + height - 3 * scaledFrameWidth
-                , width - 4 * scaledFrameWidth
-                , 2 * scaledFrameWidth);
-
-        if (!mVideoControl->scene())
-        {
-            mVideoControl->setParentItem(mFrame);//update parent for the case the item has been previously removed from scene
-            mDelegated->scene()->addItem(mVideoControl);
-        }
-
-        mVideoControl->setAntiScale(mAntiScaleRatio);
-        mVideoControl->setZValue(delegated()->zValue());
-        mVideoControl->show();
-    }
-    else
-    {
-        mVideoControl->hide();
-    }
-}
-
-
-void UBGraphicsVideoItemDelegate::remove(bool canUndo)
-{
-    if (delegated() && delegated()->mediaObject())
-        delegated()->mediaObject()->stop();
-
-    QGraphicsScene* scene = mDelegated->scene();
-
-    scene->removeItem(mVideoControl);
-
-    UBGraphicsItemDelegate::remove(canUndo);
-}
-
-
-void UBGraphicsVideoItemDelegate::toggleMute()
-{
-    if (delegated()->isMuted())
-        mMuteButton->setFileName(":/images/soundOff.svg");
-    else
-        mMuteButton->setFileName(":/images/soundOn.svg");
-
-}
-
-
-UBGraphicsVideoItem* UBGraphicsVideoItemDelegate::delegated()
-{
-    return static_cast<UBGraphicsVideoItem*>(mDelegated);
-}
-
-
-void UBGraphicsVideoItemDelegate::togglePlayPause()
-{
-    if (delegated() && delegated()->mediaObject()) {
-
-        Phonon::MediaObject* media = delegated()->mediaObject();
-        if (media->state() == Phonon::StoppedState) {
-            media->play();
-        } else if (media->state() == Phonon::PlayingState) {
-            if (media->remainingTime() <= 0) {
-                media->stop();
-                media->play();
-            } else {
-                media->pause();
-                if(delegated()->scene())
-                        delegated()->scene()->setModified(true);
-            }
-        } else if (media->state() == Phonon::PausedState) {
-            if (media->remainingTime() <= 0) {
-                media->stop();
-            }
-            media->play();
-        } else  if ( media->state() == Phonon::LoadingState ) {
-            delegated()->mediaObject()->setCurrentSource(delegated()->mediaFileUrl());
-            media->play();
-        } else if (media->state() == Phonon::ErrorState){
-            qDebug() << "Error appeared." << media->errorString();
-        }
-    }
-}
-
-void UBGraphicsVideoItemDelegate::mediaStateChanged ( Phonon::State newstate, Phonon::State oldstate )
-{
-    Q_UNUSED(newstate);
-    Q_UNUSED(oldstate);
-    updatePlayPauseState();
-}
-
-
-void UBGraphicsVideoItemDelegate::updatePlayPauseState()
-{
-    Phonon::MediaObject* media = delegated()->mediaObject();
-
-    if (media->state() == Phonon::PlayingState)
-        mPlayPauseButton->setFileName(":/images/pause.svg");
-    else
-        mPlayPauseButton->setFileName(":/images/play.svg");
-}
-
-
-void UBGraphicsVideoItemDelegate::updateTicker(qint64 time)
-{
-    Phonon::MediaObject* media = delegated()->mediaObject();
-    mVideoControl->totalTimeChanged(media->totalTime());
-
-    mVideoControl->updateTicker(time);
-}
-
-
-void UBGraphicsVideoItemDelegate::totalTimeChanged(qint64 newTotalTime)
-{
-    mVideoControl->totalTimeChanged(newTotalTime);
-}
-
-
-DelegateVideoControl::DelegateVideoControl(UBGraphicsVideoItem* pDelegated, QGraphicsItem * parent)
-    : QGraphicsRectItem(parent)
-    , mDelegate(pDelegated)
-    , mDisplayCurrentTime(false)
-    , mAntiScale(1.0)
-    , mCurrentTimeInMs(0)
-    , mTotalTimeInMs(0)
-{
-    setAcceptedMouseButtons(Qt::LeftButton);
-
-    setBrush(QBrush(UBSettings::paletteColor));
-    setPen(Qt::NoPen);
-    setData(UBGraphicsItemData::ItemLayerType, QVariant(UBItemLayerType::Control));
-}
-
-
-void DelegateVideoControl::paint(QPainter *painter,
-        const QStyleOptionGraphicsItem *option, QWidget *widget)
-{
-    Q_UNUSED(option);
-    Q_UNUSED(widget);
-
-    painter->fillPath(shape(), brush());
-
-    qreal frameWidth = rect().height() / 2;
-    int position = frameWidth;
-
-    if (mTotalTimeInMs > 0)
-    {
-        position = frameWidth + (rect().width() - (2 * frameWidth)) / mTotalTimeInMs * mCurrentTimeInMs;
-    }
-
-    int radius = rect().height() / 6;
-    QRectF r(rect().x() + position - radius, rect().y() + (rect().height() / 4) - radius, radius * 2, radius * 2);
-
-    painter->setBrush(UBSettings::documentViewLightColor);
-    painter->drawEllipse(r);
-
-    if(mDisplayCurrentTime)
-    {
-        painter->setBrush(UBSettings::paletteColor);
-        painter->setPen(QPen(Qt::NoPen));
-        QRectF balloon(rect().x() + position - frameWidth, rect().y() - (frameWidth * 1.2), 2 * frameWidth, frameWidth);
-        painter->drawRoundedRect(balloon, frameWidth/2, frameWidth/2);
-
-        QTime t;
-        t = t.addMSecs(mCurrentTimeInMs < 0 ? 0 : mCurrentTimeInMs);
-        QFont f = painter->font();
-            f.setPointSizeF(f.pointSizeF() * mAntiScale);
-        painter->setFont(f);
-        painter->setPen(Qt::white);
-        painter->drawText(balloon, Qt::AlignCenter, t.toString("m:ss"));
-    }
-}
-
-
-QPainterPath DelegateVideoControl::shape() const
-{
-    QPainterPath path;
-    QRectF r = rect().adjusted(0,0,0,- rect().height() / 2);
-    path.addRoundedRect(r, rect().height() / 4, rect().height() / 4);
-    return path;
-}
-
-
-void DelegateVideoControl::updateTicker(qint64 time )
-{
-    mCurrentTimeInMs = time;
-    update();
-}
-
-
-void DelegateVideoControl::totalTimeChanged(qint64 newTotalTime)
-{
-    mTotalTimeInMs = newTotalTime;
-    update();
-}
-
-
-void DelegateVideoControl::mousePressEvent(QGraphicsSceneMouseEvent *event)
-{
-    mDisplayCurrentTime = true;
-    seekToMousePos(event->pos());
-    update();
-    event->accept();
-}
-
-
-void DelegateVideoControl::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
-{
-    seekToMousePos(event->pos());
-    update();
-    event->accept();
-}
-
-
-void DelegateVideoControl::seekToMousePos(QPointF mousePos)
-{
-    qreal minX, length;
-    qreal frameWidth = rect().height() / 2;
-
-    minX = rect().x() + frameWidth;
-    length = rect().width() - (2 * frameWidth);
-
-    qreal mouseX = mousePos.x();
-
-    if (mTotalTimeInMs > 0 && length > 0 && mDelegate
-        && mDelegate->mediaObject() && mDelegate->mediaObject()->isSeekable())
-    {
-        qint64 tickPos = mTotalTimeInMs / length * (mouseX - minX);
-        mDelegate->mediaObject()->seek(tickPos);
-
-        //OSX is a bit lazy
-        updateTicker(tickPos);
-    }
-}
-
-void DelegateVideoControl::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
-{
-    mDisplayCurrentTime = false;
-    update();
-    event->accept();
-}
-
-
-
+/*
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <QtGui>
+#include <QtSvg>
+
+#include "UBGraphicsVideoItemDelegate.h"
+
+#include "UBGraphicsScene.h"
+
+#include "core/UBSettings.h"
+#include "core/UBApplication.h"
+#include "core/UBApplicationController.h"
+#include "core/UBDisplayManager.h"
+
+#include "domain/UBGraphicsVideoItem.h"
+#include "domain/UBGraphicsDelegateFrame.h"
+
+#include "core/memcheck.h"
+
+UBGraphicsVideoItemDelegate::UBGraphicsVideoItemDelegate(UBGraphicsVideoItem* pDelegated, Phonon::MediaObject* pMedia, QObject * parent)
+    : UBGraphicsItemDelegate(pDelegated, parent, true, false)
+    , mMedia(pMedia)
+{
+    // NOOP
+}
+
+void UBGraphicsVideoItemDelegate::buildButtons()
+{
+    mPlayPauseButton = new DelegateButton(":/images/play.svg", mDelegated, mToolBarItem, Qt::TitleBarArea);
+
+    mStopButton = new DelegateButton(":/images/stop.svg", mDelegated, mToolBarItem, Qt::TitleBarArea);
+
+    mVideoControl = new DelegateVideoControl(delegated(), mToolBarItem);
+    UBGraphicsItem::assignZValue(mVideoControl, delegated()->zValue());
+    mVideoControl->setFlag(QGraphicsItem::ItemIsSelectable, true);
+
+    if (delegated()->isMuted())
+        mMuteButton = new DelegateButton(":/images/soundOff.svg", mDelegated, mToolBarItem, Qt::TitleBarArea);
+    else
+        mMuteButton = new DelegateButton(":/images/soundOn.svg", mDelegated, mToolBarItem, Qt::TitleBarArea);
+
+    connect(mPlayPauseButton, SIGNAL(clicked(bool)), this, SLOT(togglePlayPause()));
+    connect(mStopButton, SIGNAL(clicked(bool)), mMedia, SLOT(stop()));
+    connect(mMuteButton, SIGNAL(clicked(bool)), delegated(), SLOT(toggleMute()));
+    connect(mMuteButton, SIGNAL(clicked(bool)), this, SLOT(toggleMute()));
+
+    mButtons << mPlayPauseButton << mStopButton << mMuteButton;
+
+    QList<QGraphicsItem*> itemsOnToolBar;
+    itemsOnToolBar << mPlayPauseButton << mStopButton << mVideoControl << mMuteButton;
+    mToolBarItem->setItemsOnToolBar(itemsOnToolBar);
+
+    mMedia->setTickInterval(50);
+
+    connect(mMedia, SIGNAL(stateChanged (Phonon::State, Phonon::State)), this, SLOT(mediaStateChanged (Phonon::State, Phonon::State)));
+    connect(mMedia, SIGNAL(finished()), this, SLOT(updatePlayPauseState()));
+    connect(mMedia, SIGNAL(tick(qint64)), this, SLOT(updateTicker(qint64)));
+    connect(mMedia, SIGNAL(totalTimeChanged(qint64)), this, SLOT(totalTimeChanged(qint64)));
+
+    mToolBarItem->setVisibleOnBoard(true);
+    mToolBarItem->setShifting(false);
+}
+
+
+UBGraphicsVideoItemDelegate::~UBGraphicsVideoItemDelegate()
+{
+    //NOOP
+}
+
+
+void UBGraphicsVideoItemDelegate::positionHandles()
+{
+    UBGraphicsItemDelegate::positionHandles();
+
+    if (mDelegated->isSelected())
+    {
+        qreal scaledFrameWidth = mFrameWidth * mAntiScaleRatio;
+
+        int offset = 0;
+        foreach (DelegateButton* button, mButtons)
+        {
+            if (button->getSection() == Qt::TitleBarArea)
+                offset += button->boundingRect().width() * mAntiScaleRatio;
+        }
+
+        mVideoControl->setRect(mVideoControl->rect().x()
+                , scaledFrameWidth/6 - 0.5
+                , (mToolBarItem->rect().width() - 35 - offset) / mAntiScaleRatio 
+                , (2 * scaledFrameWidth) / mAntiScaleRatio);
+
+        offset += (mVideoControl->rect().width() + 5) * mAntiScaleRatio;
+        mMuteButton->setPos(offset, 0);
+
+        if (!mVideoControl->scene())
+        {
+            mVideoControl->setParentItem(mToolBarItem);//update parent for the case the item has been previously removed from scene
+            mDelegated->scene()->addItem(mVideoControl);
+        }
+
+        mVideoControl->setAntiScale(mAntiScaleRatio);
+        mVideoControl->setZValue(delegated()->zValue());
+        mVideoControl->show();
+    }
+    else
+    {
+        mVideoControl->hide();
+    }
+}
+
+
+void UBGraphicsVideoItemDelegate::remove(bool canUndo)
+{
+    if (delegated() && delegated()->mediaObject())
+        delegated()->mediaObject()->stop();
+
+    QGraphicsScene* scene = mDelegated->scene();
+
+    scene->removeItem(mVideoControl);
+
+    UBGraphicsItemDelegate::remove(canUndo);
+}
+
+
+void UBGraphicsVideoItemDelegate::toggleMute()
+{
+    if (delegated()->isMuted())
+        mMuteButton->setFileName(":/images/soundOff.svg");
+    else
+        mMuteButton->setFileName(":/images/soundOn.svg");
+
+}
+
+
+UBGraphicsVideoItem* UBGraphicsVideoItemDelegate::delegated()
+{
+    return static_cast<UBGraphicsVideoItem*>(mDelegated);
+}
+
+
+void UBGraphicsVideoItemDelegate::togglePlayPause()
+{
+    if (delegated() && delegated()->mediaObject()) {
+
+        Phonon::MediaObject* media = delegated()->mediaObject();
+        if (media->state() == Phonon::StoppedState) {
+            media->play();
+        } else if (media->state() == Phonon::PlayingState) {
+            if (media->remainingTime() <= 0) {
+                media->stop();
+                media->play();
+            } else {
+                media->pause();
+                if(delegated()->scene())
+                        delegated()->scene()->setModified(true);
+            }
+        } else if (media->state() == Phonon::PausedState) {
+            if (media->remainingTime() <= 0) {
+                media->stop();
+            }
+            media->play();
+        } else  if ( media->state() == Phonon::LoadingState ) {
+            delegated()->mediaObject()->setCurrentSource(delegated()->mediaFileUrl());
+            media->play();
+        } else if (media->state() == Phonon::ErrorState){
+            qDebug() << "Error appeared." << media->errorString();
+        }
+    }
+}
+
+void UBGraphicsVideoItemDelegate::mediaStateChanged ( Phonon::State newstate, Phonon::State oldstate )
+{
+    Q_UNUSED(newstate);
+    Q_UNUSED(oldstate);
+    updatePlayPauseState();
+}
+
+
+void UBGraphicsVideoItemDelegate::updatePlayPauseState()
+{
+    Phonon::MediaObject* media = delegated()->mediaObject();
+
+    if (media->state() == Phonon::PlayingState)
+        mPlayPauseButton->setFileName(":/images/pause.svg");
+    else
+        mPlayPauseButton->setFileName(":/images/play.svg");
+}
+
+
+void UBGraphicsVideoItemDelegate::updateTicker(qint64 time)
+{
+    Phonon::MediaObject* media = delegated()->mediaObject();
+    mVideoControl->totalTimeChanged(media->totalTime());
+
+    mVideoControl->updateTicker(time);
+}
+
+
+void UBGraphicsVideoItemDelegate::totalTimeChanged(qint64 newTotalTime)
+{
+    mVideoControl->totalTimeChanged(newTotalTime);
+}
+
+
+DelegateVideoControl::DelegateVideoControl(UBGraphicsVideoItem* pDelegated, QGraphicsItem * parent)
+    : QGraphicsRectItem(parent)
+    , mDelegate(pDelegated)
+    , mDisplayCurrentTime(false)
+    , mAntiScale(1.0)
+    , mCurrentTimeInMs(0)
+    , mTotalTimeInMs(0)
+    , mStartWidth(200)
+{
+    setAcceptedMouseButtons(Qt::LeftButton);
+
+    setBrush(QBrush(Qt::white));
+    setPen(Qt::NoPen);
+    setData(UBGraphicsItemData::ItemLayerType, QVariant(UBItemLayerType::Control));
+
+    QRectF rect = this->rect();
+    rect.setWidth(mStartWidth);
+    this->setRect(rect);
+}
+
+
+void DelegateVideoControl::paint(QPainter *painter,
+        const QStyleOptionGraphicsItem *option, QWidget *widget)
+{
+    Q_UNUSED(option);
+    Q_UNUSED(widget);
+
+    painter->fillPath(shape(), brush());
+
+    qreal frameWidth = rect().height() / 2;
+    int position = frameWidth;
+
+    if (mTotalTimeInMs > 0)
+    {
+        position = frameWidth + (rect().width() - (2 * frameWidth)) / mTotalTimeInMs * mCurrentTimeInMs;
+    }
+
+    int radius = rect().height() / 6;
+    QRectF r(rect().x() + position - radius, rect().y() + (rect().height() / 4) - radius, radius * 2, radius * 2);
+
+    painter->setBrush(UBSettings::documentViewLightColor);
+    painter->drawEllipse(r);
+
+    if(mDisplayCurrentTime)
+    {
+        painter->setBrush(UBSettings::paletteColor);
+        painter->setPen(QPen(Qt::NoPen));
+        mBalloon.setRect(rect().x() + position - frameWidth, rect().y() - (frameWidth * 1.2), 2 * frameWidth, frameWidth);
+        painter->drawRoundedRect(mBalloon, frameWidth/2, frameWidth/2);
+
+        QTime t;
+        t = t.addMSecs(mCurrentTimeInMs < 0 ? 0 : mCurrentTimeInMs);
+        QFont f = painter->font();
+            f.setPointSizeF(f.pointSizeF() * mAntiScale);
+        painter->setFont(f);
+        painter->setPen(Qt::white);
+        painter->drawText(mBalloon, Qt::AlignCenter, t.toString("m:ss"));
+    }
+}
+
+
+QPainterPath DelegateVideoControl::shape() const
+{
+    QPainterPath path;
+    QRectF r = rect().adjusted(0,0,0,- rect().height() / 2);
+    path.addRoundedRect(r, rect().height() / 4, rect().height() / 4);
+    return path;
+}
+
+
+void DelegateVideoControl::updateTicker(qint64 time )
+{
+    mCurrentTimeInMs = time;
+    update();
+}
+
+
+void DelegateVideoControl::totalTimeChanged(qint64 newTotalTime)
+{
+    mTotalTimeInMs = newTotalTime;
+    update();
+}
+
+
+void DelegateVideoControl::mousePressEvent(QGraphicsSceneMouseEvent *event)
+{
+    mDisplayCurrentTime = true;
+    seekToMousePos(event->pos());
+    update();
+    event->accept();
+}
+
+
+void DelegateVideoControl::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
+{
+    if (shape().contains(event->pos() - QPointF(mBalloon.width()/2,0)) 
+        && shape().contains(event->pos() + QPointF(mBalloon.width()/2,0)))
+    {   
+        seekToMousePos(event->pos());
+        update();
+        event->accept();
+    }
+}
+
+
+void DelegateVideoControl::seekToMousePos(QPointF mousePos)
+{
+    qreal minX, length;
+    qreal frameWidth = rect().height() / 2;
+
+    minX = rect().x() + frameWidth;
+    length = rect().width() - (2 * frameWidth);
+
+    qreal mouseX = mousePos.x();
+
+    if (mTotalTimeInMs > 0 && length > 0 && mDelegate
+        && mDelegate->mediaObject() && mDelegate->mediaObject()->isSeekable())
+    {
+        qint64 tickPos = mTotalTimeInMs / length * (mouseX - minX);
+        mDelegate->mediaObject()->seek(tickPos);
+
+        //OSX is a bit lazy
+        updateTicker(tickPos);
+    }
+}
+
+void DelegateVideoControl::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
+{
+    mDisplayCurrentTime = false;
+    update();
+    event->accept();
+}
+
+
+
diff --git a/src/domain/UBGraphicsVideoItemDelegate.h b/src/domain/UBGraphicsVideoItemDelegate.h
index 8fd36bcc..66dcd8a8 100644
--- a/src/domain/UBGraphicsVideoItemDelegate.h
+++ b/src/domain/UBGraphicsVideoItemDelegate.h
@@ -1,114 +1,116 @@
-/*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef UBGRAPHICSVIDEOITEMDELEGATE_H_
-#define UBGRAPHICSVIDEOITEMDELEGATE_H_
-
-#include <QtGui>
-#include <phonon/MediaObject>
-
-#include "core/UB.h"
-#include "UBGraphicsItemDelegate.h"
-
-class QGraphicsSceneMouseEvent;
-class QGraphicsItem;
-class UBGraphicsVideoItem;
-
-class DelegateVideoControl: public QGraphicsRectItem
-{
-    public:
-
-        DelegateVideoControl(UBGraphicsVideoItem* pDelegated, QGraphicsItem * parent = 0);
-
-        virtual ~DelegateVideoControl()
-        {
-            // NOOP
-        }
-
-        void paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
-                QWidget *widget);
-
-        QPainterPath shape() const;
-
-        void setAntiScale(qreal antiScale){ mAntiScale = antiScale; }
-
-        virtual void mousePressEvent(QGraphicsSceneMouseEvent *event);
-        virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
-        virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
-
-        void updateTicker(qint64 time);
-        void totalTimeChanged( qint64 newTotalTime);
-
-   protected:
-
-
-        void seekToMousePos(QPointF mousePos);
-
-        UBGraphicsVideoItem* mDelegate;
-        bool mDisplayCurrentTime;
-
-        qreal mAntiScale;
-        qint64 mCurrentTimeInMs;
-        qint64 mTotalTimeInMs;
-
-};
-
-
-class UBGraphicsVideoItemDelegate : public UBGraphicsItemDelegate
-{
-    Q_OBJECT
-
-    public:
-        UBGraphicsVideoItemDelegate(UBGraphicsVideoItem* pDelegated, Phonon::MediaObject* pMedia, QObject * parent = 0);
-        virtual ~UBGraphicsVideoItemDelegate();
-
-        virtual void positionHandles();
-
-    public slots:
-
-        void toggleMute();
-        void updateTicker(qint64 time);
-
-    protected slots:
-
-        virtual void remove(bool canUndo = true);
-
-        void togglePlayPause();
-
-        void mediaStateChanged ( Phonon::State newstate, Phonon::State oldstate );
-
-        void updatePlayPauseState();
-
-        void totalTimeChanged( qint64 newTotalTime);
-
-    protected:
-
-        virtual void buildButtons();
-
-    private:
-
-        UBGraphicsVideoItem* delegated();
-
-        DelegateButton* mPlayPauseButton;
-        DelegateButton* mStopButton;
-        DelegateButton* mMuteButton;
-        DelegateVideoControl *mVideoControl;
-
-        Phonon::MediaObject* mMedia;
-
-};
-
-
-#endif /* UBGRAPHICSVIDEOITEMDELEGATE_H_ */
+/*
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef UBGRAPHICSVIDEOITEMDELEGATE_H_
+#define UBGRAPHICSVIDEOITEMDELEGATE_H_
+
+#include <QtGui>
+#include <phonon/MediaObject>
+
+#include "core/UB.h"
+#include "UBGraphicsItemDelegate.h"
+
+class QGraphicsSceneMouseEvent;
+class QGraphicsItem;
+class UBGraphicsVideoItem;
+
+class DelegateVideoControl: public QGraphicsRectItem
+{
+    public:
+
+        DelegateVideoControl(UBGraphicsVideoItem* pDelegated, QGraphicsItem * parent = 0);
+
+        virtual ~DelegateVideoControl()
+        {
+            // NOOP
+        }
+
+        void paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
+                QWidget *widget);
+
+        QPainterPath shape() const;
+
+        void setAntiScale(qreal antiScale){ mAntiScale = antiScale; }
+
+        virtual void mousePressEvent(QGraphicsSceneMouseEvent *event);
+        virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
+        virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
+
+        void updateTicker(qint64 time);
+        void totalTimeChanged( qint64 newTotalTime);
+
+   protected:
+
+
+        void seekToMousePos(QPointF mousePos);
+
+        UBGraphicsVideoItem* mDelegate;
+        bool mDisplayCurrentTime;
+
+        qreal mAntiScale;
+        qint64 mCurrentTimeInMs;
+        qint64 mTotalTimeInMs;
+
+    private:
+        int mStartWidth;
+        QRectF mBalloon;
+};
+
+
+class UBGraphicsVideoItemDelegate : public UBGraphicsItemDelegate
+{
+    Q_OBJECT
+
+    public:
+        UBGraphicsVideoItemDelegate(UBGraphicsVideoItem* pDelegated, Phonon::MediaObject* pMedia, QObject * parent = 0);
+        virtual ~UBGraphicsVideoItemDelegate();
+
+        virtual void positionHandles();
+
+    public slots:
+
+        void toggleMute();
+        void updateTicker(qint64 time);
+
+    protected slots:
+
+        virtual void remove(bool canUndo = true);
+
+        void togglePlayPause();
+
+        void mediaStateChanged ( Phonon::State newstate, Phonon::State oldstate );
+
+        void updatePlayPauseState();
+
+        void totalTimeChanged( qint64 newTotalTime);
+
+    protected:
+
+        virtual void buildButtons();
+
+    private:
+
+        UBGraphicsVideoItem* delegated();
+
+        DelegateButton* mPlayPauseButton;
+        DelegateButton* mStopButton;
+        DelegateButton* mMuteButton;
+        DelegateVideoControl *mVideoControl;
+
+        Phonon::MediaObject* mMedia;
+};
+
+
+#endif /* UBGRAPHICSVIDEOITEMDELEGATE_H_ */

From 214e0711badf4b12f06163e34ea7f796fde4f5c2 Mon Sep 17 00:00:00 2001
From: Anatoly Mihalchenko <tolik@scand.com>
Date: Thu, 3 May 2012 17:18:49 +0300
Subject: [PATCH 16/31] Some memory-leaks problems detected and fixed

---
 src/adaptors/UBExportCFF.cpp                  |  1 +
 src/board/UBBoardPaletteManager.cpp           | 23 +++++---
 src/board/UBBoardPaletteManager.h             |  8 +++
 src/board/UBFeaturesController.cpp            | 53 +++++++++----------
 src/board/UBFeaturesController.h              |  7 +--
 src/customWidgets/UBActionableWidget.cpp      |  2 +
 src/customWidgets/UBMediaWidget.cpp           |  2 +
 src/domain/UBAbstractUndoCommand.cpp          |  2 +
 src/domain/UBAngleWidget.cpp                  |  2 +
 src/domain/UBGraphicsItemUndoCommand.cpp      |  4 +-
 src/domain/UBGraphicsMediaItem.cpp            |  4 +-
 src/domain/UBGraphicsStrokesGroup.cpp         |  2 +
 src/domain/UBGraphicsTextItemDelegate.cpp     |  3 +-
 src/domain/ubgraphicsgroupcontaineritem.cpp   |  2 +
 .../ubgraphicsgroupcontaineritemdelegate.cpp  |  3 +-
 src/frameworks/UBCoreGraphicsScene.cpp        |  3 +-
 src/gui/UBDockDownloadWidget.cpp              |  2 +
 src/gui/UBDockTeacherGuideWidget.cpp          |  2 +
 src/gui/UBFeaturesActionBar.cpp               |  1 +
 src/gui/UBFeaturesWidget.cpp                  | 39 +++++++++-----
 src/gui/UBFeaturesWidget.h                    |  4 +-
 src/gui/UBLibItemProperties.cpp               |  3 +-
 src/gui/UBLibNavigatorWidget.cpp              |  3 +-
 src/gui/UBLibPathViewer.cpp                   |  3 +-
 src/gui/UBLibWebView.cpp                      |  3 +-
 src/gui/UBLibWidget.cpp                       |  3 +-
 src/gui/UBPageNavigationWidget.cpp            |  3 +-
 src/gui/UBTGWidgetTreeDelegate.cpp            |  2 +
 src/gui/UBTeacherGuideDelegate.cpp            |  1 +
 src/gui/UBTeacherGuideWidget.cpp              |  2 +
 src/gui/UBTeacherGuideWidgetsTools.cpp        |  2 +
 src/pdf-merger/CCITTFaxDecode.cpp             |  2 +
 src/pdf-merger/DCTDecode.cpp                  |  2 +
 src/pdf-merger/JBIG2Decode.cpp                |  1 +
 src/web/UBOEmbedParser.cpp                    |  2 +
 35 files changed, 133 insertions(+), 68 deletions(-)

diff --git a/src/adaptors/UBExportCFF.cpp b/src/adaptors/UBExportCFF.cpp
index 741eb871..bc97a730 100644
--- a/src/adaptors/UBExportCFF.cpp
+++ b/src/adaptors/UBExportCFF.cpp
@@ -3,6 +3,7 @@
 #include "document/UBDocumentProxy.h"
 #include "core/UBDocumentManager.h"
 #include "core/UBApplication.h"
+#include "core/memcheck.h"
 
 
 UBExportCFF::UBExportCFF(QObject *parent)
diff --git a/src/board/UBBoardPaletteManager.cpp b/src/board/UBBoardPaletteManager.cpp
index 51b8622e..980a6911 100644
--- a/src/board/UBBoardPaletteManager.cpp
+++ b/src/board/UBBoardPaletteManager.cpp
@@ -58,10 +58,10 @@
 
 #include "UBBoardController.h"
 
-#include "core/memcheck.h"
-
 #include "document/UBDocumentController.h"
 
+#include "core/memcheck.h"
+
 UBBoardPaletteManager::UBBoardPaletteManager(QWidget* container, UBBoardController* pBoardController)
     : QObject(container)
     , mKeyboardPalette(0)
@@ -81,7 +81,9 @@ UBBoardPaletteManager::UBBoardPaletteManager(QWidget* container, UBBoardControll
     , mPendingPanButtonPressed(false)
     , mPendingEraseButtonPressed(false)
     , mpPageNavigWidget(NULL)
+#ifdef USE_WEB_WIDGET
     , mpLibWidget(NULL)
+#endif
     , mpCachePropWidget(NULL)
     , mpDownloadWidget(NULL)
     , mpDesktopLibWidget(NULL)
@@ -132,7 +134,9 @@ void UBBoardPaletteManager::setupDockPaletteWidgets()
 
     mpPageNavigWidget = new UBPageNavigationWidget();
 
+#ifdef USE_WEB_WIDGET
     mpLibWidget = new UBLibWidget();
+#endif
 
     mpCachePropWidget = new UBCachePropertiesWidget();
 
@@ -159,8 +163,11 @@ void UBBoardPaletteManager::setupDockPaletteWidgets()
 	mRightPalette->addTab(mpFeaturesWidget);
 
     //Do not show deprecated lib widget to prevent collisions. Uncomment to return lib widget
-//    mRightPalette->registerWidget(mpLibWidget);
-//    mRightPalette->addTab(mpLibWidget);
+
+#ifdef USE_WEB_WIDGET
+    mRightPalette->registerWidget(mpLibWidget);
+    mRightPalette->addTab(mpLibWidget);
+#endif
 
 
     // The cache widget will be visible only if a cache is put on the page
@@ -841,10 +848,10 @@ void UBBoardPaletteManager::addItemToLibrary()
         }
         QImage image = mPixmap.toImage();
 
-        if(NULL != mpLibWidget)
-        {
-            mpLibWidget->libNavigator()->libraryWidget()->libraryController()->importImageOnLibrary(image);
-        }
+#ifdef USE_WEB_WIDGET
+        mpLibWidget->libNavigator()->libraryWidget()->libraryController()->importImageOnLibrary(image);
+#endif
+
     }
     else
     {
diff --git a/src/board/UBBoardPaletteManager.h b/src/board/UBBoardPaletteManager.h
index 6a1c60a1..45b982de 100644
--- a/src/board/UBBoardPaletteManager.h
+++ b/src/board/UBBoardPaletteManager.h
@@ -43,6 +43,10 @@ class UBMainWindow;
 class UBApplicationController;
 class UBDockTeacherGuideWidget;
 
+// Uncomment this to use old-styles lib paletter
+// #define USE_WEB_WIDGET
+
+
 class UBBoardPaletteManager : public QObject
 {
     Q_OBJECT
@@ -125,8 +129,12 @@ class UBBoardPaletteManager : public QObject
 
         /** The page navigator widget */
         UBPageNavigationWidget* mpPageNavigWidget;
+        
+#ifdef USE_WEB_WIDGET
         /** The library widget */
         UBLibWidget* mpLibWidget;
+#endif
+
         /** The cache properties widget */
         UBCachePropertiesWidget* mpCachePropWidget;
 
diff --git a/src/board/UBFeaturesController.cpp b/src/board/UBFeaturesController.cpp
index 5ab469a4..0c0679b2 100644
--- a/src/board/UBFeaturesController.cpp
+++ b/src/board/UBFeaturesController.cpp
@@ -18,6 +18,8 @@
 #include "domain/UBGraphicsVideoItem.h"
 #include "domain/UBGraphicsWidgetItem.h"
 
+#include "core/memcheck.h"
+
 UBFeature::UBFeature(const QString &url, const QPixmap &icon, const QString &name, const QString &realPath, UBFeatureElementType type)
 : virtualPath(url), mThumbnail(icon), mName(name), mPath(realPath), elementType(type)
 {
@@ -67,12 +69,10 @@ void UBFeaturesController::initDirectoryTree()
 	mLibShapesDirectoryPath = UBSettings::settings()->applicationShapeLibraryDirectory() ;
 	trashDirectoryPath = UBSettings::userTrashDirPath();
 
-	featuresList = new QList <UBFeature>();
-
 	QList <UBToolsManager::UBToolDescriptor> tools = UBToolsManager::manager()->allTools();
 
-	featuresList->append( UBFeature( QString(), QPixmap( ":images/libpalette/home.png" ), "root", QString() ) );
-	currentElement = featuresList->at(0);
+	featuresList.append( UBFeature( QString(), QPixmap( ":images/libpalette/home.png" ), "root", QString() ) );
+	currentElement = featuresList.at(0);
 	
 	appPath = rootPath + "/Applications";
 	audiosPath = rootPath + "/Audios";
@@ -85,30 +85,30 @@ void UBFeaturesController::initDirectoryTree()
 	favoritePath = rootPath + "/Favorites";
 
 	audiosElement = UBFeature( rootPath, QPixmap(":images/libpalette/AudiosCategory.svg"), "Audios" , mUserAudioDirectoryPath );
-	featuresList->append( audiosElement );
+	featuresList.append( audiosElement );
 	moviesElement = UBFeature( rootPath, QPixmap(":images/libpalette/MoviesCategory.svg"), "Movies" , mUserVideoDirectoryPath );
-	featuresList->append( moviesElement );
+	featuresList.append( moviesElement );
 	picturesElement = UBFeature( rootPath, QPixmap(":images/libpalette/PicturesCategory.svg"), "Pictures" , mUserPicturesDirectoryPath );
-	featuresList->append( picturesElement );
-	featuresList->append( UBFeature( rootPath, QPixmap(":images/libpalette/ApplicationsCategory.svg"), "Applications" , mUserInteractiveDirectoryPath ) );
+	featuresList.append( picturesElement );
+	featuresList.append( UBFeature( rootPath, QPixmap(":images/libpalette/ApplicationsCategory.svg"), "Applications" , mUserInteractiveDirectoryPath ) );
 	flashElement = UBFeature( rootPath, QPixmap(":images/libpalette/FlashCategory.svg"), "Animations" , mUserAnimationDirectoryPath );
-	featuresList->append( flashElement );
+	featuresList.append( flashElement );
 	interactElement = UBFeature( rootPath, QPixmap(":images/libpalette/InteractivesCategory.svg"), "Interactivities" ,  mLibInteractiveDirectoryPath );
-	featuresList->append( interactElement );
-	featuresList->append( UBFeature( rootPath, QPixmap(":images/libpalette/ShapesCategory.svg"), "Shapes" , mLibShapesDirectoryPath ) );
+	featuresList.append( interactElement );
+	featuresList.append( UBFeature( rootPath, QPixmap(":images/libpalette/ShapesCategory.svg"), "Shapes" , mLibShapesDirectoryPath ) );
 	trashElement = UBFeature( rootPath, QPixmap(":images/libpalette/TrashCategory.svg"), "Trash", trashDirectoryPath, FEATURE_TRASH );
-	featuresList->append( trashElement );
+	featuresList.append( trashElement );
 	favoriteElement = UBFeature( rootPath, QPixmap(":images/libpalette/FavoritesCategory.svg"), "Favorites", "favorites", FEATURE_FAVORITE );
-	featuresList->append( favoriteElement );
+	featuresList.append( favoriteElement );
 
 	loadFavoriteList();
 
 	foreach (UBToolsManager::UBToolDescriptor tool, tools)
 	{
-		featuresList->append( UBFeature( appPath, tool.icon, tool.label, tool.id, FEATURE_INTERNAL ) );
-		if ( favoriteSet->find( tool.id ) != favoriteSet->end() )
+		featuresList.append( UBFeature( appPath, tool.icon, tool.label, tool.id, FEATURE_INTERNAL ) );
+		if ( favoriteSet.find( tool.id ) != favoriteSet.end() )
 		{
-			featuresList->append( UBFeature( favoritePath, tool.icon, tool.label, tool.id, FEATURE_INTERNAL ) );
+			featuresList.append( UBFeature( favoritePath, tool.icon, tool.label, tool.id, FEATURE_INTERNAL ) );
 		}
 	}
 	fileSystemScan( mUserInteractiveDirectoryPath, appPath  );
@@ -163,10 +163,10 @@ void UBFeaturesController::fileSystemScan(const QString & currentPath, const QSt
 				icon = QPixmap( thumbnailPath );
 			else icon = createThumbnail( fullFileName );*/
 		}
-		featuresList->append( UBFeature( currVirtualPath, icon, fileName, fullFileName, fileType ) );
-		if ( favoriteSet->find( fullFileName ) != favoriteSet->end() )
+		featuresList.append( UBFeature( currVirtualPath, icon, fileName, fullFileName, fileType ) );
+		if ( favoriteSet.find( fullFileName ) != favoriteSet.end() )
 		{
-			featuresList->append( UBFeature( favoritePath, icon, fileName, fullFileName, fileType ) );
+			featuresList.append( UBFeature( favoritePath, icon, fileName, fullFileName, fileType ) );
 		}
 
 		if ( fileType == FEATURE_FOLDER )
@@ -179,7 +179,6 @@ void UBFeaturesController::fileSystemScan(const QString & currentPath, const QSt
 
 void UBFeaturesController::loadFavoriteList()
 {
-	favoriteSet = new QSet<QString>();
 	QFile file( UBSettings::userDataDirectory() + "/favorites.dat" );
 	if ( file.exists() )
 	{
@@ -196,7 +195,7 @@ void UBFeaturesController::loadFavoriteList()
 
 			UBFeature elem( favoritePath, thumbnailForFile( path ), fileName, path, fileTypeFromUrl(path) );
 			featuresList->append( elem );*/
-			favoriteSet->insert( path );
+			favoriteSet.insert( path );
 		}
 	}
 }
@@ -207,8 +206,8 @@ void UBFeaturesController::saveFavoriteList()
 	file.resize(0);
 	file.open(QIODevice::WriteOnly);
 	QDataStream out(&file);
-	out << favoriteSet->size();
-	for ( QSet<QString>::iterator it = favoriteSet->begin(); it != favoriteSet->end(); ++it )
+	out << favoriteSet.size();
+	for ( QSet<QString>::iterator it = favoriteSet.begin(); it != favoriteSet.end(); ++it )
 	{
 		out << (*it);
 	}
@@ -218,12 +217,12 @@ void UBFeaturesController::saveFavoriteList()
 UBFeature UBFeaturesController::addToFavorite( const QUrl &path )
 {
 	QString filePath = fileNameFromUrl( path );
-	if ( favoriteSet->find( filePath ) == favoriteSet->end() )
+	if ( favoriteSet.find( filePath ) == favoriteSet.end() )
 	{
 		QFileInfo fileInfo( filePath );
 		QString fileName = fileInfo.fileName();
 		UBFeature elem( favoritePath, thumbnailForFile( filePath ), fileName, filePath, fileTypeFromUrl(filePath) );
-		favoriteSet->insert( filePath );
+		favoriteSet.insert( filePath );
 		saveFavoriteList();
 		return elem;
 	}
@@ -233,9 +232,9 @@ UBFeature UBFeaturesController::addToFavorite( const QUrl &path )
 void UBFeaturesController::removeFromFavorite( const QUrl &path )
 {
 	QString filePath = fileNameFromUrl( path );
-	if ( favoriteSet->find( filePath ) != favoriteSet->end() )
+	if ( favoriteSet.find( filePath ) != favoriteSet.end() )
 	{
-		favoriteSet->erase( favoriteSet->find( filePath ) );
+		favoriteSet.erase( favoriteSet.find( filePath ) );
 		saveFavoriteList();
 	}
 }
diff --git a/src/board/UBFeaturesController.h b/src/board/UBFeaturesController.h
index 914b6a7d..163e6c6c 100644
--- a/src/board/UBFeaturesController.h
+++ b/src/board/UBFeaturesController.h
@@ -4,6 +4,7 @@
 #include <QMetaType>
 #include <QObject>
 #include <QWidget>
+#include <QSet>
 #include <QVector>
 #include <QString>
 #include <QPixmap>
@@ -57,7 +58,7 @@ public:
 	UBFeaturesController(QWidget *parentWidget);
     virtual ~UBFeaturesController();
 
-    QList <UBFeature>* getFeatures()const { return featuresList; }
+    const QList <UBFeature>& getFeatures()const { return featuresList; }
 	
     const QString& getRootPath()const { return rootPath; }
 
@@ -87,7 +88,7 @@ private:
 
 	static UBFeatureElementType fileTypeFromUrl( const QString &path );
 
-	QList <UBFeature> *featuresList;
+	QList <UBFeature> featuresList;
 	UBFeature *rootElement;
 
 	QString mUserAudioDirectoryPath;
@@ -128,7 +129,7 @@ private:
 	UBFeature flashElement;
 	UBFeature shapesElement;
 
-	QSet <QString> *favoriteSet;
+	QSet <QString> favoriteSet;
 };
 
 
diff --git a/src/customWidgets/UBActionableWidget.cpp b/src/customWidgets/UBActionableWidget.cpp
index 78d8ea6b..25c1809e 100644
--- a/src/customWidgets/UBActionableWidget.cpp
+++ b/src/customWidgets/UBActionableWidget.cpp
@@ -18,6 +18,8 @@
 
 #include "UBActionableWidget.h"
 
+#include "core/memcheck.h"
+
 UBActionableWidget::UBActionableWidget(QWidget *parent, const char *name):QWidget(parent)
   , mShowActions(false)
 {
diff --git a/src/customWidgets/UBMediaWidget.cpp b/src/customWidgets/UBMediaWidget.cpp
index cbc0b842..cf7f8489 100644
--- a/src/customWidgets/UBMediaWidget.cpp
+++ b/src/customWidgets/UBMediaWidget.cpp
@@ -16,6 +16,8 @@
 #include "globals/UBGlobals.h"
 #include "UBMediaWidget.h"
 
+#include "core/memcheck.h"
+
 /**
   * \brief Constructor
   * @param type as the media type
diff --git a/src/domain/UBAbstractUndoCommand.cpp b/src/domain/UBAbstractUndoCommand.cpp
index fe623acc..fc5d9fdf 100644
--- a/src/domain/UBAbstractUndoCommand.cpp
+++ b/src/domain/UBAbstractUndoCommand.cpp
@@ -15,6 +15,8 @@
 
 #include "UBAbstractUndoCommand.h"
 
+#include "core/memcheck.h"
+
 UBAbstractUndoCommand::UBAbstractUndoCommand()
 {
     // NOOP
diff --git a/src/domain/UBAngleWidget.cpp b/src/domain/UBAngleWidget.cpp
index 542a7eed..7be0bf39 100644
--- a/src/domain/UBAngleWidget.cpp
+++ b/src/domain/UBAngleWidget.cpp
@@ -1,6 +1,8 @@
 #include "UBAngleWidget.h"
 #include <QPainter>
 
+#include "core/memcheck.h"
+
 UBAngleWidget::UBAngleWidget(QWidget *parent)
     : QWidget(parent)
 {
diff --git a/src/domain/UBGraphicsItemUndoCommand.cpp b/src/domain/UBGraphicsItemUndoCommand.cpp
index d027c1f0..bc8c4c82 100644
--- a/src/domain/UBGraphicsItemUndoCommand.cpp
+++ b/src/domain/UBGraphicsItemUndoCommand.cpp
@@ -19,12 +19,12 @@
 
 #include "UBGraphicsScene.h"
 
-#include "core/memcheck.h"
-
 #include "core/UBApplication.h"
 
 #include "board/UBBoardController.h"
 
+#include "core/memcheck.h"
+
 UBGraphicsItemUndoCommand::UBGraphicsItemUndoCommand(UBGraphicsScene* pScene, const QSet<QGraphicsItem*>& pRemovedItems,
         const QSet<QGraphicsItem*>& pAddedItems)
     : mScene(pScene)
diff --git a/src/domain/UBGraphicsMediaItem.cpp b/src/domain/UBGraphicsMediaItem.cpp
index 9342cb66..dd19e275 100644
--- a/src/domain/UBGraphicsMediaItem.cpp
+++ b/src/domain/UBGraphicsMediaItem.cpp
@@ -23,10 +23,10 @@
 
 #include "board/UBBoardController.h"
 
-#include "core/memcheck.h"
-
 #include "frameworks/UBFileSystemUtils.h"
 
+#include "core/memcheck.h"
+
 bool UBGraphicsMediaItem::sIsMutedByDefault = false;
 
 UBGraphicsMediaItem::UBGraphicsMediaItem(const QUrl& pMediaFileUrl, QGraphicsItem *parent)
diff --git a/src/domain/UBGraphicsStrokesGroup.cpp b/src/domain/UBGraphicsStrokesGroup.cpp
index ac7aadf0..a7f658dd 100644
--- a/src/domain/UBGraphicsStrokesGroup.cpp
+++ b/src/domain/UBGraphicsStrokesGroup.cpp
@@ -1,5 +1,7 @@
 #include "UBGraphicsStrokesGroup.h"
 
+#include "core/memcheck.h"
+
 UBGraphicsStrokesGroup::UBGraphicsStrokesGroup(QGraphicsItem *parent):QGraphicsItemGroup(parent)
 {
     mDelegate = new UBGraphicsItemDelegate(this, 0, true, true);
diff --git a/src/domain/UBGraphicsTextItemDelegate.cpp b/src/domain/UBGraphicsTextItemDelegate.cpp
index 8c132325..2a911fbf 100644
--- a/src/domain/UBGraphicsTextItemDelegate.cpp
+++ b/src/domain/UBGraphicsTextItemDelegate.cpp
@@ -24,9 +24,10 @@
 #include "domain/UBGraphicsDelegateFrame.h"
 #include "core/UBSettings.h"
 
-#include "core/memcheck.h"
 #include "board/UBBoardController.h"
 
+#include "core/memcheck.h"
+
 const int UBGraphicsTextItemDelegate::sMinPixelSize = 8;
 const int UBGraphicsTextItemDelegate::sMinPointSize = 8;
 
diff --git a/src/domain/ubgraphicsgroupcontaineritem.cpp b/src/domain/ubgraphicsgroupcontaineritem.cpp
index 0a706099..22990d79 100644
--- a/src/domain/ubgraphicsgroupcontaineritem.cpp
+++ b/src/domain/ubgraphicsgroupcontaineritem.cpp
@@ -6,6 +6,8 @@
 #include "domain/ubgraphicsgroupcontaineritemdelegate.h"
 #include "domain/UBGraphicsScene.h"
 
+#include "core/memcheck.h"
+
 UBGraphicsGroupContainerItem::UBGraphicsGroupContainerItem(QGraphicsItem *parent)
     : QGraphicsItemGroup(parent)
 {
diff --git a/src/domain/ubgraphicsgroupcontaineritemdelegate.cpp b/src/domain/ubgraphicsgroupcontaineritemdelegate.cpp
index ff763520..19997a2b 100644
--- a/src/domain/ubgraphicsgroupcontaineritemdelegate.cpp
+++ b/src/domain/ubgraphicsgroupcontaineritemdelegate.cpp
@@ -8,9 +8,10 @@
 #include "domain/UBGraphicsDelegateFrame.h"
 #include "domain/ubgraphicsgroupcontaineritem.h"
 
-#include "core/memcheck.h"
 #include "board/UBBoardController.h"
 
+#include "core/memcheck.h"
+
 UBGraphicsGroupContainerItemDelegate::UBGraphicsGroupContainerItemDelegate(QGraphicsItem *pDelegated, QObject *parent) :
     UBGraphicsItemDelegate(pDelegated, parent), mDestroyGroupButton(0)
 
diff --git a/src/frameworks/UBCoreGraphicsScene.cpp b/src/frameworks/UBCoreGraphicsScene.cpp
index 68ffed2d..9eb68db7 100644
--- a/src/frameworks/UBCoreGraphicsScene.cpp
+++ b/src/frameworks/UBCoreGraphicsScene.cpp
@@ -15,12 +15,13 @@
 
 #include "UBCoreGraphicsScene.h"
 
-#include "core/memcheck.h"
 #include "domain/UBGraphicsAudioItem.h"
 #include "domain/UBGraphicsVideoItem.h"
 #include "domain/UBGraphicsMediaItem.h"
 #include "domain/UBGraphicsWidgetItem.h"
 
+#include "core/memcheck.h"
+
 UBCoreGraphicsScene::UBCoreGraphicsScene(QObject * parent)
     : QGraphicsScene ( parent  )
 {
diff --git a/src/gui/UBDockDownloadWidget.cpp b/src/gui/UBDockDownloadWidget.cpp
index 4ce9d07e..a09ab966 100644
--- a/src/gui/UBDockDownloadWidget.cpp
+++ b/src/gui/UBDockDownloadWidget.cpp
@@ -17,6 +17,8 @@
 
 #include "globals/UBGlobals.h"
 
+#include "core/memcheck.h"
+
 UBDockDownloadWidget::UBDockDownloadWidget(QWidget *parent, const char *name):UBDockPaletteWidget(parent, name)
   , mpLayout(NULL)
   , mpDLWidget(NULL)
diff --git a/src/gui/UBDockTeacherGuideWidget.cpp b/src/gui/UBDockTeacherGuideWidget.cpp
index f8ad4f43..0c4d5c4a 100644
--- a/src/gui/UBDockTeacherGuideWidget.cpp
+++ b/src/gui/UBDockTeacherGuideWidget.cpp
@@ -19,6 +19,8 @@
 #include "UBDockTeacherGuideWidget.h"
 #include "UBTeacherGuideWidget.h"
 
+#include "core/memcheck.h"
+
 
 UBDockTeacherGuideWidget::UBDockTeacherGuideWidget(QWidget* parent, const char* name):
     UBDockPaletteWidget(parent,name)
diff --git a/src/gui/UBFeaturesActionBar.cpp b/src/gui/UBFeaturesActionBar.cpp
index 09b7af82..ac009c48 100644
--- a/src/gui/UBFeaturesActionBar.cpp
+++ b/src/gui/UBFeaturesActionBar.cpp
@@ -1,4 +1,5 @@
 #include "UBFeaturesActionBar.h"
+#include "core/memcheck.h"
 
 UBFeaturesActionBar::UBFeaturesActionBar( UBFeaturesController *controller, QWidget* parent, const char* name ) : QWidget (parent)
 	, featuresController(controller)
diff --git a/src/gui/UBFeaturesWidget.cpp b/src/gui/UBFeaturesWidget.cpp
index 58a691ae..f7492339 100644
--- a/src/gui/UBFeaturesWidget.cpp
+++ b/src/gui/UBFeaturesWidget.cpp
@@ -6,6 +6,7 @@
 #include "core/UBApplication.h"
 #include "core/UBDownloadManager.h"
 #include "globals/UBGlobals.h"
+#include "core/memcheck.h"
 
 UBFeaturesWidget::UBFeaturesWidget(QWidget *parent, const char *name):UBDockPaletteWidget(parent)
 {
@@ -500,6 +501,16 @@ void UBFeatureProperties::onAddToPage()
 
 UBFeatureProperties::~UBFeatureProperties()
 {
+	if ( mpOrigPixmap )
+    {
+        delete mpOrigPixmap;
+        mpOrigPixmap = NULL;
+    }
+	if ( mpElement )
+	{
+		delete mpElement;
+		mpElement = NULL;
+	}
 }
 
 UBFeatureItemButton::UBFeatureItemButton(QWidget *parent, const char *name):QPushButton(parent)
@@ -519,19 +530,19 @@ QVariant UBFeaturesModel::data(const QModelIndex &index, int role) const
         return QVariant();
 
 	if (role == Qt::DisplayRole)
-		return featuresList->at(index.row()).getName();
+		return featuresList.at(index.row()).getName();
 	else if (role == Qt::DecorationRole)
 	{
-		return QIcon( featuresList->at(index.row()).getThumbnail() );
+		return QIcon( featuresList.at(index.row()).getThumbnail() );
 	}
 	else if (role == Qt::UserRole)
 	{
-		return featuresList->at(index.row()).getUrl();
+		return featuresList.at(index.row()).getUrl();
 	}
 	else if (role == Qt::UserRole + 1)
 	{
 		//return featuresList->at(index.row()).getType();
-		UBFeature f = featuresList->at(index.row());
+		UBFeature f = featuresList.at(index.row());
 		return QVariant::fromValue( f );
 	}
 
@@ -607,17 +618,17 @@ bool UBFeaturesModel::dropMimeData(const QMimeData *mimeData, Qt::DropAction act
 
 void UBFeaturesModel::addItem( const UBFeature &item )
 {
-	beginInsertRows( QModelIndex(), featuresList->size(), featuresList->size() );
-	featuresList->push_back( item );
+	beginInsertRows( QModelIndex(), featuresList.size(), featuresList.size() );
+	featuresList.push_back( item );
 	endInsertRows();
 }
 
 void UBFeaturesModel::deleteFavoriteItem( const QString &path )
 {
-	for ( int i = 0; i < featuresList->size(); ++i )
+	for ( int i = 0; i < featuresList.size(); ++i )
 	{
-		if ( !QString::compare( featuresList->at(i).getFullPath(), path, Qt::CaseInsensitive ) &&
-			!QString::compare( featuresList->at(i).getUrl(), "/root/favorites", Qt::CaseInsensitive ) )
+		if ( !QString::compare( featuresList.at(i).getFullPath(), path, Qt::CaseInsensitive ) &&
+			!QString::compare( featuresList.at(i).getUrl(), "/root/favorites", Qt::CaseInsensitive ) )
 		{
 			removeRow( i, QModelIndex() );
 			return;
@@ -629,11 +640,11 @@ bool UBFeaturesModel::removeRows( int row, int count, const QModelIndex & parent
 {
 	if ( row < 0 )
 		return false;
-	if ( row + count > featuresList->size() )
+	if ( row + count > featuresList.size() )
 		return false;
 	beginRemoveRows( parent, row, row + count - 1 );
 	//featuresList->remove( row, count );
-	featuresList->erase( featuresList->begin() + row, featuresList->begin() + row + count );
+	featuresList.erase( featuresList.begin() + row, featuresList.begin() + row + count );
 	endRemoveRows();
 	return true;
 }
@@ -642,11 +653,11 @@ bool UBFeaturesModel::removeRow(  int row, const QModelIndex & parent )
 {
 	if ( row < 0 )
 		return false;
-	if ( row >= featuresList->size() )
+	if ( row >= featuresList.size() )
 		return false;
 	beginRemoveRows( parent, row, row );
 	//featuresList->remove( row );
-	featuresList->erase( featuresList->begin() + row );
+	featuresList.erase( featuresList.begin() + row );
 	endRemoveRows();
 	return true;
 }
@@ -698,7 +709,7 @@ int UBFeaturesModel::rowCount(const QModelIndex &parent) const
 	if (parent.isValid())
         return 0;
     else
-        return featuresList->size();
+        return featuresList.size();
 }
 
 
diff --git a/src/gui/UBFeaturesWidget.h b/src/gui/UBFeaturesWidget.h
index 5c9762c6..7e19cb47 100644
--- a/src/gui/UBFeaturesWidget.h
+++ b/src/gui/UBFeaturesWidget.h
@@ -181,9 +181,9 @@ public:
 	
     Qt::DropActions supportedDropActions() const { return Qt::MoveAction | Qt::CopyAction; }
 
-    void setFeaturesList( QList <UBFeature> *flist ) { featuresList = flist; }
+    void setFeaturesList(const QList <UBFeature> &flist ) { featuresList = flist; }
 private:
-	QList <UBFeature> *featuresList;
+	QList <UBFeature> featuresList;
 };
 
 class UBFeaturesProxyModel : public QSortFilterProxyModel
diff --git a/src/gui/UBLibItemProperties.cpp b/src/gui/UBLibItemProperties.cpp
index 4d2eada3..86c9233d 100644
--- a/src/gui/UBLibItemProperties.cpp
+++ b/src/gui/UBLibItemProperties.cpp
@@ -18,12 +18,13 @@
 
 #include "core/UBApplication.h"
 #include "core/UBDownloadManager.h"
-#include "core/memcheck.h"
 
 #include "frameworks/UBFileSystemUtils.h"
 
 #include "globals/UBGlobals.h"
 
+#include "core/memcheck.h"
+
 
 /**
  * \brief Constructor
diff --git a/src/gui/UBLibNavigatorWidget.cpp b/src/gui/UBLibNavigatorWidget.cpp
index 5974c4ea..d7b50551 100644
--- a/src/gui/UBLibNavigatorWidget.cpp
+++ b/src/gui/UBLibNavigatorWidget.cpp
@@ -16,10 +16,11 @@
 #include "UBLibWidget.h"
 
 #include "core/UBApplication.h"
-#include "core/memcheck.h"
 
 #include "globals/UBGlobals.h"
 
+#include "core/memcheck.h"
+
 static int lowBoundForSlider = 40;
 static int topBoundForSlider = 120;
 static int tickIntervalForSlider = 10;
diff --git a/src/gui/UBLibPathViewer.cpp b/src/gui/UBLibPathViewer.cpp
index fe31b290..9ca91d82 100644
--- a/src/gui/UBLibPathViewer.cpp
+++ b/src/gui/UBLibPathViewer.cpp
@@ -20,10 +20,11 @@
 #include "core/UBApplication.h"
 #include "board/UBBoardController.h"
 
-#include "core/memcheck.h"
 #include "core/UBDownloadManager.h"
 #include "board/UBBoardPaletteManager.h"
 
+#include "core/memcheck.h"
+
 /**
  * \brief Constructor
  * @param parent as the parent widget
diff --git a/src/gui/UBLibWebView.cpp b/src/gui/UBLibWebView.cpp
index ac6e11a5..a70cbcdc 100644
--- a/src/gui/UBLibWebView.cpp
+++ b/src/gui/UBLibWebView.cpp
@@ -1,7 +1,6 @@
 #include <QDomDocument>
 
 #include "core/UBApplication.h"
-#include "core/memcheck.h"
 
 #include "board/UBBoardController.h"
 
@@ -9,7 +8,7 @@
 
 #include "UBLibWebView.h"
 
-
+#include "core/memcheck.h"
 
 UBLibWebView::UBLibWebView(QWidget* parent, const char* name):QWidget(parent)
     , mpView(NULL)
diff --git a/src/gui/UBLibWidget.cpp b/src/gui/UBLibWidget.cpp
index 9765bae4..5fbfad49 100644
--- a/src/gui/UBLibWidget.cpp
+++ b/src/gui/UBLibWidget.cpp
@@ -17,10 +17,11 @@
 #include "UBLibWidget.h"
 
 #include "core/UBApplication.h"
-#include "core/memcheck.h"
 
 #include "globals/UBGlobals.h"
 
+#include "core/memcheck.h"
+
 /**
  * \brief Constructor
  * @param parent as the parent widget
diff --git a/src/gui/UBPageNavigationWidget.cpp b/src/gui/UBPageNavigationWidget.cpp
index 6ff72dd8..4d751ccd 100644
--- a/src/gui/UBPageNavigationWidget.cpp
+++ b/src/gui/UBPageNavigationWidget.cpp
@@ -14,12 +14,13 @@
  */
 #include "UBPageNavigationWidget.h"
 #include "core/UBApplication.h"
-#include "core/memcheck.h"
 
 #include "board/UBBoardController.h"
 
 #include "globals/UBGlobals.h"
 
+#include "core/memcheck.h"
+
 /**
  * \brief Constructor
  * @param parent as the parent widget
diff --git a/src/gui/UBTGWidgetTreeDelegate.cpp b/src/gui/UBTGWidgetTreeDelegate.cpp
index 928beac9..1b3754f6 100644
--- a/src/gui/UBTGWidgetTreeDelegate.cpp
+++ b/src/gui/UBTGWidgetTreeDelegate.cpp
@@ -7,6 +7,8 @@
 #include <QModelIndex>
 #include "UBTGWidgetTreeDelegate.h"
 
+#include "core/memcheck.h"
+
 UBTGWidgetTreeDelegate::UBTGWidgetTreeDelegate(QObject *parent) :
     QStyledItemDelegate(parent)
 {
diff --git a/src/gui/UBTeacherGuideDelegate.cpp b/src/gui/UBTeacherGuideDelegate.cpp
index 33dba6fe..fd98606a 100644
--- a/src/gui/UBTeacherGuideDelegate.cpp
+++ b/src/gui/UBTeacherGuideDelegate.cpp
@@ -1,4 +1,5 @@
 #include "UBTeacherGuideDelegate.h"
+#include "core/memcheck.h"
 
 UBTeacherGuideDelegate::UBTeacherGuideDelegate()
 {
diff --git a/src/gui/UBTeacherGuideWidget.cpp b/src/gui/UBTeacherGuideWidget.cpp
index 9fc0fdcd..1d571274 100644
--- a/src/gui/UBTeacherGuideWidget.cpp
+++ b/src/gui/UBTeacherGuideWidget.cpp
@@ -40,6 +40,8 @@
 #include "document/UBDocumentProxy.h"
 #include "document/UBDocumentController.h"
 
+#include "core/memcheck.h"
+
 #define UBTG_SEPARATOR_FIXED_HEIGHT 3
 
 
diff --git a/src/gui/UBTeacherGuideWidgetsTools.cpp b/src/gui/UBTeacherGuideWidgetsTools.cpp
index 73b89276..adf91d11 100644
--- a/src/gui/UBTeacherGuideWidgetsTools.cpp
+++ b/src/gui/UBTeacherGuideWidgetsTools.cpp
@@ -32,6 +32,8 @@
 
 #include "frameworks/UBFileSystemUtils.h"
 
+#include "core/memcheck.h"
+
 
 /***************************************************************************
  *                             class    UBAddItem                          *
diff --git a/src/pdf-merger/CCITTFaxDecode.cpp b/src/pdf-merger/CCITTFaxDecode.cpp
index 1b9310c9..5c1ab0af 100644
--- a/src/pdf-merger/CCITTFaxDecode.cpp
+++ b/src/pdf-merger/CCITTFaxDecode.cpp
@@ -16,6 +16,8 @@
 #include <QtGlobal>
 #include "CCITTFaxDecode.h"
 
+#include "core/memcheck.h"
+
 using namespace merge_lib;
 
 bool CCITTFaxDecode::encode(std::string & decoded)
diff --git a/src/pdf-merger/DCTDecode.cpp b/src/pdf-merger/DCTDecode.cpp
index 603926c5..392c4862 100644
--- a/src/pdf-merger/DCTDecode.cpp
+++ b/src/pdf-merger/DCTDecode.cpp
@@ -16,6 +16,8 @@
 #include <QtGlobal>
 #include "DCTDecode.h"
 
+#include "core/memcheck.h"
+
 using namespace merge_lib;
 
 bool DCTDecode::encode(std::string & decoded)
diff --git a/src/pdf-merger/JBIG2Decode.cpp b/src/pdf-merger/JBIG2Decode.cpp
index 6ef248d0..f6e601de 100644
--- a/src/pdf-merger/JBIG2Decode.cpp
+++ b/src/pdf-merger/JBIG2Decode.cpp
@@ -15,6 +15,7 @@
 
 #include <QtGlobal>
 #include "JBIG2Decode.h"
+#include "core/memcheck.h"
 
 using namespace merge_lib;
 
diff --git a/src/web/UBOEmbedParser.cpp b/src/web/UBOEmbedParser.cpp
index 1cb8e1f8..786d2883 100644
--- a/src/web/UBOEmbedParser.cpp
+++ b/src/web/UBOEmbedParser.cpp
@@ -24,6 +24,8 @@
 
 #include "UBOEmbedParser.h"
 
+#include "core/memcheck.h"
+
 UBOEmbedParser::UBOEmbedParser(QObject *parent, const char* name)
 {
     Q_UNUSED(parent);

From ffc9b5c346f63a4a8551df1c701d7dc7499b4900 Mon Sep 17 00:00:00 2001
From: Anna Udovichenko <anuta.udovichenko@gmail.com>
Date: Thu, 3 May 2012 18:14:20 +0300
Subject: [PATCH 17/31] Web search partially implemented

---
 resources/style.qss                |   7 ++
 src/board/UBFeaturesController.cpp |  16 +++--
 src/board/UBFeaturesController.h   |   5 +-
 src/gui/UBFeaturesWidget.cpp       | 105 +++++++++++++++++++++++++++++
 src/gui/UBFeaturesWidget.h         |  24 +++++++
 5 files changed, 152 insertions(+), 5 deletions(-)

diff --git a/resources/style.qss b/resources/style.qss
index 31f1e671..29505cea 100644
--- a/resources/style.qss
+++ b/resources/style.qss
@@ -26,6 +26,13 @@ QWidget#UBLibWebView
 	border: 2px solid #999999;
 }
 
+QWidget#UBFeaturesWebView
+{
+	background: #EEEEEE;
+	border-radius : 10px;
+	border: 2px solid #999999;
+}
+
 QListView
 {
 	background: #EEEEEE;
diff --git a/src/board/UBFeaturesController.cpp b/src/board/UBFeaturesController.cpp
index 5ab469a4..e25893d8 100644
--- a/src/board/UBFeaturesController.cpp
+++ b/src/board/UBFeaturesController.cpp
@@ -65,6 +65,7 @@ void UBFeaturesController::initDirectoryTree()
 	mLibInteractiveDirectoryPath = UBSettings::settings()->applicationInteractivesDirectory();
 	mLibApplicationsDirectoryPath = UBSettings::settings()->applicationApplicationsLibraryDirectory();
 	mLibShapesDirectoryPath = UBSettings::settings()->applicationShapeLibraryDirectory() ;
+	mLibSearchDirectoryPath = UBSettings::settings()->userSearchDirectory();
 	trashDirectoryPath = UBSettings::userTrashDirPath();
 
 	featuresList = new QList <UBFeature>();
@@ -100,7 +101,8 @@ void UBFeaturesController::initDirectoryTree()
 	featuresList->append( trashElement );
 	favoriteElement = UBFeature( rootPath, QPixmap(":images/libpalette/FavoritesCategory.svg"), "Favorites", "favorites", FEATURE_FAVORITE );
 	featuresList->append( favoriteElement );
-
+	searchElement = UBFeature( rootPath, QPixmap(":images/libpalette/WebSearchCategory.svg"), "Web search", mLibSearchDirectoryPath );
+	featuresList->append( searchElement );
 	loadFavoriteList();
 
 	foreach (UBToolsManager::UBToolDescriptor tool, tools)
@@ -122,7 +124,7 @@ void UBFeaturesController::initDirectoryTree()
 	fileSystemScan( mLibShapesDirectoryPath, shapesPath  );
 	fileSystemScan( mLibInteractiveDirectoryPath, interactPath  );
 	fileSystemScan( trashDirectoryPath, trashPath );
-
+	fileSystemScan( mLibSearchDirectoryPath, rootPath + "/" + "Web search" );
 	
 
 }
@@ -137,8 +139,14 @@ void UBFeaturesController::fileSystemScan(const QString & currentPath, const QSt
 		UBFeatureElementType fileType = fileInfo->isDir() ? FEATURE_FOLDER : FEATURE_ITEM;
 
         QString fileName = fileInfo->fileName();
-        if ( UBFileSystemUtils::mimeTypeFromFileName(fileName).contains("application") ) {
-            fileType = FEATURE_INTERACTIVE;
+        if ( UBFileSystemUtils::mimeTypeFromFileName(fileName).contains("application") ) 
+		{
+			if ( UBFileSystemUtils::mimeTypeFromFileName(fileName).contains("application/search") )
+			{
+				fileType = FEATURE_SEARCH;
+			}
+			else
+             fileType = FEATURE_INTERACTIVE;
         }
 		QString itemName = (fileType != FEATURE_ITEM) ? fileName : fileInfo->completeBaseName();
 		QPixmap icon = QPixmap(":images/libpalette/soundIcon.svg");
diff --git a/src/board/UBFeaturesController.h b/src/board/UBFeaturesController.h
index 914b6a7d..08e59453 100644
--- a/src/board/UBFeaturesController.h
+++ b/src/board/UBFeaturesController.h
@@ -19,7 +19,8 @@ enum UBFeatureElementType
 	FEATURE_INTERNAL,
     FEATURE_ITEM,
 	FEATURE_TRASH,
-	FEATURE_FAVORITE
+	FEATURE_FAVORITE,
+	FEATURE_SEARCH
 };
 
 class UBFeature
@@ -105,6 +106,7 @@ private:
 	QString mLibApplicationsDirectoryPath;
 	QString mLibShapesDirectoryPath;
 	QString trashDirectoryPath;
+	QString mLibSearchDirectoryPath;
 
 	QString rootPath;
 	QString audiosPath;
@@ -127,6 +129,7 @@ private:
 	UBFeature interactElement;
 	UBFeature flashElement;
 	UBFeature shapesElement;
+	UBFeature searchElement;
 
 	QSet <QString> *favoriteSet;
 };
diff --git a/src/gui/UBFeaturesWidget.cpp b/src/gui/UBFeaturesWidget.cpp
index 58a691ae..af4c74e7 100644
--- a/src/gui/UBFeaturesWidget.cpp
+++ b/src/gui/UBFeaturesWidget.cpp
@@ -1,3 +1,5 @@
+#include <QDomDocument>
+
 #include "UBFeaturesWidget.h"
 #include "domain/UBAbstractWidget.h"
 #include "gui/UBThumbnailWidget.h"
@@ -6,6 +8,7 @@
 #include "core/UBApplication.h"
 #include "core/UBDownloadManager.h"
 #include "globals/UBGlobals.h"
+#include "board/UBBoardController.h"
 
 UBFeaturesWidget::UBFeaturesWidget(QWidget *parent, const char *name):UBDockPaletteWidget(parent)
 {
@@ -82,6 +85,7 @@ UBFeaturesWidget::UBFeaturesWidget(QWidget *parent, const char *name):UBDockPale
 	pathScene = new QGraphicsScene(this);
 	//pathViewer = new UBFeaturesPathViewer( QPixmap(":images/libpalette/home.png"), controller->getRootPath(), pathScene,  this );
 	featureProperties = new UBFeatureProperties(this);
+	webView = new UBFeaturesWebView(this);
 	
 	//layout->addWidget( pathViewer );
 	//pathViewer->show();
@@ -91,6 +95,7 @@ UBFeaturesWidget::UBFeaturesWidget(QWidget *parent, const char *name):UBDockPale
 
 	stackedWidget->addWidget( featuresListView );
 	stackedWidget->addWidget( featureProperties );
+	stackedWidget->addWidget( webView );
 	stackedWidget->setCurrentIndex(ID_LISTVIEW);
     currentStackedWidget = ID_LISTVIEW;
 
@@ -183,6 +188,11 @@ void UBFeaturesWidget::currentSelected(const QModelIndex &current)
 				mActionBar->setCurrentState( IN_FOLDER );
 			}
 		}
+		else if ( feature.getType() == FEATURE_SEARCH )
+		{
+			webView->showElement( feature );
+			switchToWebView();
+		}
 		else
 		{
 			featureProperties->showElement( feature );
@@ -307,6 +317,11 @@ void UBFeaturesWidget::switchToProperties()
 	currentStackedWidget = ID_PROPERTIES;
 }
 
+void UBFeaturesWidget::switchToWebView()
+{
+	stackedWidget->setCurrentIndex(ID_WEBVIEW);
+	currentStackedWidget = ID_WEBVIEW;
+}
 
 /*
 
@@ -375,6 +390,96 @@ void UBFeaturesListView::dropEvent( QDropEvent *event )
 }
 
 
+UBFeaturesWebView::UBFeaturesWebView(QWidget* parent, const char* name):QWidget(parent)
+    , mpView(NULL)
+    , mpWebSettings(NULL)
+    , mpLayout(NULL)
+    , mpSankoreAPI(NULL)
+{
+    setObjectName(name);
+
+    SET_STYLE_SHEET();
+
+    mpLayout = new QVBoxLayout();
+    setLayout(mpLayout);
+
+    mpView = new QWebView(this);
+    mpView->setObjectName("SearchEngineView");
+    mpSankoreAPI = new UBWidgetUniboardAPI(UBApplication::boardController->activeScene());
+    mpView->page()->mainFrame()->addToJavaScriptWindowObject("sankore", mpSankoreAPI);
+
+    mpWebSettings = QWebSettings::globalSettings();
+    mpWebSettings->setAttribute(QWebSettings::JavaEnabled, true);
+    mpWebSettings->setAttribute(QWebSettings::PluginsEnabled, true);
+    mpWebSettings->setAttribute(QWebSettings::LocalStorageDatabaseEnabled, true);
+    mpWebSettings->setAttribute(QWebSettings::OfflineWebApplicationCacheEnabled, true);
+    mpWebSettings->setAttribute(QWebSettings::OfflineStorageDatabaseEnabled, true);
+    mpWebSettings->setAttribute(QWebSettings::JavascriptCanAccessClipboard, true);
+    mpWebSettings->setAttribute(QWebSettings::DnsPrefetchEnabled, true);
+
+    mpLayout->addWidget(mpView);
+
+    connect(mpView, SIGNAL(loadFinished(bool)), this, SLOT(onLoadFinished(bool)));
+}
+
+UBFeaturesWebView::~UBFeaturesWebView()
+{
+    if(NULL != mpSankoreAPI){
+        delete mpSankoreAPI;
+        mpSankoreAPI = NULL;
+    }
+    if(NULL != mpView){
+        delete mpView;
+        mpView = NULL;
+    }
+    if(NULL != mpLayout){
+        delete mpLayout;
+        mpLayout = NULL;
+    }
+}
+
+void UBFeaturesWebView::showElement(const UBFeature &elem)
+{
+	QString qsWidgetName;
+	QString path = elem.getFullPath();
+
+	QString qsConfigPath = QString("%0/config.xml").arg(path);
+
+	if(QFile::exists(qsConfigPath))
+	{
+		QFile f(qsConfigPath);
+		if(f.open(QIODevice::ReadOnly))
+		{
+			QDomDocument domDoc;
+			domDoc.setContent(QString(f.readAll()));
+			QDomElement root = domDoc.documentElement();
+
+			QDomNode node = root.firstChild();
+			while(!node.isNull())
+			{
+				if(node.toElement().tagName() == "content")
+				{
+					QDomAttr srcAttr = node.toElement().attributeNode("src");
+					qsWidgetName = srcAttr.value();
+					break;
+				}
+				node = node.nextSibling();
+			}
+			f.close();
+		}
+	}
+
+	mpView->load(QUrl::fromLocalFile(QString("%0/%1").arg(path).arg(qsWidgetName)));    
+}
+
+void UBFeaturesWebView::onLoadFinished(bool ok)
+{
+    if(ok && NULL != mpSankoreAPI){
+        mpView->page()->mainFrame()->addToJavaScriptWindowObject("sankore", mpSankoreAPI);
+    }
+}
+
+
 UBFeatureProperties::UBFeatureProperties( QWidget *parent, const char *name ) : QWidget(parent)
     , mpLayout(NULL)
     , mpButtonLayout(NULL)
diff --git a/src/gui/UBFeaturesWidget.h b/src/gui/UBFeaturesWidget.h
index 5c9762c6..ff66c14e 100644
--- a/src/gui/UBFeaturesWidget.h
+++ b/src/gui/UBFeaturesWidget.h
@@ -18,6 +18,7 @@
 #include "UBDockPaletteWidget.h"
 //#include "UBLibActionBar.h"
 #include "board/UBFeaturesController.h"
+#include "api/UBWidgetUniboardAPI.h"
 #include "UBFeaturesActionBar.h"
 #include "UBRubberBand.h"
 
@@ -25,6 +26,7 @@
 #define THUMBNAIL_WIDTH 400
 #define ID_LISTVIEW 0
 #define ID_PROPERTIES 1
+#define ID_WEBVIEW 2
 
 class UBListModel;
 
@@ -38,6 +40,7 @@ class UBFeaturesPathViewer;
 class UBFeatureProperties;
 class UBFeatureItemButton;
 class UBFeaturesListView;
+class UBFeaturesWebView;
 
 class UBFeaturesWidget : public UBDockPaletteWidget
 {
@@ -59,6 +62,7 @@ public:
 private:
 	void switchToListView();
 	void switchToProperties();
+	void switchToWebView();
 
 	UBFeaturesController *controller;
 	
@@ -79,7 +83,9 @@ private:
 	QGraphicsScene *pathScene;
 	UBFeaturesActionBar *mActionBar;
 	UBFeatureProperties *featureProperties;
+	UBFeaturesWebView *webView;
 	QStackedWidget *stackedWidget;
+	
 
 	int currentStackedWidget;
 	QModelIndex trashIndex;
@@ -114,6 +120,24 @@ private:
 	//QPoint rubberOrigin;
 };
 
+class UBFeaturesWebView : public QWidget
+{
+    Q_OBJECT
+public:
+    UBFeaturesWebView(QWidget* parent = 0, const char* name = "UBFeaturesWebView");
+    ~UBFeaturesWebView();
+
+    void showElement(const UBFeature &elem);
+
+private slots:
+    void onLoadFinished(bool ok);
+
+private:
+    QWebView* mpView;
+    QWebSettings* mpWebSettings;
+    QVBoxLayout* mpLayout;
+    UBWidgetUniboardAPI* mpSankoreAPI;
+};
 
 class UBFeatureProperties : public QWidget
 {

From 812c3cafce538d542da618ec09926ef03f180a85 Mon Sep 17 00:00:00 2001
From: Anna Udovichenko <anuta.udovichenko@gmail.com>
Date: Thu, 3 May 2012 19:42:51 +0300
Subject: [PATCH 18/31] fixed not worked features widget

---
 src/board/UBFeaturesController.h | 6 +++---
 src/gui/UBFeaturesWidget.h       | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/board/UBFeaturesController.h b/src/board/UBFeaturesController.h
index 5b56d8c4..92008227 100644
--- a/src/board/UBFeaturesController.h
+++ b/src/board/UBFeaturesController.h
@@ -59,7 +59,7 @@ public:
 	UBFeaturesController(QWidget *parentWidget);
     virtual ~UBFeaturesController();
 
-    const QList <UBFeature>& getFeatures()const { return featuresList; }
+    QList <UBFeature>* getFeatures()const { return featuresList; }
 	
     const QString& getRootPath()const { return rootPath; }
 
@@ -89,7 +89,7 @@ private:
 
 	static UBFeatureElementType fileTypeFromUrl( const QString &path );
 
-	QList <UBFeature> featuresList;
+	QList <UBFeature> *featuresList;
 	UBFeature *rootElement;
 
 	QString mUserAudioDirectoryPath;
@@ -132,7 +132,7 @@ private:
 	UBFeature shapesElement;
 	UBFeature searchElement;
 
-	QSet <QString> favoriteSet;
+	QSet <QString> *favoriteSet;
 };
 
 
diff --git a/src/gui/UBFeaturesWidget.h b/src/gui/UBFeaturesWidget.h
index 614c0335..faaea0c4 100644
--- a/src/gui/UBFeaturesWidget.h
+++ b/src/gui/UBFeaturesWidget.h
@@ -205,9 +205,9 @@ public:
 	
     Qt::DropActions supportedDropActions() const { return Qt::MoveAction | Qt::CopyAction; }
 
-    void setFeaturesList(const QList <UBFeature> &flist ) { featuresList = flist; }
+    void setFeaturesList(QList <UBFeature> *flist ) { featuresList = flist; }
 private:
-	QList <UBFeature> featuresList;
+	QList <UBFeature> *featuresList;
 };
 
 class UBFeaturesProxyModel : public QSortFilterProxyModel

From 51e90964492390785257da44e37fdc56da411d7a Mon Sep 17 00:00:00 2001
From: Anna Udovichenko <anuta.udovichenko@gmail.com>
Date: Thu, 3 May 2012 19:46:38 +0300
Subject: [PATCH 19/31] Fixed memory leak

---
 src/gui/UBFeaturesWidget.cpp | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/gui/UBFeaturesWidget.cpp b/src/gui/UBFeaturesWidget.cpp
index af4c74e7..f40f9e16 100644
--- a/src/gui/UBFeaturesWidget.cpp
+++ b/src/gui/UBFeaturesWidget.cpp
@@ -605,6 +605,16 @@ void UBFeatureProperties::onAddToPage()
 
 UBFeatureProperties::~UBFeatureProperties()
 {
+	if ( mpOrigPixmap )
+    {
+        delete mpOrigPixmap;
+        mpOrigPixmap = NULL;
+    }
+	if ( mpElement )
+	{
+		delete mpElement;
+		mpElement = NULL;
+	}
 }
 
 UBFeatureItemButton::UBFeatureItemButton(QWidget *parent, const char *name):QPushButton(parent)

From 15bd1121397735e68a8af0ec8b849efb4493064b Mon Sep 17 00:00:00 2001
From: bmagnin <vi>
Date: Fri, 4 May 2012 01:45:20 +0200
Subject: [PATCH 20/31] New name for iCell and search : cellule and google
 images

---
 .../{iCell.wgt => Cellule.wgt}/config.xml           |   0
 .../{iCell.wgt => Cellule.wgt}/icon.png             | Bin
 .../{iCell.wgt => Cellule.wgt}/icon_old.png         | Bin
 .../{iCell.wgt => Cellule.wgt}/images/ADN.gif       | Bin
 .../{iCell.wgt => Cellule.wgt}/images/ADN.jpg       | Bin
 .../{iCell.wgt => Cellule.wgt}/images/ADN_zoom.jpg  | Bin
 .../{iCell.wgt => Cellule.wgt}/images/ARN_in.jpg    | Bin
 .../{iCell.wgt => Cellule.wgt}/images/ARN_zoom.jpg  | Bin
 .../images/Golgi_aura.png                           | Bin
 .../{iCell.wgt => Cellule.wgt}/images/Lys_aura.png  | Bin
 .../images/Mitoch_aura.png                          | Bin
 .../{iCell.wgt => Cellule.wgt}/images/Noy_aura.png  | Bin
 .../{iCell.wgt => Cellule.wgt}/images/REL_aura.png  | Bin
 .../{iCell.wgt => Cellule.wgt}/images/RER_aura.png  | Bin
 .../images/Vesic_aura.png                           | Bin
 .../images/centriole_aura.png                       | Bin
 .../images/centriole_in.jpg                         | Bin
 .../{iCell.wgt => Cellule.wgt}/images/fond_ADN.png  | Bin
 .../{iCell.wgt => Cellule.wgt}/images/golgi_in.jpg  | Bin
 .../{iCell.wgt => Cellule.wgt}/images/index.png     | Bin
 .../{iCell.wgt => Cellule.wgt}/images/lys_in.jpg    | Bin
 .../{iCell.wgt => Cellule.wgt}/images/mitoch_in.jpg | Bin
 .../{iCell.wgt => Cellule.wgt}/images/noy_in.jpg    | Bin
 .../{iCell.wgt => Cellule.wgt}/images/nucl_aura.png | Bin
 .../{iCell.wgt => Cellule.wgt}/images/nucl_in.jpg   | Bin
 .../{iCell.wgt => Cellule.wgt}/images/rel_in.jpg    | Bin
 .../{iCell.wgt => Cellule.wgt}/images/rer_in.jpg    | Bin
 .../{iCell.wgt => Cellule.wgt}/images/rib_aura.png  | Bin
 .../{iCell.wgt => Cellule.wgt}/images/rib_in.jpg    | Bin
 .../{iCell.wgt => Cellule.wgt}/images/vesic_in.jpg  | Bin
 .../{iCell.wgt => Cellule.wgt}/js/script.js         |   0
 .../js/textes_descriptifs.js                        |   0
 .../js/textes_descriptifs.js0                       |   0
 .../{iCell.wgt => Cellule.wgt}/readme.txt           |   0
 .../{iCell.wgt => Cellule.wgt}/style/style.css      |   0
 .../{iCell.wgt => Cellule.wgt}/widget.html          |   0
 .../{ImgSearch.wgs => Google images.wgs}/config.xml |   0
 .../css/basic.css                                   |   0
 .../{ImgSearch.wgs => Google images.wgs}/icon.png   | Bin
 .../icon.thumbnail.png                              | Bin
 .../images/down.png                                 | Bin
 .../images/greySquare.png                           | Bin
 .../images/icon-close.png                           | Bin
 .../images/popupBack.png                            | Bin
 .../images/search.png                               | Bin
 .../images/trgDown.png                              | Bin
 .../images/trgUp.png                                | Bin
 .../images/up.png                                   | Bin
 .../{ImgSearch.wgs => Google images.wgs}/index.html |   0
 .../scripts/jquery-1.6.2.min.js                     |   0
 50 files changed, 0 insertions(+), 0 deletions(-)
 rename resources/library/applications/{iCell.wgt => Cellule.wgt}/config.xml (100%)
 rename resources/library/applications/{iCell.wgt => Cellule.wgt}/icon.png (100%)
 rename resources/library/applications/{iCell.wgt => Cellule.wgt}/icon_old.png (100%)
 rename resources/library/applications/{iCell.wgt => Cellule.wgt}/images/ADN.gif (100%)
 rename resources/library/applications/{iCell.wgt => Cellule.wgt}/images/ADN.jpg (100%)
 rename resources/library/applications/{iCell.wgt => Cellule.wgt}/images/ADN_zoom.jpg (100%)
 rename resources/library/applications/{iCell.wgt => Cellule.wgt}/images/ARN_in.jpg (100%)
 rename resources/library/applications/{iCell.wgt => Cellule.wgt}/images/ARN_zoom.jpg (100%)
 rename resources/library/applications/{iCell.wgt => Cellule.wgt}/images/Golgi_aura.png (100%)
 rename resources/library/applications/{iCell.wgt => Cellule.wgt}/images/Lys_aura.png (100%)
 rename resources/library/applications/{iCell.wgt => Cellule.wgt}/images/Mitoch_aura.png (100%)
 rename resources/library/applications/{iCell.wgt => Cellule.wgt}/images/Noy_aura.png (100%)
 rename resources/library/applications/{iCell.wgt => Cellule.wgt}/images/REL_aura.png (100%)
 rename resources/library/applications/{iCell.wgt => Cellule.wgt}/images/RER_aura.png (100%)
 rename resources/library/applications/{iCell.wgt => Cellule.wgt}/images/Vesic_aura.png (100%)
 rename resources/library/applications/{iCell.wgt => Cellule.wgt}/images/centriole_aura.png (100%)
 rename resources/library/applications/{iCell.wgt => Cellule.wgt}/images/centriole_in.jpg (100%)
 rename resources/library/applications/{iCell.wgt => Cellule.wgt}/images/fond_ADN.png (100%)
 rename resources/library/applications/{iCell.wgt => Cellule.wgt}/images/golgi_in.jpg (100%)
 rename resources/library/applications/{iCell.wgt => Cellule.wgt}/images/index.png (100%)
 rename resources/library/applications/{iCell.wgt => Cellule.wgt}/images/lys_in.jpg (100%)
 rename resources/library/applications/{iCell.wgt => Cellule.wgt}/images/mitoch_in.jpg (100%)
 rename resources/library/applications/{iCell.wgt => Cellule.wgt}/images/noy_in.jpg (100%)
 rename resources/library/applications/{iCell.wgt => Cellule.wgt}/images/nucl_aura.png (100%)
 rename resources/library/applications/{iCell.wgt => Cellule.wgt}/images/nucl_in.jpg (100%)
 rename resources/library/applications/{iCell.wgt => Cellule.wgt}/images/rel_in.jpg (100%)
 rename resources/library/applications/{iCell.wgt => Cellule.wgt}/images/rer_in.jpg (100%)
 rename resources/library/applications/{iCell.wgt => Cellule.wgt}/images/rib_aura.png (100%)
 rename resources/library/applications/{iCell.wgt => Cellule.wgt}/images/rib_in.jpg (100%)
 rename resources/library/applications/{iCell.wgt => Cellule.wgt}/images/vesic_in.jpg (100%)
 rename resources/library/applications/{iCell.wgt => Cellule.wgt}/js/script.js (100%)
 rename resources/library/applications/{iCell.wgt => Cellule.wgt}/js/textes_descriptifs.js (100%)
 rename resources/library/applications/{iCell.wgt => Cellule.wgt}/js/textes_descriptifs.js0 (100%)
 rename resources/library/applications/{iCell.wgt => Cellule.wgt}/readme.txt (100%)
 rename resources/library/applications/{iCell.wgt => Cellule.wgt}/style/style.css (100%)
 rename resources/library/applications/{iCell.wgt => Cellule.wgt}/widget.html (100%)
 rename resources/library/search/{ImgSearch.wgs => Google images.wgs}/config.xml (100%)
 rename resources/library/search/{ImgSearch.wgs => Google images.wgs}/css/basic.css (100%)
 rename resources/library/search/{ImgSearch.wgs => Google images.wgs}/icon.png (100%)
 rename resources/library/search/{ImgSearch.wgs => Google images.wgs}/icon.thumbnail.png (100%)
 rename resources/library/search/{ImgSearch.wgs => Google images.wgs}/images/down.png (100%)
 rename resources/library/search/{ImgSearch.wgs => Google images.wgs}/images/greySquare.png (100%)
 rename resources/library/search/{ImgSearch.wgs => Google images.wgs}/images/icon-close.png (100%)
 rename resources/library/search/{ImgSearch.wgs => Google images.wgs}/images/popupBack.png (100%)
 rename resources/library/search/{ImgSearch.wgs => Google images.wgs}/images/search.png (100%)
 rename resources/library/search/{ImgSearch.wgs => Google images.wgs}/images/trgDown.png (100%)
 rename resources/library/search/{ImgSearch.wgs => Google images.wgs}/images/trgUp.png (100%)
 rename resources/library/search/{ImgSearch.wgs => Google images.wgs}/images/up.png (100%)
 rename resources/library/search/{ImgSearch.wgs => Google images.wgs}/index.html (100%)
 rename resources/library/search/{ImgSearch.wgs => Google images.wgs}/scripts/jquery-1.6.2.min.js (100%)

diff --git a/resources/library/applications/iCell.wgt/config.xml b/resources/library/applications/Cellule.wgt/config.xml
similarity index 100%
rename from resources/library/applications/iCell.wgt/config.xml
rename to resources/library/applications/Cellule.wgt/config.xml
diff --git a/resources/library/applications/iCell.wgt/icon.png b/resources/library/applications/Cellule.wgt/icon.png
similarity index 100%
rename from resources/library/applications/iCell.wgt/icon.png
rename to resources/library/applications/Cellule.wgt/icon.png
diff --git a/resources/library/applications/iCell.wgt/icon_old.png b/resources/library/applications/Cellule.wgt/icon_old.png
similarity index 100%
rename from resources/library/applications/iCell.wgt/icon_old.png
rename to resources/library/applications/Cellule.wgt/icon_old.png
diff --git a/resources/library/applications/iCell.wgt/images/ADN.gif b/resources/library/applications/Cellule.wgt/images/ADN.gif
similarity index 100%
rename from resources/library/applications/iCell.wgt/images/ADN.gif
rename to resources/library/applications/Cellule.wgt/images/ADN.gif
diff --git a/resources/library/applications/iCell.wgt/images/ADN.jpg b/resources/library/applications/Cellule.wgt/images/ADN.jpg
similarity index 100%
rename from resources/library/applications/iCell.wgt/images/ADN.jpg
rename to resources/library/applications/Cellule.wgt/images/ADN.jpg
diff --git a/resources/library/applications/iCell.wgt/images/ADN_zoom.jpg b/resources/library/applications/Cellule.wgt/images/ADN_zoom.jpg
similarity index 100%
rename from resources/library/applications/iCell.wgt/images/ADN_zoom.jpg
rename to resources/library/applications/Cellule.wgt/images/ADN_zoom.jpg
diff --git a/resources/library/applications/iCell.wgt/images/ARN_in.jpg b/resources/library/applications/Cellule.wgt/images/ARN_in.jpg
similarity index 100%
rename from resources/library/applications/iCell.wgt/images/ARN_in.jpg
rename to resources/library/applications/Cellule.wgt/images/ARN_in.jpg
diff --git a/resources/library/applications/iCell.wgt/images/ARN_zoom.jpg b/resources/library/applications/Cellule.wgt/images/ARN_zoom.jpg
similarity index 100%
rename from resources/library/applications/iCell.wgt/images/ARN_zoom.jpg
rename to resources/library/applications/Cellule.wgt/images/ARN_zoom.jpg
diff --git a/resources/library/applications/iCell.wgt/images/Golgi_aura.png b/resources/library/applications/Cellule.wgt/images/Golgi_aura.png
similarity index 100%
rename from resources/library/applications/iCell.wgt/images/Golgi_aura.png
rename to resources/library/applications/Cellule.wgt/images/Golgi_aura.png
diff --git a/resources/library/applications/iCell.wgt/images/Lys_aura.png b/resources/library/applications/Cellule.wgt/images/Lys_aura.png
similarity index 100%
rename from resources/library/applications/iCell.wgt/images/Lys_aura.png
rename to resources/library/applications/Cellule.wgt/images/Lys_aura.png
diff --git a/resources/library/applications/iCell.wgt/images/Mitoch_aura.png b/resources/library/applications/Cellule.wgt/images/Mitoch_aura.png
similarity index 100%
rename from resources/library/applications/iCell.wgt/images/Mitoch_aura.png
rename to resources/library/applications/Cellule.wgt/images/Mitoch_aura.png
diff --git a/resources/library/applications/iCell.wgt/images/Noy_aura.png b/resources/library/applications/Cellule.wgt/images/Noy_aura.png
similarity index 100%
rename from resources/library/applications/iCell.wgt/images/Noy_aura.png
rename to resources/library/applications/Cellule.wgt/images/Noy_aura.png
diff --git a/resources/library/applications/iCell.wgt/images/REL_aura.png b/resources/library/applications/Cellule.wgt/images/REL_aura.png
similarity index 100%
rename from resources/library/applications/iCell.wgt/images/REL_aura.png
rename to resources/library/applications/Cellule.wgt/images/REL_aura.png
diff --git a/resources/library/applications/iCell.wgt/images/RER_aura.png b/resources/library/applications/Cellule.wgt/images/RER_aura.png
similarity index 100%
rename from resources/library/applications/iCell.wgt/images/RER_aura.png
rename to resources/library/applications/Cellule.wgt/images/RER_aura.png
diff --git a/resources/library/applications/iCell.wgt/images/Vesic_aura.png b/resources/library/applications/Cellule.wgt/images/Vesic_aura.png
similarity index 100%
rename from resources/library/applications/iCell.wgt/images/Vesic_aura.png
rename to resources/library/applications/Cellule.wgt/images/Vesic_aura.png
diff --git a/resources/library/applications/iCell.wgt/images/centriole_aura.png b/resources/library/applications/Cellule.wgt/images/centriole_aura.png
similarity index 100%
rename from resources/library/applications/iCell.wgt/images/centriole_aura.png
rename to resources/library/applications/Cellule.wgt/images/centriole_aura.png
diff --git a/resources/library/applications/iCell.wgt/images/centriole_in.jpg b/resources/library/applications/Cellule.wgt/images/centriole_in.jpg
similarity index 100%
rename from resources/library/applications/iCell.wgt/images/centriole_in.jpg
rename to resources/library/applications/Cellule.wgt/images/centriole_in.jpg
diff --git a/resources/library/applications/iCell.wgt/images/fond_ADN.png b/resources/library/applications/Cellule.wgt/images/fond_ADN.png
similarity index 100%
rename from resources/library/applications/iCell.wgt/images/fond_ADN.png
rename to resources/library/applications/Cellule.wgt/images/fond_ADN.png
diff --git a/resources/library/applications/iCell.wgt/images/golgi_in.jpg b/resources/library/applications/Cellule.wgt/images/golgi_in.jpg
similarity index 100%
rename from resources/library/applications/iCell.wgt/images/golgi_in.jpg
rename to resources/library/applications/Cellule.wgt/images/golgi_in.jpg
diff --git a/resources/library/applications/iCell.wgt/images/index.png b/resources/library/applications/Cellule.wgt/images/index.png
similarity index 100%
rename from resources/library/applications/iCell.wgt/images/index.png
rename to resources/library/applications/Cellule.wgt/images/index.png
diff --git a/resources/library/applications/iCell.wgt/images/lys_in.jpg b/resources/library/applications/Cellule.wgt/images/lys_in.jpg
similarity index 100%
rename from resources/library/applications/iCell.wgt/images/lys_in.jpg
rename to resources/library/applications/Cellule.wgt/images/lys_in.jpg
diff --git a/resources/library/applications/iCell.wgt/images/mitoch_in.jpg b/resources/library/applications/Cellule.wgt/images/mitoch_in.jpg
similarity index 100%
rename from resources/library/applications/iCell.wgt/images/mitoch_in.jpg
rename to resources/library/applications/Cellule.wgt/images/mitoch_in.jpg
diff --git a/resources/library/applications/iCell.wgt/images/noy_in.jpg b/resources/library/applications/Cellule.wgt/images/noy_in.jpg
similarity index 100%
rename from resources/library/applications/iCell.wgt/images/noy_in.jpg
rename to resources/library/applications/Cellule.wgt/images/noy_in.jpg
diff --git a/resources/library/applications/iCell.wgt/images/nucl_aura.png b/resources/library/applications/Cellule.wgt/images/nucl_aura.png
similarity index 100%
rename from resources/library/applications/iCell.wgt/images/nucl_aura.png
rename to resources/library/applications/Cellule.wgt/images/nucl_aura.png
diff --git a/resources/library/applications/iCell.wgt/images/nucl_in.jpg b/resources/library/applications/Cellule.wgt/images/nucl_in.jpg
similarity index 100%
rename from resources/library/applications/iCell.wgt/images/nucl_in.jpg
rename to resources/library/applications/Cellule.wgt/images/nucl_in.jpg
diff --git a/resources/library/applications/iCell.wgt/images/rel_in.jpg b/resources/library/applications/Cellule.wgt/images/rel_in.jpg
similarity index 100%
rename from resources/library/applications/iCell.wgt/images/rel_in.jpg
rename to resources/library/applications/Cellule.wgt/images/rel_in.jpg
diff --git a/resources/library/applications/iCell.wgt/images/rer_in.jpg b/resources/library/applications/Cellule.wgt/images/rer_in.jpg
similarity index 100%
rename from resources/library/applications/iCell.wgt/images/rer_in.jpg
rename to resources/library/applications/Cellule.wgt/images/rer_in.jpg
diff --git a/resources/library/applications/iCell.wgt/images/rib_aura.png b/resources/library/applications/Cellule.wgt/images/rib_aura.png
similarity index 100%
rename from resources/library/applications/iCell.wgt/images/rib_aura.png
rename to resources/library/applications/Cellule.wgt/images/rib_aura.png
diff --git a/resources/library/applications/iCell.wgt/images/rib_in.jpg b/resources/library/applications/Cellule.wgt/images/rib_in.jpg
similarity index 100%
rename from resources/library/applications/iCell.wgt/images/rib_in.jpg
rename to resources/library/applications/Cellule.wgt/images/rib_in.jpg
diff --git a/resources/library/applications/iCell.wgt/images/vesic_in.jpg b/resources/library/applications/Cellule.wgt/images/vesic_in.jpg
similarity index 100%
rename from resources/library/applications/iCell.wgt/images/vesic_in.jpg
rename to resources/library/applications/Cellule.wgt/images/vesic_in.jpg
diff --git a/resources/library/applications/iCell.wgt/js/script.js b/resources/library/applications/Cellule.wgt/js/script.js
similarity index 100%
rename from resources/library/applications/iCell.wgt/js/script.js
rename to resources/library/applications/Cellule.wgt/js/script.js
diff --git a/resources/library/applications/iCell.wgt/js/textes_descriptifs.js b/resources/library/applications/Cellule.wgt/js/textes_descriptifs.js
similarity index 100%
rename from resources/library/applications/iCell.wgt/js/textes_descriptifs.js
rename to resources/library/applications/Cellule.wgt/js/textes_descriptifs.js
diff --git a/resources/library/applications/iCell.wgt/js/textes_descriptifs.js0 b/resources/library/applications/Cellule.wgt/js/textes_descriptifs.js0
similarity index 100%
rename from resources/library/applications/iCell.wgt/js/textes_descriptifs.js0
rename to resources/library/applications/Cellule.wgt/js/textes_descriptifs.js0
diff --git a/resources/library/applications/iCell.wgt/readme.txt b/resources/library/applications/Cellule.wgt/readme.txt
similarity index 100%
rename from resources/library/applications/iCell.wgt/readme.txt
rename to resources/library/applications/Cellule.wgt/readme.txt
diff --git a/resources/library/applications/iCell.wgt/style/style.css b/resources/library/applications/Cellule.wgt/style/style.css
similarity index 100%
rename from resources/library/applications/iCell.wgt/style/style.css
rename to resources/library/applications/Cellule.wgt/style/style.css
diff --git a/resources/library/applications/iCell.wgt/widget.html b/resources/library/applications/Cellule.wgt/widget.html
similarity index 100%
rename from resources/library/applications/iCell.wgt/widget.html
rename to resources/library/applications/Cellule.wgt/widget.html
diff --git a/resources/library/search/ImgSearch.wgs/config.xml b/resources/library/search/Google images.wgs/config.xml
similarity index 100%
rename from resources/library/search/ImgSearch.wgs/config.xml
rename to resources/library/search/Google images.wgs/config.xml
diff --git a/resources/library/search/ImgSearch.wgs/css/basic.css b/resources/library/search/Google images.wgs/css/basic.css
similarity index 100%
rename from resources/library/search/ImgSearch.wgs/css/basic.css
rename to resources/library/search/Google images.wgs/css/basic.css
diff --git a/resources/library/search/ImgSearch.wgs/icon.png b/resources/library/search/Google images.wgs/icon.png
similarity index 100%
rename from resources/library/search/ImgSearch.wgs/icon.png
rename to resources/library/search/Google images.wgs/icon.png
diff --git a/resources/library/search/ImgSearch.wgs/icon.thumbnail.png b/resources/library/search/Google images.wgs/icon.thumbnail.png
similarity index 100%
rename from resources/library/search/ImgSearch.wgs/icon.thumbnail.png
rename to resources/library/search/Google images.wgs/icon.thumbnail.png
diff --git a/resources/library/search/ImgSearch.wgs/images/down.png b/resources/library/search/Google images.wgs/images/down.png
similarity index 100%
rename from resources/library/search/ImgSearch.wgs/images/down.png
rename to resources/library/search/Google images.wgs/images/down.png
diff --git a/resources/library/search/ImgSearch.wgs/images/greySquare.png b/resources/library/search/Google images.wgs/images/greySquare.png
similarity index 100%
rename from resources/library/search/ImgSearch.wgs/images/greySquare.png
rename to resources/library/search/Google images.wgs/images/greySquare.png
diff --git a/resources/library/search/ImgSearch.wgs/images/icon-close.png b/resources/library/search/Google images.wgs/images/icon-close.png
similarity index 100%
rename from resources/library/search/ImgSearch.wgs/images/icon-close.png
rename to resources/library/search/Google images.wgs/images/icon-close.png
diff --git a/resources/library/search/ImgSearch.wgs/images/popupBack.png b/resources/library/search/Google images.wgs/images/popupBack.png
similarity index 100%
rename from resources/library/search/ImgSearch.wgs/images/popupBack.png
rename to resources/library/search/Google images.wgs/images/popupBack.png
diff --git a/resources/library/search/ImgSearch.wgs/images/search.png b/resources/library/search/Google images.wgs/images/search.png
similarity index 100%
rename from resources/library/search/ImgSearch.wgs/images/search.png
rename to resources/library/search/Google images.wgs/images/search.png
diff --git a/resources/library/search/ImgSearch.wgs/images/trgDown.png b/resources/library/search/Google images.wgs/images/trgDown.png
similarity index 100%
rename from resources/library/search/ImgSearch.wgs/images/trgDown.png
rename to resources/library/search/Google images.wgs/images/trgDown.png
diff --git a/resources/library/search/ImgSearch.wgs/images/trgUp.png b/resources/library/search/Google images.wgs/images/trgUp.png
similarity index 100%
rename from resources/library/search/ImgSearch.wgs/images/trgUp.png
rename to resources/library/search/Google images.wgs/images/trgUp.png
diff --git a/resources/library/search/ImgSearch.wgs/images/up.png b/resources/library/search/Google images.wgs/images/up.png
similarity index 100%
rename from resources/library/search/ImgSearch.wgs/images/up.png
rename to resources/library/search/Google images.wgs/images/up.png
diff --git a/resources/library/search/ImgSearch.wgs/index.html b/resources/library/search/Google images.wgs/index.html
similarity index 100%
rename from resources/library/search/ImgSearch.wgs/index.html
rename to resources/library/search/Google images.wgs/index.html
diff --git a/resources/library/search/ImgSearch.wgs/scripts/jquery-1.6.2.min.js b/resources/library/search/Google images.wgs/scripts/jquery-1.6.2.min.js
similarity index 100%
rename from resources/library/search/ImgSearch.wgs/scripts/jquery-1.6.2.min.js
rename to resources/library/search/Google images.wgs/scripts/jquery-1.6.2.min.js

From 047be003af3b3162cac6de6641c0a04765740eb0 Mon Sep 17 00:00:00 2001
From: Anatoly Mihalchenko <tolik@scand.com>
Date: Fri, 4 May 2012 11:30:33 +0300
Subject: [PATCH 21/31] Memory leaks detection

---
 src/core/main.cpp                     |  2 +-
 src/domain/UBGraphicsItemDelegate.cpp | 21 +++++++++++++++++++++
 src/domain/UBGraphicsItemDelegate.h   | 20 +++-----------------
 src/gui/UBFeaturesWidget.h            |  2 +-
 4 files changed, 26 insertions(+), 19 deletions(-)

diff --git a/src/core/main.cpp b/src/core/main.cpp
index 80c8a989..33cb711c 100644
--- a/src/core/main.cpp
+++ b/src/core/main.cpp
@@ -72,7 +72,7 @@ int main(int argc, char *argv[])
 
     // Uncomment next section to have memory leaks information
     // tracing in VC++ debug mode under Windows
-    /*
+/*
 #if defined(_MSC_VER) && defined(_DEBUG)
     _CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );
 #endif
diff --git a/src/domain/UBGraphicsItemDelegate.cpp b/src/domain/UBGraphicsItemDelegate.cpp
index 663c5917..c081d40e 100644
--- a/src/domain/UBGraphicsItemDelegate.cpp
+++ b/src/domain/UBGraphicsItemDelegate.cpp
@@ -50,6 +50,27 @@
 
 class UBGraphicsParaschoolEditorWidgetItem;
 
+DelegateButton::DelegateButton(const QString & fileName, QGraphicsItem* pDelegated, QGraphicsItem * parent, Qt::WindowFrameSection section)
+    : QGraphicsSvgItem(fileName, parent)
+    , mDelegated(pDelegated)
+    , mIsTransparentToMouseEvent(false)
+    , mButtonAlignmentSection(section)
+{
+    setAcceptedMouseButtons(Qt::LeftButton);
+    setData(UBGraphicsItemData::ItemLayerType, QVariant(UBItemLayerType::Control));
+}
+
+DelegateButton::~DelegateButton()
+{
+    // NOOP
+}
+
+void DelegateButton::setFileName(const QString & fileName)
+{
+    QGraphicsSvgItem::setSharedRenderer(new QSvgRenderer (fileName, this));
+}
+
+
 void DelegateButton::mousePressEvent(QGraphicsSceneMouseEvent *event)
 {
     // make sure delegate is selected, to avoid control being hidden
diff --git a/src/domain/UBGraphicsItemDelegate.h b/src/domain/UBGraphicsItemDelegate.h
index 2013634f..b6994a84 100644
--- a/src/domain/UBGraphicsItemDelegate.h
+++ b/src/domain/UBGraphicsItemDelegate.h
@@ -35,30 +35,16 @@ class DelegateButton: public QGraphicsSvgItem
     Q_OBJECT
 
     public:
-        DelegateButton(const QString & fileName, QGraphicsItem* pDelegated, QGraphicsItem * parent = 0, Qt::WindowFrameSection section = Qt::TopLeftSection)
-            : QGraphicsSvgItem(fileName, parent)
-            , mDelegated(pDelegated)
-            , mIsTransparentToMouseEvent(false)
-            , mButtonAlignmentSection(section)
-        {
-            setAcceptedMouseButtons(Qt::LeftButton);
-            setData(UBGraphicsItemData::ItemLayerType, QVariant(UBItemLayerType::Control));
-        }
+        DelegateButton(const QString & fileName, QGraphicsItem* pDelegated, QGraphicsItem * parent = 0, Qt::WindowFrameSection section = Qt::TopLeftSection);
 
-        virtual ~DelegateButton()
-        {
-            // NOOP
-        }
+        virtual ~DelegateButton();
 
         void setTransparentToMouseEvent(bool tr)
         {
             mIsTransparentToMouseEvent = tr;
         }
 
-        void setFileName(const QString & fileName)
-        {
-            QGraphicsSvgItem::setSharedRenderer(new QSvgRenderer (fileName, this));
-        }
+        void setFileName(const QString & fileName);
 
         void setSection(Qt::WindowFrameSection section) {mButtonAlignmentSection =  section;}
         Qt::WindowFrameSection getSection() const {return mButtonAlignmentSection;}
diff --git a/src/gui/UBFeaturesWidget.h b/src/gui/UBFeaturesWidget.h
index 7e19cb47..f4b8a3b1 100644
--- a/src/gui/UBFeaturesWidget.h
+++ b/src/gui/UBFeaturesWidget.h
@@ -183,7 +183,7 @@ public:
 
     void setFeaturesList(const QList <UBFeature> &flist ) { featuresList = flist; }
 private:
-	QList <UBFeature> featuresList;
+	QList <UBFeature>  featuresList;
 };
 
 class UBFeaturesProxyModel : public QSortFilterProxyModel

From dcf9d3bed54c0a83c878c50518e55ffa965aef82 Mon Sep 17 00:00:00 2001
From: Anna Udovichenko <anuta.udovichenko@gmail.com>
Date: Fri, 4 May 2012 12:54:30 +0300
Subject: [PATCH 22/31] Library search fixed

---
 src/board/UBFeaturesController.cpp | 4 ++--
 src/board/UBFeaturesController.h   | 2 +-
 src/gui/UBFeaturesWidget.cpp       | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/board/UBFeaturesController.cpp b/src/board/UBFeaturesController.cpp
index e25893d8..d6895498 100644
--- a/src/board/UBFeaturesController.cpp
+++ b/src/board/UBFeaturesController.cpp
@@ -101,8 +101,8 @@ void UBFeaturesController::initDirectoryTree()
 	featuresList->append( trashElement );
 	favoriteElement = UBFeature( rootPath, QPixmap(":images/libpalette/FavoritesCategory.svg"), "Favorites", "favorites", FEATURE_FAVORITE );
 	featuresList->append( favoriteElement );
-	searchElement = UBFeature( rootPath, QPixmap(":images/libpalette/WebSearchCategory.svg"), "Web search", mLibSearchDirectoryPath );
-	featuresList->append( searchElement );
+	webSearchElement = UBFeature( rootPath, QPixmap(":images/libpalette/WebSearchCategory.svg"), "Web search", mLibSearchDirectoryPath );
+	featuresList->append( webSearchElement );
 	loadFavoriteList();
 
 	foreach (UBToolsManager::UBToolDescriptor tool, tools)
diff --git a/src/board/UBFeaturesController.h b/src/board/UBFeaturesController.h
index 92008227..4189add4 100644
--- a/src/board/UBFeaturesController.h
+++ b/src/board/UBFeaturesController.h
@@ -130,7 +130,7 @@ private:
 	UBFeature interactElement;
 	UBFeature flashElement;
 	UBFeature shapesElement;
-	UBFeature searchElement;
+	UBFeature webSearchElement;
 
 	QSet <QString> *favoriteSet;
 };
diff --git a/src/gui/UBFeaturesWidget.cpp b/src/gui/UBFeaturesWidget.cpp
index f40f9e16..5ab37c9b 100644
--- a/src/gui/UBFeaturesWidget.cpp
+++ b/src/gui/UBFeaturesWidget.cpp
@@ -116,7 +116,7 @@ UBFeaturesWidget::UBFeaturesWidget(QWidget *parent, const char *name):UBDockPale
 		this, SLOT(currentSelected(const QModelIndex &)));*/
 	connect( featuresListView, SIGNAL(clicked ( const QModelIndex & ) ),
 		this, SLOT( currentSelected(const QModelIndex &) ) );
-	connect( mActionBar, SIGNAL( searchElement(const QString &) ), this, SLOT( const searchStarted(QString &) ) );
+	connect( mActionBar, SIGNAL( searchElement(const QString &) ), this, SLOT( searchStarted(const QString &) ) );
 	connect( mActionBar, SIGNAL( newFolderToCreate() ), this, SLOT( createNewFolder()  ) );
 	connect( mActionBar, SIGNAL( deleteElements(const QMimeData &) ), this, SLOT( deleteElements(const QMimeData &) ) ); 
 	connect( mActionBar, SIGNAL( addToFavorite(const QMimeData &) ), this, SLOT( addToFavorite(const QMimeData &) ) );

From 56c8bfc3d16ed5e48a1fc9f82057339a615d0123 Mon Sep 17 00:00:00 2001
From: Anna Udovichenko <anuta.udovichenko@gmail.com>
Date: Fri, 4 May 2012 19:57:23 +0300
Subject: [PATCH 23/31] changed mPath type in UBFeature class to QUrl

---
 src/board/UBBoardPaletteManager.h  | 382 ++++++++++++++---------------
 src/board/UBFeaturesController.cpp |  99 ++++----
 src/board/UBFeaturesController.h   |  49 ++--
 src/gui/UBFeaturesWidget.cpp       |  80 ++++--
 src/gui/UBFeaturesWidget.h         |   7 +-
 5 files changed, 340 insertions(+), 277 deletions(-)

diff --git a/src/board/UBBoardPaletteManager.h b/src/board/UBBoardPaletteManager.h
index 45b982de..86ef4355 100644
--- a/src/board/UBBoardPaletteManager.h
+++ b/src/board/UBBoardPaletteManager.h
@@ -1,192 +1,192 @@
-/*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef UBBOARDPALETTEMANAGER_H_
-#define UBBOARDPALETTEMANAGER_H_
-
-#include <QtGui>
-#include <QtWebKit>
-
-#include "web/UBRoutedMouseEventWebView.h"
-#include "gui/UBLeftPalette.h"
-#include "gui/UBRightPalette.h"
-#include "gui/UBPageNavigationWidget.h"
-#include "gui/UBLibWidget.h"
-#include "gui/UBCachePropertiesWidget.h"
-#include "gui/UBDockDownloadWidget.h"
-#include "core/UBApplicationController.h"
-#include "gui/UBFeaturesWidget.h"
-
-
-class UBStylusPalette;
-class UBClockPalette;
-class UBPageNumberPalette;
-class UBZoomPalette;
-class UBActionPalette;
-class UBBoardController;
-class UBFloatingPalette;
-class UBServerXMLHttpRequest;
-class UBKeyboardPalette;
-class UBMainWindow;
-class UBApplicationController;
-class UBDockTeacherGuideWidget;
-
+/*
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef UBBOARDPALETTEMANAGER_H_
+#define UBBOARDPALETTEMANAGER_H_
+
+#include <QtGui>
+#include <QtWebKit>
+
+#include "web/UBRoutedMouseEventWebView.h"
+#include "gui/UBLeftPalette.h"
+#include "gui/UBRightPalette.h"
+#include "gui/UBPageNavigationWidget.h"
+#include "gui/UBLibWidget.h"
+#include "gui/UBCachePropertiesWidget.h"
+#include "gui/UBDockDownloadWidget.h"
+#include "core/UBApplicationController.h"
+#include "gui/UBFeaturesWidget.h"
+
+
+class UBStylusPalette;
+class UBClockPalette;
+class UBPageNumberPalette;
+class UBZoomPalette;
+class UBActionPalette;
+class UBBoardController;
+class UBFloatingPalette;
+class UBServerXMLHttpRequest;
+class UBKeyboardPalette;
+class UBMainWindow;
+class UBApplicationController;
+class UBDockTeacherGuideWidget;
+
 // Uncomment this to use old-styles lib paletter
-// #define USE_WEB_WIDGET
-
-
-class UBBoardPaletteManager : public QObject
-{
-    Q_OBJECT
-
-    public:
-        UBBoardPaletteManager(QWidget* container, UBBoardController* controller);
-        virtual ~UBBoardPaletteManager();
-
-        void setupLayout();
-        UBLeftPalette* leftPalette(){return mLeftPalette;}
-        UBRightPalette* rightPalette(){return mRightPalette;}
-        UBStylusPalette* stylusPalette(){return mStylusPalette;}
-        void showVirtualKeyboard(bool show = true);
-        void initPalettesPosAtStartup();
-        void connectToDocumentController();
-        void refreshPalettes();
-
-        UBKeyboardPalette *mKeyboardPalette;
-
-        void processPalettersWidget(UBDockPalette *paletter, eUBDockPaletteWidgetMode mode);
-        void changeMode(eUBDockPaletteWidgetMode newMode, bool isInit = false);
-        void startDownloads();
-        void stopDownloads();
-
-    signals:
-        void connectToDocController();
-        void signal_changeMode(eUBDockPaletteWidgetMode newMode);
-
-    public slots:
-
-        void activeSceneChanged();
-        void containerResized();
-        void addItem(const QUrl& pUrl);
-        void addItem(const QPixmap& pPixmap, const QPointF& p = QPointF(0.0, 0.0), qreal scale = 1.0, const QUrl& sourceUrl = QUrl());
-
-        void slot_changeMainMode(UBApplicationController::MainMode);
-        void slot_changeDesktopMode(bool);
-
-    private:
-
-        void setupPalettes();
-        void connectPalettes();
-        void positionFreeDisplayPalette();
-        void setupDockPaletteWidgets();
-
-        QWidget* mContainer;
-        UBBoardController *mBoardControler;
-
-        UBStylusPalette *mStylusPalette;
-
-        UBZoomPalette *mZoomPalette;
-
-        /** The left dock palette */
-        UBLeftPalette* mLeftPalette;
-        /** The right dock palette */
-        UBRightPalette* mRightPalette;
-
-        UBActionPalette *mBackgroundsPalette;
-        UBActionPalette *mToolsPalette;
-        UBActionPalette* mAddItemPalette;
-        UBActionPalette* mErasePalette;
-        UBActionPalette* mPagePalette;
-
-        QUrl mItemUrl;
-        QPixmap mPixmap;
-        QPointF mPos;
-        qreal mScaleFactor;
-
-        QTime mPageButtonPressedTime;
-        bool mPendingPageButtonPressed;
-
-        QTime mZoomButtonPressedTime;
-        bool mPendingZoomButtonPressed;
-
-        QTime mPanButtonPressedTime;
-        bool mPendingPanButtonPressed;
-
-        QTime mEraseButtonPressedTime;
-        bool mPendingEraseButtonPressed;
-
-        /** The page navigator widget */
-        UBPageNavigationWidget* mpPageNavigWidget;
-        
-#ifdef USE_WEB_WIDGET
-        /** The library widget */
-        UBLibWidget* mpLibWidget;
-#endif
-
-        /** The cache properties widget */
-        UBCachePropertiesWidget* mpCachePropWidget;
-
-		UBFeaturesWidget *mpFeaturesWidget;
-
-        /** The download widget */
-        UBDockDownloadWidget* mpDownloadWidget;
-        // HACK: here we duplicate the lib widget for the desktop mode
-        //       we MUST refactor the architecture in order to use only one
-        //       lib widget!
-        UBLibWidget* mpDesktopLibWidget;
-
-        UBDockTeacherGuideWidget* mpTeacherGuideWidget;
-
-        bool mDownloadInProgress;
-
-    private slots:
-
-        void changeBackground();
-
-        void toggleBackgroundPalette(bool checked);
-        void backgroundPaletteClosed();
-
-        void toggleStylusPalette(bool checked);
-        void tooglePodcastPalette(bool checked);
-
-        void erasePaletteButtonPressed();
-        void erasePaletteButtonReleased();
-
-        void toggleErasePalette(bool ckecked);
-        void erasePaletteClosed();
-
-        void togglePagePalette(bool ckecked);
-        void pagePaletteClosed();
-
-        void pagePaletteButtonPressed();
-        void pagePaletteButtonReleased();
-
-        void addItemToCurrentPage();
-        void addItemToNewPage();
-        void addItemToLibrary();
-
-        void purchaseLinkActivated(const QString&);
-
-        void linkClicked(const QUrl& url);
-
-        void zoomButtonPressed();
-        void zoomButtonReleased();
-        void panButtonPressed();
-        void panButtonReleased();
-
-        void changeStylusPaletteOrientation(QVariant var);
-};
-
-#endif /* UBBOARDPALETTEMANAGER_H_ */
+ #define USE_WEB_WIDGET
+
+
+class UBBoardPaletteManager : public QObject
+{
+    Q_OBJECT
+
+    public:
+        UBBoardPaletteManager(QWidget* container, UBBoardController* controller);
+        virtual ~UBBoardPaletteManager();
+
+        void setupLayout();
+        UBLeftPalette* leftPalette(){return mLeftPalette;}
+        UBRightPalette* rightPalette(){return mRightPalette;}
+        UBStylusPalette* stylusPalette(){return mStylusPalette;}
+        void showVirtualKeyboard(bool show = true);
+        void initPalettesPosAtStartup();
+        void connectToDocumentController();
+        void refreshPalettes();
+
+        UBKeyboardPalette *mKeyboardPalette;
+
+        void processPalettersWidget(UBDockPalette *paletter, eUBDockPaletteWidgetMode mode);
+        void changeMode(eUBDockPaletteWidgetMode newMode, bool isInit = false);
+        void startDownloads();
+        void stopDownloads();
+
+    signals:
+        void connectToDocController();
+        void signal_changeMode(eUBDockPaletteWidgetMode newMode);
+
+    public slots:
+
+        void activeSceneChanged();
+        void containerResized();
+        void addItem(const QUrl& pUrl);
+        void addItem(const QPixmap& pPixmap, const QPointF& p = QPointF(0.0, 0.0), qreal scale = 1.0, const QUrl& sourceUrl = QUrl());
+
+        void slot_changeMainMode(UBApplicationController::MainMode);
+        void slot_changeDesktopMode(bool);
+
+    private:
+
+        void setupPalettes();
+        void connectPalettes();
+        void positionFreeDisplayPalette();
+        void setupDockPaletteWidgets();
+
+        QWidget* mContainer;
+        UBBoardController *mBoardControler;
+
+        UBStylusPalette *mStylusPalette;
+
+        UBZoomPalette *mZoomPalette;
+
+        /** The left dock palette */
+        UBLeftPalette* mLeftPalette;
+        /** The right dock palette */
+        UBRightPalette* mRightPalette;
+
+        UBActionPalette *mBackgroundsPalette;
+        UBActionPalette *mToolsPalette;
+        UBActionPalette* mAddItemPalette;
+        UBActionPalette* mErasePalette;
+        UBActionPalette* mPagePalette;
+
+        QUrl mItemUrl;
+        QPixmap mPixmap;
+        QPointF mPos;
+        qreal mScaleFactor;
+
+        QTime mPageButtonPressedTime;
+        bool mPendingPageButtonPressed;
+
+        QTime mZoomButtonPressedTime;
+        bool mPendingZoomButtonPressed;
+
+        QTime mPanButtonPressedTime;
+        bool mPendingPanButtonPressed;
+
+        QTime mEraseButtonPressedTime;
+        bool mPendingEraseButtonPressed;
+
+        /** The page navigator widget */
+        UBPageNavigationWidget* mpPageNavigWidget;
+        
+#ifdef USE_WEB_WIDGET
+        /** The library widget */
+        UBLibWidget* mpLibWidget;
+#endif
+
+        /** The cache properties widget */
+        UBCachePropertiesWidget* mpCachePropWidget;
+
+		UBFeaturesWidget *mpFeaturesWidget;
+
+        /** The download widget */
+        UBDockDownloadWidget* mpDownloadWidget;
+        // HACK: here we duplicate the lib widget for the desktop mode
+        //       we MUST refactor the architecture in order to use only one
+        //       lib widget!
+        UBLibWidget* mpDesktopLibWidget;
+
+        UBDockTeacherGuideWidget* mpTeacherGuideWidget;
+
+        bool mDownloadInProgress;
+
+    private slots:
+
+        void changeBackground();
+
+        void toggleBackgroundPalette(bool checked);
+        void backgroundPaletteClosed();
+
+        void toggleStylusPalette(bool checked);
+        void tooglePodcastPalette(bool checked);
+
+        void erasePaletteButtonPressed();
+        void erasePaletteButtonReleased();
+
+        void toggleErasePalette(bool ckecked);
+        void erasePaletteClosed();
+
+        void togglePagePalette(bool ckecked);
+        void pagePaletteClosed();
+
+        void pagePaletteButtonPressed();
+        void pagePaletteButtonReleased();
+
+        void addItemToCurrentPage();
+        void addItemToNewPage();
+        void addItemToLibrary();
+
+        void purchaseLinkActivated(const QString&);
+
+        void linkClicked(const QUrl& url);
+
+        void zoomButtonPressed();
+        void zoomButtonReleased();
+        void panButtonPressed();
+        void panButtonReleased();
+
+        void changeStylusPaletteOrientation(QVariant var);
+};
+
+#endif /* UBBOARDPALETTEMANAGER_H_ */
diff --git a/src/board/UBFeaturesController.cpp b/src/board/UBFeaturesController.cpp
index d6895498..fee95d61 100644
--- a/src/board/UBFeaturesController.cpp
+++ b/src/board/UBFeaturesController.cpp
@@ -18,15 +18,24 @@
 #include "domain/UBGraphicsVideoItem.h"
 #include "domain/UBGraphicsWidgetItem.h"
 
-UBFeature::UBFeature(const QString &url, const QPixmap &icon, const QString &name, const QString &realPath, UBFeatureElementType type)
+UBFeature::UBFeature(const QString &url, const QPixmap &icon, const QString &name, const QUrl &realPath, UBFeatureElementType type)
 : virtualPath(url), mThumbnail(icon), mName(name), mPath(realPath), elementType(type)
 {
 	
 }
 
+QString UBFeature::getUrl() const
+{
+	if ( elementType == FEATURE_INTERNAL )
+        return getFullPath().toString();
+	/*if ( UBApplication::isFromWeb( getFullPath() ) )
+		return QUrl( getFullPath() );*/
+    return getFullPath().toLocalFile();
+}
+
 bool UBFeature::operator ==( const UBFeature &f )const
 {
-	return virtualPath == f.getUrl() && mName == f.getName() && mPath == f.getFullPath() && elementType == f.getType();
+	return virtualPath == f.getVirtualPath() && mName == f.getName() && mPath == f.getFullPath() && elementType == f.getType();
 }
 
 bool UBFeature::operator !=( const UBFeature &f )const
@@ -55,24 +64,24 @@ UBFeaturesController::UBFeaturesController(QWidget *pParentWidget) :
 
 void UBFeaturesController::initDirectoryTree()
 {
-	mUserAudioDirectoryPath = UBSettings::settings()->userAudioDirectory();
-	mUserVideoDirectoryPath = UBSettings::settings()->userVideoDirectory();
-    mUserPicturesDirectoryPath = UBSettings::settings()->userImageDirectory();
-    mUserInteractiveDirectoryPath = UBSettings::settings()->userInteractiveDirectory();
-    mUserAnimationDirectoryPath = UBSettings::settings()->userAnimationDirectory();
-
-	mLibPicturesDirectoryPath = UBSettings::settings()->applicationImageLibraryDirectory();
-	mLibInteractiveDirectoryPath = UBSettings::settings()->applicationInteractivesDirectory();
-	mLibApplicationsDirectoryPath = UBSettings::settings()->applicationApplicationsLibraryDirectory();
-	mLibShapesDirectoryPath = UBSettings::settings()->applicationShapeLibraryDirectory() ;
-	mLibSearchDirectoryPath = UBSettings::settings()->userSearchDirectory();
-	trashDirectoryPath = UBSettings::userTrashDirPath();
+    mUserAudioDirectoryPath = QUrl::fromLocalFile( UBSettings::settings()->userAudioDirectory() );
+	mUserVideoDirectoryPath = QUrl::fromLocalFile( UBSettings::settings()->userVideoDirectory() );
+    mUserPicturesDirectoryPath = QUrl::fromLocalFile( UBSettings::settings()->userImageDirectory() );
+    mUserInteractiveDirectoryPath = QUrl::fromLocalFile( UBSettings::settings()->userInteractiveDirectory() );
+    mUserAnimationDirectoryPath = QUrl::fromLocalFile( UBSettings::settings()->userAnimationDirectory() );
+
+	mLibPicturesDirectoryPath = QUrl::fromLocalFile( UBSettings::settings()->applicationImageLibraryDirectory() );
+	mLibInteractiveDirectoryPath = QUrl::fromLocalFile( UBSettings::settings()->applicationInteractivesDirectory() );
+	mLibApplicationsDirectoryPath = QUrl::fromLocalFile( UBSettings::settings()->applicationApplicationsLibraryDirectory() );
+	mLibShapesDirectoryPath = QUrl::fromLocalFile( UBSettings::settings()->applicationShapeLibraryDirectory() );
+	mLibSearchDirectoryPath =QUrl::fromLocalFile(  UBSettings::settings()->userSearchDirectory() );
+	trashDirectoryPath = QUrl::fromLocalFile( UBSettings::userTrashDirPath() );
 
 	featuresList = new QList <UBFeature>();
 
 	QList <UBToolsManager::UBToolDescriptor> tools = UBToolsManager::manager()->allTools();
 
-	featuresList->append( UBFeature( QString(), QPixmap( ":images/libpalette/home.png" ), "root", QString() ) );
+	featuresList->append( UBFeature( QString(), QPixmap( ":images/libpalette/home.png" ), "root", QUrl() ) );
 	currentElement = featuresList->at(0);
 	
 	appPath = rootPath + "/Applications";
@@ -99,7 +108,7 @@ void UBFeaturesController::initDirectoryTree()
 	featuresList->append( UBFeature( rootPath, QPixmap(":images/libpalette/ShapesCategory.svg"), "Shapes" , mLibShapesDirectoryPath ) );
 	trashElement = UBFeature( rootPath, QPixmap(":images/libpalette/TrashCategory.svg"), "Trash", trashDirectoryPath, FEATURE_TRASH );
 	featuresList->append( trashElement );
-	favoriteElement = UBFeature( rootPath, QPixmap(":images/libpalette/FavoritesCategory.svg"), "Favorites", "favorites", FEATURE_FAVORITE );
+	favoriteElement = UBFeature( rootPath, QPixmap(":images/libpalette/FavoritesCategory.svg"), "Favorites", QUrl("favorites"), FEATURE_FAVORITE );
 	featuresList->append( favoriteElement );
 	webSearchElement = UBFeature( rootPath, QPixmap(":images/libpalette/WebSearchCategory.svg"), "Web search", mLibSearchDirectoryPath );
 	featuresList->append( webSearchElement );
@@ -107,10 +116,10 @@ void UBFeaturesController::initDirectoryTree()
 
 	foreach (UBToolsManager::UBToolDescriptor tool, tools)
 	{
-		featuresList->append( UBFeature( appPath, tool.icon, tool.label, tool.id, FEATURE_INTERNAL ) );
-		if ( favoriteSet->find( tool.id ) != favoriteSet->end() )
+		featuresList->append( UBFeature( appPath, tool.icon, tool.label, QUrl( tool.id ), FEATURE_INTERNAL ) );
+		if ( favoriteSet->find( QUrl( tool.id ) ) != favoriteSet->end() )
 		{
-			featuresList->append( UBFeature( favoritePath, tool.icon, tool.label, tool.id, FEATURE_INTERNAL ) );
+			featuresList->append( UBFeature( favoritePath, tool.icon, tool.label, QUrl( tool.id ), FEATURE_INTERNAL ) );
 		}
 	}
 	fileSystemScan( mUserInteractiveDirectoryPath, appPath  );
@@ -129,9 +138,9 @@ void UBFeaturesController::initDirectoryTree()
 
 }
 
-void UBFeaturesController::fileSystemScan(const QString & currentPath, const QString & currVirtualPath)
+void UBFeaturesController::fileSystemScan(const QUrl & currentPath, const QString & currVirtualPath)
 {
-	QFileInfoList fileInfoList = UBFileSystemUtils::allElementsInDirectory(currentPath);
+    QFileInfoList fileInfoList = UBFileSystemUtils::allElementsInDirectory(currentPath.toLocalFile());
 
     QFileInfoList::iterator fileInfo;
     for ( fileInfo = fileInfoList.begin(); fileInfo != fileInfoList.end(); fileInfo +=  1)
@@ -151,6 +160,7 @@ void UBFeaturesController::fileSystemScan(const QString & currentPath, const QSt
 		QString itemName = (fileType != FEATURE_ITEM) ? fileName : fileInfo->completeBaseName();
 		QPixmap icon = QPixmap(":images/libpalette/soundIcon.svg");
 		QString fullFileName = fileInfo->filePath();
+ 
 
 		if ( fileType == FEATURE_FOLDER ) 
 		{
@@ -171,15 +181,15 @@ void UBFeaturesController::fileSystemScan(const QString & currentPath, const QSt
 				icon = QPixmap( thumbnailPath );
 			else icon = createThumbnail( fullFileName );*/
 		}
-		featuresList->append( UBFeature( currVirtualPath, icon, fileName, fullFileName, fileType ) );
-		if ( favoriteSet->find( fullFileName ) != favoriteSet->end() )
+        featuresList->append( UBFeature( currVirtualPath, icon, fileName, QUrl::fromLocalFile( fullFileName ), fileType ) );
+		if ( favoriteSet->find( QUrl::fromLocalFile( fullFileName ) ) != favoriteSet->end() )
 		{
-			featuresList->append( UBFeature( favoritePath, icon, fileName, fullFileName, fileType ) );
+			featuresList->append( UBFeature( favoritePath, icon, fileName, QUrl::fromLocalFile( fullFileName ), fileType ) );
 		}
 
 		if ( fileType == FEATURE_FOLDER )
 		{
-			fileSystemScan( fullFileName, currVirtualPath + "/" + fileName );
+			fileSystemScan( QUrl::fromLocalFile( fullFileName ), currVirtualPath + "/" + fileName );
 		}
 
 	}
@@ -187,7 +197,7 @@ void UBFeaturesController::fileSystemScan(const QString & currentPath, const QSt
 
 void UBFeaturesController::loadFavoriteList()
 {
-	favoriteSet = new QSet<QString>();
+	favoriteSet = new QSet<QUrl>();
 	QFile file( UBSettings::userDataDirectory() + "/favorites.dat" );
 	if ( file.exists() )
 	{
@@ -197,7 +207,7 @@ void UBFeaturesController::loadFavoriteList()
 		in >> elementsNumber;
 		for ( int i = 0; i < elementsNumber; ++i)
 		{
-			QString path;
+			QUrl path;
 			in >> path;
 			/*QFileInfo fileInfo( path );
 			QString fileName = fileInfo.fileName();
@@ -216,7 +226,7 @@ void UBFeaturesController::saveFavoriteList()
 	file.open(QIODevice::WriteOnly);
 	QDataStream out(&file);
 	out << favoriteSet->size();
-	for ( QSet<QString>::iterator it = favoriteSet->begin(); it != favoriteSet->end(); ++it )
+	for ( QSet<QUrl>::iterator it = favoriteSet->begin(); it != favoriteSet->end(); ++it )
 	{
 		out << (*it);
 	}
@@ -226,12 +236,12 @@ void UBFeaturesController::saveFavoriteList()
 UBFeature UBFeaturesController::addToFavorite( const QUrl &path )
 {
 	QString filePath = fileNameFromUrl( path );
-	if ( favoriteSet->find( filePath ) == favoriteSet->end() )
+	if ( favoriteSet->find( path ) == favoriteSet->end() )
 	{
 		QFileInfo fileInfo( filePath );
 		QString fileName = fileInfo.fileName();
-		UBFeature elem( favoritePath, thumbnailForFile( filePath ), fileName, filePath, fileTypeFromUrl(filePath) );
-		favoriteSet->insert( filePath );
+		UBFeature elem( favoritePath, thumbnailForFile( filePath ), fileName, path, fileTypeFromUrl(filePath) );
+		favoriteSet->insert( path );
 		saveFavoriteList();
 		return elem;
 	}
@@ -241,9 +251,9 @@ UBFeature UBFeaturesController::addToFavorite( const QUrl &path )
 void UBFeaturesController::removeFromFavorite( const QUrl &path )
 {
 	QString filePath = fileNameFromUrl( path );
-	if ( favoriteSet->find( filePath ) != favoriteSet->end() )
+	if ( favoriteSet->find( path ) != favoriteSet->end() )
 	{
-		favoriteSet->erase( favoriteSet->find( filePath ) );
+		favoriteSet->erase( favoriteSet->find( path ) );
 		saveFavoriteList();
 	}
 }
@@ -256,6 +266,7 @@ QString UBFeaturesController::fileNameFromUrl( const QUrl &url )
 	return url.toLocalFile();
 }
 
+
 UBFeatureElementType UBFeaturesController::fileTypeFromUrl( const QString &path )
 {
 	QFileInfo fileInfo( path );
@@ -336,24 +347,26 @@ QPixmap UBFeaturesController::createThumbnail(const QString &path)
 
 UBFeature UBFeaturesController::newFolder( const QString &name )
 {
-	QString path = currentElement.getFullPath() + "/" + name;
+    QString path = currentElement.getFullPath().toLocalFile() + "/" + name;
 	if(!QFileInfo(path).exists())
 	{
         QDir().mkpath(path);
 	}
-	return UBFeature( currentElement.getUrl() + "/" + currentElement.getName(), QPixmap(":images/libpalette/folder.svg"), name, path, FEATURE_FOLDER );
+    return UBFeature( currentElement.getFullVirtualPath(), QPixmap(":images/libpalette/folder.svg"), 
+        name, QUrl::fromLocalFile( path ), FEATURE_FOLDER );
 }
 
 void UBFeaturesController::addItemToPage(const UBFeature &item)
 {
-	if ( item.getType() == FEATURE_INTERNAL )
+    UBApplication::boardController->downloadURL( item.getFullPath() );
+	/*if ( item.getType() == FEATURE_INTERNAL )
 	{
 		UBApplication::boardController->downloadURL( QUrl( item.getFullPath() ) );
 	}
 	else
 	{
 		UBApplication::boardController->downloadURL( QUrl::fromLocalFile( item.getFullPath() ) );
-	}
+	}*/
 }
 
 UBFeature UBFeaturesController::getDestinationForItem( const QUrl &url )
@@ -394,14 +407,14 @@ UBFeature UBFeaturesController::copyItemToFolder( const QUrl &url, const UBFeatu
 	UBFeature dest = destination;
 
 	if ( destination != trashElement && 
-		!destination.getVirtualPath().startsWith( possibleDest.getVirtualPath(), Qt::CaseInsensitive ) )
+		!destination.getFullVirtualPath().startsWith( possibleDest.getFullVirtualPath(), Qt::CaseInsensitive ) )
 	{
 		dest = possibleDest;
 	}
 
 	QString name = QFileInfo( sourcePath ).fileName();
-	QString destPath = dest.getFullPath();
-	QString destVirtualPath = dest.getVirtualPath();
+    QString destPath = dest.getFullPath().toLocalFile();
+	QString destVirtualPath = dest.getFullVirtualPath();
 	QString newFullPath = destPath + "/" + name;
 	QFile( sourcePath ).copy( newFullPath );
 
@@ -410,7 +423,7 @@ UBFeature UBFeaturesController::copyItemToFolder( const QUrl &url, const UBFeatu
     UBFeatureElementType type = FEATURE_ITEM;
 	if ( UBFileSystemUtils::mimeTypeFromFileName( newFullPath ).contains("application") ) 
         type = FEATURE_INTERACTIVE;
-	UBFeature newElement( destVirtualPath, thumb, name, newFullPath, type );
+    UBFeature newElement( destVirtualPath, thumb, name, QUrl::fromLocalFile( newFullPath ), type );
 	return newElement;
 }
 
@@ -420,7 +433,7 @@ void UBFeaturesController::deleteItem( const QUrl &url )
 	Q_ASSERT( QFileInfo( path ).exists() );
 
 	QString thumbnailPath = UBFileSystemUtils::thumbnailPath( path );
-    if (thumbnailPath.length() && QFileInfo( thumbnailPath ).exists()) 
+    if ( thumbnailPath.length() && QFileInfo( thumbnailPath ).exists() ) 
 	{
         QFile::remove(thumbnailPath);
     }
@@ -429,7 +442,7 @@ void UBFeaturesController::deleteItem( const QUrl &url )
 
 bool UBFeaturesController::isTrash( const QUrl &url )
 {
-	return url.toLocalFile().startsWith( trashDirectoryPath );
+    return url.toLocalFile().startsWith( trashDirectoryPath.toLocalFile() );
 }
 
 UBFeaturesController::~UBFeaturesController()
diff --git a/src/board/UBFeaturesController.h b/src/board/UBFeaturesController.h
index 4189add4..92f6a6a9 100644
--- a/src/board/UBFeaturesController.h
+++ b/src/board/UBFeaturesController.h
@@ -8,6 +8,8 @@
 #include <QVector>
 #include <QString>
 #include <QPixmap>
+#include <QMap>
+#include <QUrl>
 
 //#include "UBDockPaletteWidget.h"
 
@@ -29,25 +31,30 @@ class UBFeature
 public:
     UBFeature() {;}
 	//UBFeature(const UBFeature &f);
-    UBFeature(const QString &url, const QPixmap &icon, const QString &name, const QString &realPath, UBFeatureElementType type = FEATURE_CATEGORY);
+    UBFeature(const QString &url, const QPixmap &icon, const QString &name, const QUrl &realPath, UBFeatureElementType type = FEATURE_CATEGORY);
     virtual ~UBFeature() {;}
     QString getName() const { return mName; }
     QPixmap getThumbnail() const {return mThumbnail;}
-    QString getUrl() const { return virtualPath; }
+    QString getVirtualPath() const { return virtualPath; }
 	//QString getPath() const { return mPath; };
-    QString getFullPath() const { return mPath; }
-	QString getVirtualPath() const { return  virtualPath + "/" + mName; }
+    QUrl getFullPath() const { return mPath; }
+	QString getFullVirtualPath() const { return  virtualPath + "/" + mName; }
+	QString getUrl() const;
     UBFeatureElementType getType() const { return elementType; }
+
 	bool isFolder() const;
 	bool isDeletable() const;
 	bool operator ==( const UBFeature &f )const;
 	bool operator !=( const UBFeature &f )const;
+	const QMap<QString,QString> & getMetadata() const { return metadata; }
+	void setMetadata( const QMap<QString,QString> &data ) { metadata = data; }
 private:
 	QString virtualPath;
     QPixmap mThumbnail;
     QString mName;
-	QString mPath;
+	QUrl mPath;
     UBFeatureElementType elementType;
+	QMap<QString,QString> metadata;
 };
 Q_DECLARE_METATYPE( UBFeature )
 
@@ -80,7 +87,7 @@ public:
 	static bool isDeletable( const QUrl &url );
 private:
 	void initDirectoryTree();
-	void fileSystemScan(const QString &currPath, const QString & currVirtualPath);
+	void fileSystemScan(const QUrl &currPath, const QString & currVirtualPath);
 	static QPixmap createThumbnail(const QString &path);
 	//void addImageToCurrentPage( const QString &path );
 	void loadFavoriteList();
@@ -92,22 +99,22 @@ private:
 	QList <UBFeature> *featuresList;
 	UBFeature *rootElement;
 
-	QString mUserAudioDirectoryPath;
-    QString mUserVideoDirectoryPath;
-    QString mUserPicturesDirectoryPath;
-    QString mUserInteractiveDirectoryPath;
-    QString mUserAnimationDirectoryPath;
+	QUrl mUserAudioDirectoryPath;
+    QUrl mUserVideoDirectoryPath;
+    QUrl mUserPicturesDirectoryPath;
+    QUrl mUserInteractiveDirectoryPath;
+    QUrl mUserAnimationDirectoryPath;
 
 	QString libraryPath;
-	QString mLibAudioDirectoryPath;
-    QString mLibVideoDirectoryPath;
-    QString mLibPicturesDirectoryPath;
-    QString mLibInteractiveDirectoryPath;
-    QString mLibAnimationDirectoryPath;
-	QString mLibApplicationsDirectoryPath;
-	QString mLibShapesDirectoryPath;
-	QString trashDirectoryPath;
-	QString mLibSearchDirectoryPath;
+	QUrl mLibAudioDirectoryPath;
+    QUrl mLibVideoDirectoryPath;
+    QUrl mLibPicturesDirectoryPath;
+    QUrl mLibInteractiveDirectoryPath;
+    QUrl mLibAnimationDirectoryPath;
+	QUrl mLibApplicationsDirectoryPath;
+	QUrl mLibShapesDirectoryPath;
+	QUrl trashDirectoryPath;
+	QUrl mLibSearchDirectoryPath;
 
 	QString rootPath;
 	QString audiosPath;
@@ -132,7 +139,7 @@ private:
 	UBFeature shapesElement;
 	UBFeature webSearchElement;
 
-	QSet <QString> *favoriteSet;
+	QSet <QUrl> *favoriteSet;
 };
 
 
diff --git a/src/gui/UBFeaturesWidget.cpp b/src/gui/UBFeaturesWidget.cpp
index 5ab37c9b..5b211c83 100644
--- a/src/gui/UBFeaturesWidget.cpp
+++ b/src/gui/UBFeaturesWidget.cpp
@@ -124,6 +124,8 @@ UBFeaturesWidget::UBFeaturesWidget(QWidget *parent, const char *name):UBDockPale
 	connect( pathListView, SIGNAL(clicked( const QModelIndex & ) ),
 		this, SLOT( currentPathChanged( const QModelIndex & ) ) );
 	connect( thumbSlider, SIGNAL( sliderMoved(int) ), this, SLOT(thumbnailSizeChanged( int ) ) );
+	connect( UBApplication::boardController, SIGNAL( displayMetadata( QMap<QString,QString> ) ), 
+		this, SLOT( onDisplayMetadata( QMap<QString,QString> ) ) );
 }
 
 bool UBFeaturesWidget::eventFilter( QObject *target, QEvent *event )
@@ -165,7 +167,7 @@ void UBFeaturesWidget::currentSelected(const QModelIndex &current)
 
 		if ( feature.isFolder() )
 		{
-			QString newPath = feature.getUrl() + "/" + feature.getName();
+			QString newPath = feature.getFullVirtualPath();
 			//pathViewer->addPathElement( feature.getThumbnail(), newPath );
 			controller->setCurrentElement( feature );
 
@@ -208,7 +210,7 @@ void UBFeaturesWidget::currentPathChanged(const QModelIndex &index)
 	if ( index.isValid() )	
 	{
 		UBFeature feature = featuresPathModel->data(index, Qt::UserRole + 1).value<UBFeature>();
-		QString newPath = feature.getUrl() + "/" + feature.getName();
+		QString newPath = feature.getFullVirtualPath();
 
 		featuresPathModel->setPath( newPath );
 		featuresPathModel->invalidate();
@@ -281,7 +283,7 @@ void UBFeaturesWidget::addToFavorite( const QMimeData & mimeData )
 	foreach ( QUrl url, urls )
 	{
 		UBFeature elem = controller->addToFavorite( url );
-		if ( !elem.getUrl().isEmpty() && !elem.getUrl().isNull() )
+		if ( !elem.getVirtualPath().isEmpty() && !elem.getVirtualPath().isNull() )
 			featuresModel->addItem( elem );
 	}
 	QSortFilterProxyModel *model = dynamic_cast<QSortFilterProxyModel *>( featuresListView->model() );
@@ -305,6 +307,16 @@ void UBFeaturesWidget::thumbnailSizeChanged( int value )
 	featuresListView->setGridSize( QSize( value * 1.75, value * 1.75 ) );
 }
 
+void UBFeaturesWidget::onDisplayMetadata( QMap<QString,QString> metadata )
+{
+	UBFeature feature( QString(), QPixmap(":images/libpalette/notFound.png"), QString(), metadata["Url"], FEATURE_ITEM );
+	feature.setMetadata( metadata );
+
+	featureProperties->showElement( feature );
+	switchToProperties();
+	mActionBar->setCurrentState( IN_PROPERTIES );
+}
+
 void UBFeaturesWidget::switchToListView()
 {
 	stackedWidget->setCurrentIndex(ID_LISTVIEW);
@@ -441,7 +453,7 @@ UBFeaturesWebView::~UBFeaturesWebView()
 void UBFeaturesWebView::showElement(const UBFeature &elem)
 {
 	QString qsWidgetName;
-	QString path = elem.getFullPath();
+    QString path = elem.getFullPath().toLocalFile();
 
 	QString qsConfigPath = QString("%0/config.xml").arg(path);
 
@@ -490,6 +502,7 @@ UBFeatureProperties::UBFeatureProperties( QWidget *parent, const char *name ) :
     , mpThumbnail(NULL)
     , mpOrigPixmap(NULL)
     , mpElement(NULL)
+    , mpObjInfos(NULL)
 {
 	setObjectName(name);
 
@@ -529,10 +542,19 @@ UBFeatureProperties::UBFeatureProperties( QWidget *parent, const char *name ) :
 
     mpButtonLayout->addStretch(1);
 
-    mpObjInfoLabel = new QLabel(tr("Object informations"));
+	mpObjInfoLabel = new QLabel(tr("Object informations"));
     mpObjInfoLabel->setStyleSheet(QString("color: #888888; font-size : 18px; font-weight:bold;"));
     mpLayout->addWidget(mpObjInfoLabel, 0);
 
+    mpObjInfos = new QTreeWidget(this);
+    mpObjInfos->setColumnCount(2);
+    mpObjInfos->header()->hide();
+    mpObjInfos->setAlternatingRowColors(true);
+    mpObjInfos->setRootIsDecorated(false);
+    mpObjInfos->setObjectName("DockPaletteWidgetBox");
+    mpObjInfos->setStyleSheet("background:white;");
+    mpLayout->addWidget(mpObjInfos, 1);
+
 	connect(mpAddPageButton, SIGNAL(clicked()), this, SLOT(onAddToPage()));
 
 }
@@ -552,46 +574,65 @@ void UBFeatureProperties::showElement( const UBFeature &elem )
     mpElement = new UBFeature( elem );
 	mpOrigPixmap = new QPixmap( elem.getThumbnail() );
 	mpThumbnail->setPixmap(elem.getThumbnail().scaledToWidth(THUMBNAIL_WIDTH));
-        //populateMetadata();
+    populateMetadata();
 
-    if ( UBApplication::isFromWeb( elem.getUrl() ) )
+    if ( UBApplication::isFromWeb( elem.getFullPath().toString() ) )
 	{
         mpAddToLibButton->show();
-        /*if(elem->metadatas()["Type"].toLower().contains("image"))
+		if( elem.getMetadata()["Type"].toLower().contains("image") )
 		{
             mpSetAsBackgroundButton->show();
         }
 		else
 		{
             mpSetAsBackgroundButton->hide();
-        }*/
+        }
     }
 	else
 	{
         mpAddToLibButton->hide();
-        if (UBFileSystemUtils::mimeTypeFromFileName( elem.getUrl() ).contains("image"))
+        if (UBFileSystemUtils::mimeTypeFromFileName( elem.getFullPath().toLocalFile() ).contains("image"))
 		{
             mpSetAsBackgroundButton->show();
         }
-		else
+	    else
 		{
             mpSetAsBackgroundButton->hide();
         }
     }
 }
 
+void UBFeatureProperties::populateMetadata()
+{
+    if(NULL != mpObjInfos){
+        mpObjInfos->clear();
+		QMap<QString, QString> metas = mpElement->getMetadata();
+        QList<QString> lKeys = metas.keys();
+        QList<QString> lValues = metas.values();
+
+        for(int i=0; i< metas.size(); i++){
+            QStringList values;
+            values << lKeys.at(i);
+            values << lValues.at(i);
+            mpItem = new QTreeWidgetItem(values);
+            mpObjInfos->addTopLevelItem(mpItem);
+        }
+        mpObjInfos->resizeColumnToContents(0);
+    }
+}
+
 void UBFeatureProperties::onAddToPage()
 {
 	QWidget *w = parentWidget()->parentWidget();
     UBFeaturesWidget* featuresWidget = dynamic_cast<UBFeaturesWidget*>( w );
     featuresWidget->getFeaturesController()->addItemToPage( *mpElement );
-    /*if ( UBApplication::isFromWeb( mpElement->getUrl() ) )
+    /*if ( UBApplication::isFromWeb( mpElement->getVirtualPath() ) )
 	{
         sDownloadFileDesc desc;
         desc.isBackground = false;
         desc.modal = true;
         desc.name = QFileInfo( mpElement->getName() ).fileName();
-        desc.url = mpElement->getUrl();
+        desc.url = mpElement->getVirtualPath();
         UBDownloadManager::downloadManager()->addFileToDownload(desc);
 
     }
@@ -641,7 +682,7 @@ QVariant UBFeaturesModel::data(const QModelIndex &index, int role) const
 	}
 	else if (role == Qt::UserRole)
 	{
-		return featuresList->at(index.row()).getUrl();
+		return featuresList->at(index.row()).getVirtualPath();
 	}
 	else if (role == Qt::UserRole + 1)
 	{
@@ -669,7 +710,7 @@ QMimeData* UBFeaturesModel::mimeData(const QModelIndexList &indexes) const
 			}
 			else if ( element.getType() == FEATURE_INTERACTIVE || element.getType() == FEATURE_ITEM )
 			{
-				urlList.push_back( QUrl::fromLocalFile(element.getFullPath()) );
+				urlList.push_back( element.getFullPath() );
 			}
 		}
 	}
@@ -731,8 +772,8 @@ void UBFeaturesModel::deleteFavoriteItem( const QString &path )
 {
 	for ( int i = 0; i < featuresList->size(); ++i )
 	{
-		if ( !QString::compare( featuresList->at(i).getFullPath(), path, Qt::CaseInsensitive ) &&
-			!QString::compare( featuresList->at(i).getUrl(), "/root/favorites", Qt::CaseInsensitive ) )
+		if ( !QString::compare( featuresList->at(i).getUrl(), path, Qt::CaseInsensitive ) &&
+			!QString::compare( featuresList->at(i).getVirtualPath(), "/root/favorites", Qt::CaseInsensitive ) )
 		{
 			removeRow( i, QModelIndex() );
 			return;
@@ -776,7 +817,7 @@ Qt::ItemFlags UBFeaturesModel::flags( const QModelIndex &index ) const
             item.getType() == FEATURE_ITEM ||
 			item.getType() == FEATURE_INTERNAL )
 			return Qt::ItemIsDragEnabled | defaultFlags;
-		if ( item.isFolder() && !item.getFullPath().isNull() )
+		if ( item.isFolder() && !item.getVirtualPath().isNull() )
 			return defaultFlags | Qt::ItemIsDropEnabled;
 		else return defaultFlags | Qt::ItemIsDropEnabled;
 	}
@@ -846,9 +887,8 @@ bool UBFeaturesPathProxyModel::filterAcceptsRow( int sourceRow, const QModelInde
 	eUBLibElementType type = (eUBLibElementType)sourceModel()->data(index, Qt::UserRole + 1).toInt();*/
 
 	UBFeature feature = sourceModel()->data(index, Qt::UserRole + 1).value<UBFeature>();
-	QString virtualFullPath = feature.getUrl() + "/" + feature.getName();
 	
-	return feature.isFolder() && path.startsWith( virtualFullPath );
+	return feature.isFolder() && path.startsWith( feature.getFullVirtualPath() );
 }
 
 QString	UBFeaturesItemDelegate::displayText ( const QVariant & value, const QLocale & locale ) const
diff --git a/src/gui/UBFeaturesWidget.h b/src/gui/UBFeaturesWidget.h
index faaea0c4..572adbc6 100644
--- a/src/gui/UBFeaturesWidget.h
+++ b/src/gui/UBFeaturesWidget.h
@@ -99,6 +99,7 @@ private slots:
 	void addToFavorite( const QMimeData & );
 	void removeFromFavorite( const QMimeData & );
 	void thumbnailSizeChanged( int );
+	void onDisplayMetadata( QMap<QString,QString> );
 protected:
 	bool eventFilter(QObject *target, QEvent *event);
 };
@@ -160,18 +161,20 @@ private slots:
     //void onBack();
 
 private:
+	void populateMetadata();
+
     QVBoxLayout* mpLayout;
     QHBoxLayout* mpButtonLayout;
     UBFeatureItemButton* mpAddPageButton;
     UBFeatureItemButton* mpAddToLibButton;
     UBFeatureItemButton* mpSetAsBackgroundButton;
     QLabel* mpObjInfoLabel;
-    //QTreeWidget* mpObjInfos;
+    QTreeWidget* mpObjInfos;
     QLabel* mpThumbnail;
     QPixmap* mpOrigPixmap;
     int maxThumbHeight;
     UBFeature *mpElement;
-    //QTreeWidgetItem* mpItem;
+    QTreeWidgetItem* mpItem;
 };
 
 

From bfd74d224793e6bbdd893f053d52e749cba86bdc Mon Sep 17 00:00:00 2001
From: Anna Udovichenko <anuta.udovichenko@gmail.com>
Date: Fri, 4 May 2012 20:21:54 +0300
Subject: [PATCH 24/31] added setting element as background

---
 src/board/UBFeaturesController.cpp | 14 ++++++--------
 src/board/UBFeaturesController.h   |  3 ++-
 src/gui/UBFeaturesWidget.cpp       | 29 +++++++++++------------------
 src/gui/UBFeaturesWidget.h         |  2 +-
 4 files changed, 20 insertions(+), 28 deletions(-)

diff --git a/src/board/UBFeaturesController.cpp b/src/board/UBFeaturesController.cpp
index fee95d61..677b8333 100644
--- a/src/board/UBFeaturesController.cpp
+++ b/src/board/UBFeaturesController.cpp
@@ -359,16 +359,14 @@ UBFeature UBFeaturesController::newFolder( const QString &name )
 void UBFeaturesController::addItemToPage(const UBFeature &item)
 {
     UBApplication::boardController->downloadURL( item.getFullPath() );
-	/*if ( item.getType() == FEATURE_INTERNAL )
-	{
-		UBApplication::boardController->downloadURL( QUrl( item.getFullPath() ) );
-	}
-	else
-	{
-		UBApplication::boardController->downloadURL( QUrl::fromLocalFile( item.getFullPath() ) );
-	}*/
 }
 
+void UBFeaturesController::addItemAsBackground(const UBFeature &item)
+{
+    UBApplication::boardController->downloadURL( item.getFullPath(), QPointF(), QSize(), true );
+}
+
+
 UBFeature UBFeaturesController::getDestinationForItem( const QUrl &url )
 {
     QString mimetype = UBFileSystemUtils::mimeTypeFromFileName( fileNameFromUrl(url) );
diff --git a/src/board/UBFeaturesController.h b/src/board/UBFeaturesController.h
index 92f6a6a9..8569b499 100644
--- a/src/board/UBFeaturesController.h
+++ b/src/board/UBFeaturesController.h
@@ -70,7 +70,8 @@ public:
 	
     const QString& getRootPath()const { return rootPath; }
 
-	void addItemToPage(const UBFeature &item);
+	void addItemToPage( const UBFeature &item );
+    void addItemAsBackground( const UBFeature &item );
 	const UBFeature& getCurrentElement()const { return currentElement; }
 	void setCurrentElement( const UBFeature &elem ) { currentElement = elem; }
 	const UBFeature & getTrashElement () const { return trashElement; }
diff --git a/src/gui/UBFeaturesWidget.cpp b/src/gui/UBFeaturesWidget.cpp
index 5b211c83..f2d686c3 100644
--- a/src/gui/UBFeaturesWidget.cpp
+++ b/src/gui/UBFeaturesWidget.cpp
@@ -555,7 +555,8 @@ UBFeatureProperties::UBFeatureProperties( QWidget *parent, const char *name ) :
     mpObjInfos->setStyleSheet("background:white;");
     mpLayout->addWidget(mpObjInfos, 1);
 
-	connect(mpAddPageButton, SIGNAL(clicked()), this, SLOT(onAddToPage()));
+	connect( mpAddPageButton, SIGNAL(clicked()), this, SLOT(onAddToPage()) );
+    connect( mpSetAsBackgroundButton, SIGNAL( clicked() ), this, SLOT( onSetAsBackground() ) );
 
 }
 
@@ -626,22 +627,13 @@ void UBFeatureProperties::onAddToPage()
 	QWidget *w = parentWidget()->parentWidget();
     UBFeaturesWidget* featuresWidget = dynamic_cast<UBFeaturesWidget*>( w );
     featuresWidget->getFeaturesController()->addItemToPage( *mpElement );
-    /*if ( UBApplication::isFromWeb( mpElement->getVirtualPath() ) )
-	{
-        sDownloadFileDesc desc;
-        desc.isBackground = false;
-        desc.modal = true;
-        desc.name = QFileInfo( mpElement->getName() ).fileName();
-        desc.url = mpElement->getVirtualPath();
-        UBDownloadManager::downloadManager()->addFileToDownload(desc);
+}
 
-    }
-	else
-	{
-		QWidget *w = parentWidget()->parentWidget();
-        UBFeaturesWidget* featuresWidget = dynamic_cast<UBFeaturesWidget*>( w );
-        featuresWidget->getFeaturesController()->addItemToPage( *mpElement );
-    }*/
+void UBFeatureProperties::onSetAsBackground()
+{
+    QWidget *w = parentWidget()->parentWidget();
+    UBFeaturesWidget* featuresWidget = dynamic_cast<UBFeaturesWidget*>( w );
+    featuresWidget->getFeaturesController()->addItemAsBackground( *mpElement );
 }
 
 UBFeatureProperties::~UBFeatureProperties()
@@ -704,14 +696,15 @@ QMimeData* UBFeaturesModel::mimeData(const QModelIndexList &indexes) const
 		if ( index.isValid() )
 		{
 			UBFeature element = data( index, Qt::UserRole + 1 ).value<UBFeature>();
-			if ( element.getType() == FEATURE_INTERNAL )
+            urlList.push_back( element.getFullPath() );
+			/*if ( element.getType() == FEATURE_INTERNAL )
 			{
 				urlList.push_back( QUrl( element.getFullPath() ) );
 			}
 			else if ( element.getType() == FEATURE_INTERACTIVE || element.getType() == FEATURE_ITEM )
 			{
 				urlList.push_back( element.getFullPath() );
-			}
+			}*/
 		}
 	}
 	mimeData->setUrls( urlList );
diff --git a/src/gui/UBFeaturesWidget.h b/src/gui/UBFeaturesWidget.h
index 572adbc6..a76584b7 100644
--- a/src/gui/UBFeaturesWidget.h
+++ b/src/gui/UBFeaturesWidget.h
@@ -157,7 +157,7 @@ protected:
 private slots:
     void onAddToPage();
     //void onAddToLib();
-    //void onSetAsBackground();
+    void onSetAsBackground();
     //void onBack();
 
 private:

From 922efd33a77b0412691390a5e064f3fbabe4e983 Mon Sep 17 00:00:00 2001
From: Anna Udovichenko <anuta.udovichenko@gmail.com>
Date: Fri, 4 May 2012 21:35:52 +0300
Subject: [PATCH 25/31] implemented downloading pictures to library

---
 src/board/UBBoardPaletteManager.h  |  2 +-
 src/board/UBFeaturesController.cpp | 21 ++++++++++-
 src/board/UBFeaturesController.h   |  4 ++
 src/gui/UBFeaturesWidget.cpp       | 59 ++++++++++++++++++++++++++++++
 src/gui/UBFeaturesWidget.h         |  8 ++--
 5 files changed, 89 insertions(+), 5 deletions(-)

diff --git a/src/board/UBBoardPaletteManager.h b/src/board/UBBoardPaletteManager.h
index 86ef4355..8e9cef3e 100644
--- a/src/board/UBBoardPaletteManager.h
+++ b/src/board/UBBoardPaletteManager.h
@@ -44,7 +44,7 @@ class UBApplicationController;
 class UBDockTeacherGuideWidget;
 
 // Uncomment this to use old-styles lib paletter
- #define USE_WEB_WIDGET
+// #define USE_WEB_WIDGET
 
 
 class UBBoardPaletteManager : public QObject
diff --git a/src/board/UBFeaturesController.cpp b/src/board/UBFeaturesController.cpp
index 677b8333..b104c317 100644
--- a/src/board/UBFeaturesController.cpp
+++ b/src/board/UBFeaturesController.cpp
@@ -369,7 +369,7 @@ void UBFeaturesController::addItemAsBackground(const UBFeature &item)
 
 UBFeature UBFeaturesController::getDestinationForItem( const QUrl &url )
 {
-    QString mimetype = UBFileSystemUtils::mimeTypeFromFileName( fileNameFromUrl(url) );
+    QString mimetype = UBFileSystemUtils::mimeTypeFromFileName( url.toString() );
 
     if ( mimetype.contains("audio") )
         return audiosElement;
@@ -387,6 +387,25 @@ UBFeature UBFeaturesController::getDestinationForItem( const QUrl &url )
     return UBFeature();
 }
 
+UBFeature UBFeaturesController::addDownloadedFile( const QUrl &sourceUrl, const QByteArray &pData )
+{
+    UBFeature dest = getDestinationForItem( sourceUrl );
+    if ( dest == UBFeature() )
+        return UBFeature();
+    QString fileName = QFileInfo( sourceUrl.toString() ).fileName();
+    QString filePath = dest.getFullPath().toLocalFile() + "/" + fileName;
+
+    QFile file( filePath );
+    if( file.open(QIODevice::WriteOnly )) 
+    {
+        file.write(pData);
+        file.close();
+        return UBFeature( dest.getFullVirtualPath(), thumbnailForFile( filePath ), 
+            fileName, QUrl::fromLocalFile(filePath), FEATURE_ITEM );
+    }
+    return UBFeature();
+}
+
 UBFeature UBFeaturesController::moveItemToFolder( const QUrl &url, const UBFeature &destination )
 {
 	UBFeature newElement = copyItemToFolder( url, destination );
diff --git a/src/board/UBFeaturesController.h b/src/board/UBFeaturesController.h
index 8569b499..0431eb7e 100644
--- a/src/board/UBFeaturesController.h
+++ b/src/board/UBFeaturesController.h
@@ -10,6 +10,7 @@
 #include <QPixmap>
 #include <QMap>
 #include <QUrl>
+#include <QByteArray>
 
 //#include "UBDockPaletteWidget.h"
 
@@ -75,6 +76,9 @@ public:
 	const UBFeature& getCurrentElement()const { return currentElement; }
 	void setCurrentElement( const UBFeature &elem ) { currentElement = elem; }
 	const UBFeature & getTrashElement () const { return trashElement; }
+
+    UBFeature addDownloadedFile( const QUrl &sourceUrl, const QByteArray &pData );
+
 	UBFeature moveItemToFolder( const QUrl &url, const UBFeature &destination );
 	UBFeature copyItemToFolder( const QUrl &url, const UBFeature &destination );
 	void deleteItem( const QUrl &url );
diff --git a/src/gui/UBFeaturesWidget.cpp b/src/gui/UBFeaturesWidget.cpp
index f2d686c3..c5d5cd76 100644
--- a/src/gui/UBFeaturesWidget.cpp
+++ b/src/gui/UBFeaturesWidget.cpp
@@ -126,6 +126,8 @@ UBFeaturesWidget::UBFeaturesWidget(QWidget *parent, const char *name):UBDockPale
 	connect( thumbSlider, SIGNAL( sliderMoved(int) ), this, SLOT(thumbnailSizeChanged( int ) ) );
 	connect( UBApplication::boardController, SIGNAL( displayMetadata( QMap<QString,QString> ) ), 
 		this, SLOT( onDisplayMetadata( QMap<QString,QString> ) ) );
+    connect( UBDownloadManager::downloadManager(), SIGNAL( addDownloadedFileToLibrary( bool, QUrl, QString, QByteArray ) ), 
+        this, SLOT( onAddDownloadedFileToLibrary( bool, QUrl, QString,QByteArray ) ) );
 }
 
 bool UBFeaturesWidget::eventFilter( QObject *target, QEvent *event )
@@ -317,6 +319,20 @@ void UBFeaturesWidget::onDisplayMetadata( QMap<QString,QString> metadata )
 	mActionBar->setCurrentState( IN_PROPERTIES );
 }
 
+void UBFeaturesWidget::onAddDownloadedFileToLibrary(bool pSuccess, QUrl sourceUrl, QString pContentHeader, QByteArray pData)
+{
+    if ( pSuccess )
+    {
+        UBFeature newFeature = controller->addDownloadedFile( sourceUrl, pData );
+        if ( newFeature != UBFeature() )
+        {
+            featuresModel->addItem( newFeature );
+	        QSortFilterProxyModel *model = dynamic_cast<QSortFilterProxyModel *>( featuresListView->model() );
+	        model->invalidate();
+        }
+    }
+}
+
 void UBFeaturesWidget::switchToListView()
 {
 	stackedWidget->setCurrentIndex(ID_LISTVIEW);
@@ -557,7 +573,34 @@ UBFeatureProperties::UBFeatureProperties( QWidget *parent, const char *name ) :
 
 	connect( mpAddPageButton, SIGNAL(clicked()), this, SLOT(onAddToPage()) );
     connect( mpSetAsBackgroundButton, SIGNAL( clicked() ), this, SLOT( onSetAsBackground() ) );
+    connect( mpAddToLibButton, SIGNAL( clicked() ), this, SLOT(onAddToLib() ) );
+}
+
+void UBFeatureProperties::resizeEvent( QResizeEvent *event )
+{
+    Q_UNUSED(event);
+    adaptSize();
+}
+
+void UBFeatureProperties::showEvent (QShowEvent *event )
+{
+    Q_UNUSED(event);
+    adaptSize();
+}
 
+void UBFeatureProperties::adaptSize()
+{
+    if( NULL != mpOrigPixmap )
+    {
+        if( width() < THUMBNAIL_WIDTH + 40 )
+        {
+            mpThumbnail->setPixmap( mpOrigPixmap->scaledToWidth( width() - 40 ) );
+        }
+        else
+        {
+            mpThumbnail->setPixmap( mpOrigPixmap->scaledToWidth( THUMBNAIL_WIDTH ) );
+        }
+    }
 }
 
 void UBFeatureProperties::showElement( const UBFeature &elem )
@@ -629,6 +672,22 @@ void UBFeatureProperties::onAddToPage()
     featuresWidget->getFeaturesController()->addItemToPage( *mpElement );
 }
 
+void UBFeatureProperties::onAddToLib()
+{
+    if ( UBApplication::isFromWeb(  mpElement->getFullPath().toString() ) )
+    {
+        sDownloadFileDesc desc;
+        desc.isBackground = false;
+        desc.modal = false;
+        desc.name = QFileInfo( mpElement->getFullPath().toString()).fileName();
+        qDebug() << desc.name;
+        desc.url = mpElement->getFullPath().toString();
+        qDebug() << desc.url;
+        UBDownloadManager::downloadManager()->addFileToDownload(desc);
+    }
+}
+
+
 void UBFeatureProperties::onSetAsBackground()
 {
     QWidget *w = parentWidget()->parentWidget();
diff --git a/src/gui/UBFeaturesWidget.h b/src/gui/UBFeaturesWidget.h
index a76584b7..d9e77a4d 100644
--- a/src/gui/UBFeaturesWidget.h
+++ b/src/gui/UBFeaturesWidget.h
@@ -100,6 +100,7 @@ private slots:
 	void removeFromFavorite( const QMimeData & );
 	void thumbnailSizeChanged( int );
 	void onDisplayMetadata( QMap<QString,QString> );
+    void onAddDownloadedFileToLibrary(bool, QUrl, QString, QByteArray);
 protected:
 	bool eventFilter(QObject *target, QEvent *event);
 };
@@ -151,17 +152,18 @@ public:
 
 
 protected:
-    //void resizeEvent(QResizeEvent *event);
-    //void showEvent(QShowEvent *event);
+    void resizeEvent(QResizeEvent *event);
+    void showEvent(QShowEvent *event);
 
 private slots:
     void onAddToPage();
-    //void onAddToLib();
+    void onAddToLib();
     void onSetAsBackground();
     //void onBack();
 
 private:
 	void populateMetadata();
+    void adaptSize();
 
     QVBoxLayout* mpLayout;
     QHBoxLayout* mpButtonLayout;

From c904d74fdb114d73f1e3af4a402c0211e3c3b41f Mon Sep 17 00:00:00 2001
From: Aleksei Kanash <sc.kanash.aleksei@gmail.com>
Date: Mon, 7 May 2012 14:06:31 +0300
Subject: [PATCH 26/31] Fix to SANKORE-642. Exporting PDF with annotations
 works fine now.

---
 src/adaptors/UBExportFullPDF.cpp | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/adaptors/UBExportFullPDF.cpp b/src/adaptors/UBExportFullPDF.cpp
index 8f6b80f6..b7499f97 100644
--- a/src/adaptors/UBExportFullPDF.cpp
+++ b/src/adaptors/UBExportFullPDF.cpp
@@ -100,6 +100,7 @@ void UBExportFullPDF::saveOverlayPdf(UBDocumentProxy* pDocumentProxy, const QStr
 		if (pageIndex != 0) pdfPrinter.newPage();
 
         //render to PDF
+        scene->setDrawingMode(true);
         scene->render(pdfPainter, QRectF(), scene->normalizedSceneRect());
 
         //restore screen rendering quality
@@ -107,6 +108,7 @@ void UBExportFullPDF::saveOverlayPdf(UBDocumentProxy* pDocumentProxy, const QStr
         scene->setRenderingQuality(UBItem::RenderingQualityNormal);
 
         //restore background state
+        scene->setDrawingMode(false);
         scene->setBackground(isDark, isCrossed);
     }
 

From b5fd37a9ddef890bf6bbf8b939dc9a1a284c5237 Mon Sep 17 00:00:00 2001
From: Anna Udovichenko <anuta.udovichenko@gmail.com>
Date: Mon, 7 May 2012 16:50:25 +0300
Subject: [PATCH 27/31] added importing images from board to library

---
 src/board/UBFeaturesController.cpp | 21 ++++++++++++
 src/board/UBFeaturesController.h   |  1 +
 src/gui/UBFeaturesWidget.cpp       | 55 +++++++++++++++++++-----------
 src/gui/UBFeaturesWidget.h         |  1 +
 4 files changed, 58 insertions(+), 20 deletions(-)

diff --git a/src/board/UBFeaturesController.cpp b/src/board/UBFeaturesController.cpp
index b104c317..a2678f36 100644
--- a/src/board/UBFeaturesController.cpp
+++ b/src/board/UBFeaturesController.cpp
@@ -345,6 +345,27 @@ QPixmap UBFeaturesController::createThumbnail(const QString &path)
     return QPixmap(thumbnailPath);
 }
 
+UBFeature UBFeaturesController::importImage( const QImage &image, const UBFeature &destination )
+{
+    QDateTime now = QDateTime::currentDateTime();
+    QString fileName = tr("ImportedImage") + "-" + now.toString("dd-MM-yyyy hh-mm-ss") + ".png";
+
+    UBFeature dest = destination;
+
+    if ( !destination.getFullVirtualPath().startsWith( picturesElement.getFullVirtualPath(), Qt::CaseInsensitive ) )
+    {
+	    dest = picturesElement;
+    }
+
+    QString filePath = dest.getFullPath().toLocalFile() + "/" + fileName;
+    image.save(filePath);
+
+    QPixmap thumb = createThumbnail( filePath );
+    return UBFeature( dest.getFullVirtualPath(), thumb, fileName, 
+        QUrl::fromLocalFile( filePath ), FEATURE_ITEM );
+    
+}
+
 UBFeature UBFeaturesController::newFolder( const QString &name )
 {
     QString path = currentElement.getFullPath().toLocalFile() + "/" + name;
diff --git a/src/board/UBFeaturesController.h b/src/board/UBFeaturesController.h
index 0431eb7e..254514a4 100644
--- a/src/board/UBFeaturesController.h
+++ b/src/board/UBFeaturesController.h
@@ -86,6 +86,7 @@ public:
 	UBFeature newFolder( const QString &name );
 	UBFeature addToFavorite( const QUrl &path );
 	void removeFromFavorite( const QUrl &path );
+    UBFeature importImage( const QImage &image, const UBFeature &destination );
 
 	static QString fileNameFromUrl( const QUrl &url );
 	static QPixmap thumbnailForFile( const QString &path );
diff --git a/src/gui/UBFeaturesWidget.cpp b/src/gui/UBFeaturesWidget.cpp
index c5d5cd76..b5e70b2b 100644
--- a/src/gui/UBFeaturesWidget.cpp
+++ b/src/gui/UBFeaturesWidget.cpp
@@ -404,13 +404,19 @@ void UBFeaturesListView::mouseReleaseEvent( QMouseEvent *event )
 */
 void UBFeaturesListView::dragEnterEvent( QDragEnterEvent *event )
 {
-	if ( event->mimeData()->hasUrls() )
+    if ( event->mimeData()->hasUrls() || event->mimeData()->hasImage() )
 		event->acceptProposedAction();
 }
 
+void UBFeaturesListView::dragMoveEvent( QDragMoveEvent *event )
+{
+    if ( event->mimeData()->hasUrls() || event->mimeData()->hasImage() )
+        event->acceptProposedAction();
+}
+
 void UBFeaturesListView::dropEvent( QDropEvent *event )
 {
-	if( event->source() || dynamic_cast<UBFeaturesListView *>( event->source() ) )
+	if( event->source() && dynamic_cast<UBFeaturesListView *>( event->source() ) )
 	{
 		event->setDropAction( Qt::MoveAction );
 	}
@@ -775,7 +781,7 @@ bool UBFeaturesModel::dropMimeData(const QMimeData *mimeData, Qt::DropAction act
 {
     Q_UNUSED(row)
 
-    if ( !mimeData->hasUrls() )
+    if ( !mimeData->hasUrls() && !mimeData->hasImage() )
 		return false;
 	if ( action == Qt::IgnoreAction )
 		return true;
@@ -794,22 +800,31 @@ bool UBFeaturesModel::dropMimeData(const QMimeData *mimeData, Qt::DropAction act
 		parentFeature = parent.data( Qt::UserRole + 1).value<UBFeature>();
 	}
 
-	QList<QUrl> urls = mimeData->urls();
-	
-	foreach ( QUrl url, urls )
-	{
-		UBFeature element;
-		
-		if ( action == Qt::MoveAction )
-		{
-			element = dynamic_cast<UBFeaturesWidget *>(QObject::parent())->getFeaturesController()->moveItemToFolder( url, parentFeature );
-		}
-		else
-		{
-			element = dynamic_cast<UBFeaturesWidget *>(QObject::parent())->getFeaturesController()->copyItemToFolder( url, parentFeature );
-		}
-		addItem( element );
-	}
+    if ( mimeData->hasUrls() )
+    {
+	    QList<QUrl> urls = mimeData->urls();
+    	
+	    foreach ( QUrl url, urls )
+	    {
+		    UBFeature element;
+    		
+		    if ( action == Qt::MoveAction )
+		    {
+			    element = dynamic_cast<UBFeaturesWidget *>(QObject::parent())->getFeaturesController()->moveItemToFolder( url, parentFeature );
+		    }
+		    else
+		    {
+			    element = dynamic_cast<UBFeaturesWidget *>(QObject::parent())->getFeaturesController()->copyItemToFolder( url, parentFeature );
+		    }
+		    addItem( element );
+	    }
+    }
+    else if ( mimeData->hasImage() )
+    {
+        QImage image = qvariant_cast<QImage>( mimeData->imageData() );
+        UBFeature element = dynamic_cast<UBFeaturesWidget *>(QObject::parent())->getFeaturesController()->importImage( image, parentFeature );
+        addItem( element );
+    }
 	return true;
 }
 
@@ -897,7 +912,7 @@ Qt::ItemFlags UBFeaturesModel::flags( const QModelIndex &index ) const
 QStringList UBFeaturesModel::mimeTypes() const
 {
 	QStringList types;
-    types << "text/uri-list";
+    types << "text/uri-list" << "image/png" << "image/tiff" << "image/gif" << "image/jpeg";
     return types;
 }
 
diff --git a/src/gui/UBFeaturesWidget.h b/src/gui/UBFeaturesWidget.h
index d9e77a4d..69dfe4fa 100644
--- a/src/gui/UBFeaturesWidget.h
+++ b/src/gui/UBFeaturesWidget.h
@@ -114,6 +114,7 @@ public:
 protected:
 	virtual void dragEnterEvent( QDragEnterEvent *event );
 	virtual void dropEvent( QDropEvent *event );
+    virtual void dragMoveEvent( QDragMoveEvent *event );
 	/*virtual void mousePressEvent( QMouseEvent *event );
 	virtual void mouseMoveEvent( QMouseEvent *event );
 	virtual void mouseReleaseEvent( QMouseEvent *event );*/

From 604ea2faeafd751d10a6d6d9cde2fdf19085d4b7 Mon Sep 17 00:00:00 2001
From: Anna Udovichenko <anuta.udovichenko@gmail.com>
Date: Mon, 7 May 2012 17:22:16 +0300
Subject: [PATCH 28/31] Fixed some DnD bugs

---
 src/board/UBFeaturesController.cpp | 36 ++++++++++++++++++++++++++++--
 src/gui/UBFeaturesWidget.cpp       |  2 +-
 2 files changed, 35 insertions(+), 3 deletions(-)

diff --git a/src/board/UBFeaturesController.cpp b/src/board/UBFeaturesController.cpp
index a2678f36..5bd9f5b7 100644
--- a/src/board/UBFeaturesController.cpp
+++ b/src/board/UBFeaturesController.cpp
@@ -429,8 +429,39 @@ UBFeature UBFeaturesController::addDownloadedFile( const QUrl &sourceUrl, const
 
 UBFeature UBFeaturesController::moveItemToFolder( const QUrl &url, const UBFeature &destination )
 {
-	UBFeature newElement = copyItemToFolder( url, destination );
+	/*UBFeature newElement = copyItemToFolder( url, destination );
 	deleteItem( url );
+	return newElement;*/
+    QString sourcePath = url.toLocalFile();
+
+	Q_ASSERT( QFileInfo( sourcePath ).exists() );
+
+	UBFeature possibleDest = getDestinationForItem( url );
+
+	UBFeature dest = destination;
+
+	if ( destination != trashElement && 
+		!destination.getFullVirtualPath().startsWith( possibleDest.getFullVirtualPath(), Qt::CaseInsensitive ) )
+	{
+		dest = possibleDest;
+	}
+
+	QString name = QFileInfo( sourcePath ).fileName();
+    QString destPath = dest.getFullPath().toLocalFile();
+	QString destVirtualPath = dest.getFullVirtualPath();
+	QString newFullPath = destPath + "/" + name;
+    if ( sourcePath.compare( newFullPath, Qt::CaseInsensitive ) )
+    {
+	    QFile( sourcePath ).copy( newFullPath );
+        deleteItem( url );
+    }
+
+	QPixmap thumb = thumbnailForFile( newFullPath );
+	
+    UBFeatureElementType type = FEATURE_ITEM;
+	if ( UBFileSystemUtils::mimeTypeFromFileName( newFullPath ).contains("application") ) 
+        type = FEATURE_INTERACTIVE;
+    UBFeature newElement( destVirtualPath, thumb, name, QUrl::fromLocalFile( newFullPath ), type );
 	return newElement;
 }
 
@@ -454,7 +485,8 @@ UBFeature UBFeaturesController::copyItemToFolder( const QUrl &url, const UBFeatu
     QString destPath = dest.getFullPath().toLocalFile();
 	QString destVirtualPath = dest.getFullVirtualPath();
 	QString newFullPath = destPath + "/" + name;
-	QFile( sourcePath ).copy( newFullPath );
+    if ( !sourcePath.compare( newFullPath, Qt::CaseInsensitive ) )
+	    QFile( sourcePath ).copy( newFullPath );
 
 	QPixmap thumb = thumbnailForFile( newFullPath );
 	
diff --git a/src/gui/UBFeaturesWidget.cpp b/src/gui/UBFeaturesWidget.cpp
index b5e70b2b..ea0fcaa7 100644
--- a/src/gui/UBFeaturesWidget.cpp
+++ b/src/gui/UBFeaturesWidget.cpp
@@ -831,7 +831,7 @@ bool UBFeaturesModel::dropMimeData(const QMimeData *mimeData, Qt::DropAction act
 void UBFeaturesModel::addItem( const UBFeature &item )
 {
 	beginInsertRows( QModelIndex(), featuresList->size(), featuresList->size() );
-	featuresList->push_back( item );
+	featuresList->append( item );
 	endInsertRows();
 }
 

From de0ea916ad629a5a043a82b373d19a51546baa22 Mon Sep 17 00:00:00 2001
From: Anna Udovichenko <anuta.udovichenko@gmail.com>
Date: Mon, 7 May 2012 18:38:07 +0300
Subject: [PATCH 29/31] Implemented adding selected group of elements to
 favorite

---
 src/gui/UBFeaturesActionBar.cpp |  9 +++++++--
 src/gui/UBFeaturesActionBar.h   |  2 ++
 src/gui/UBFeaturesWidget.cpp    | 35 +++++++++++++++++++++++----------
 src/gui/UBFeaturesWidget.h      |  1 +
 4 files changed, 35 insertions(+), 12 deletions(-)

diff --git a/src/gui/UBFeaturesActionBar.cpp b/src/gui/UBFeaturesActionBar.cpp
index ac009c48..8311bfc9 100644
--- a/src/gui/UBFeaturesActionBar.cpp
+++ b/src/gui/UBFeaturesActionBar.cpp
@@ -66,8 +66,8 @@ UBFeaturesActionBar::UBFeaturesActionBar( UBFeaturesController *controller, QWid
     mButtonGroup->addButton(mpRemoveFavoriteBtn);
     mButtonGroup->addButton(mpNewFolderBtn);
     // Connect signals & slots
-    /*connect(mpFavoriteAction,SIGNAL(triggered()), this, SLOT(onActionFavorite()));
-    connect(mpSocialAction,SIGNAL(triggered()), this, SLOT(onActionSocial()));
+    connect(mpFavoriteAction,SIGNAL(triggered()), this, SLOT(onActionFavorite()));
+    /*connect(mpSocialAction,SIGNAL(triggered()), this, SLOT(onActionSocial()));
     connect(mpSearchAction,SIGNAL(triggered()), this, SLOT(onActionSearch()));
     connect(mpDeleteAction,SIGNAL(triggered()), this, SLOT(onActionTrash()));
     connect(mpCloseAction, SIGNAL(triggered()), this, SLOT(onActionClose()));
@@ -170,6 +170,11 @@ void UBFeaturesActionBar::onActionNewFolder()
     emit newFolderToCreate();
 }
 
+void UBFeaturesActionBar::onActionFavorite()
+{
+    emit addElementsToFavorite();
+}
+
 /*
 void UBFeaturesActionBar::dragMoveEvent(QDragMoveEvent *event)
 {
diff --git a/src/gui/UBFeaturesActionBar.h b/src/gui/UBFeaturesActionBar.h
index a45371d8..7aec99a9 100644
--- a/src/gui/UBFeaturesActionBar.h
+++ b/src/gui/UBFeaturesActionBar.h
@@ -30,9 +30,11 @@ signals:
 	void deleteElements( const QMimeData &data );
 	void addToFavorite( const QMimeData &data );
 	void removeFromFavorite( const QMimeData &data );
+    void addElementsToFavorite();
 private slots:
 	void onSearchTextChanged(QString txt);
 	void onActionNewFolder();
+    void onActionFavorite();
 protected:
 	//void dragMoveEvent(QDragMoveEvent *event);
 	void dragEnterEvent( QDragEnterEvent *event );
diff --git a/src/gui/UBFeaturesWidget.cpp b/src/gui/UBFeaturesWidget.cpp
index ea0fcaa7..7a71b555 100644
--- a/src/gui/UBFeaturesWidget.cpp
+++ b/src/gui/UBFeaturesWidget.cpp
@@ -121,6 +121,7 @@ UBFeaturesWidget::UBFeaturesWidget(QWidget *parent, const char *name):UBDockPale
 	connect( mActionBar, SIGNAL( deleteElements(const QMimeData &) ), this, SLOT( deleteElements(const QMimeData &) ) ); 
 	connect( mActionBar, SIGNAL( addToFavorite(const QMimeData &) ), this, SLOT( addToFavorite(const QMimeData &) ) );
 	connect( mActionBar, SIGNAL( removeFromFavorite(const QMimeData &) ), this, SLOT( removeFromFavorite(const QMimeData &) ) );
+    connect ( mActionBar, SIGNAL( addElementsToFavorite() ), this, SLOT ( addElementsToFavorite() ) ); 
 	connect( pathListView, SIGNAL(clicked( const QModelIndex & ) ),
 		this, SLOT( currentPathChanged( const QModelIndex & ) ) );
 	connect( thumbSlider, SIGNAL( sliderMoved(int) ), this, SLOT(thumbnailSizeChanged( int ) ) );
@@ -333,6 +334,20 @@ void UBFeaturesWidget::onAddDownloadedFileToLibrary(bool pSuccess, QUrl sourceUr
     }
 }
 
+void UBFeaturesWidget::addElementsToFavorite()
+{
+    QModelIndexList selected = featuresListView->selectionModel()->selectedIndexes();
+    for ( int i = 0; i < selected.size(); ++i )
+    {
+        UBFeature feature = selected.at(i).data( Qt::UserRole + 1 ).value<UBFeature>();
+        UBFeature elem = controller->addToFavorite( feature.getFullPath() );
+		if ( !elem.getVirtualPath().isEmpty() && !elem.getVirtualPath().isNull() )
+			featuresModel->addItem( elem );
+    }
+    QSortFilterProxyModel *model = dynamic_cast<QSortFilterProxyModel *>( featuresListView->model() );
+	model->invalidate();
+}
+
 void UBFeaturesWidget::switchToListView()
 {
 	stackedWidget->setCurrentIndex(ID_LISTVIEW);
@@ -806,17 +821,17 @@ bool UBFeaturesModel::dropMimeData(const QMimeData *mimeData, Qt::DropAction act
     	
 	    foreach ( QUrl url, urls )
 	    {
-		    UBFeature element;
+	        UBFeature element;
     		
-		    if ( action == Qt::MoveAction )
-		    {
-			    element = dynamic_cast<UBFeaturesWidget *>(QObject::parent())->getFeaturesController()->moveItemToFolder( url, parentFeature );
-		    }
-		    else
-		    {
-			    element = dynamic_cast<UBFeaturesWidget *>(QObject::parent())->getFeaturesController()->copyItemToFolder( url, parentFeature );
-		    }
-		    addItem( element );
+	        if ( action == Qt::MoveAction )
+	        {
+		        element = dynamic_cast<UBFeaturesWidget *>(QObject::parent())->getFeaturesController()->moveItemToFolder( url, parentFeature );
+	        }
+	        else
+	        {
+		        element = dynamic_cast<UBFeaturesWidget *>(QObject::parent())->getFeaturesController()->copyItemToFolder( url, parentFeature );
+	        }
+	        addItem( element );
 	    }
     }
     else if ( mimeData->hasImage() )
diff --git a/src/gui/UBFeaturesWidget.h b/src/gui/UBFeaturesWidget.h
index 69dfe4fa..85aaebbd 100644
--- a/src/gui/UBFeaturesWidget.h
+++ b/src/gui/UBFeaturesWidget.h
@@ -101,6 +101,7 @@ private slots:
 	void thumbnailSizeChanged( int );
 	void onDisplayMetadata( QMap<QString,QString> );
     void onAddDownloadedFileToLibrary(bool, QUrl, QString, QByteArray);
+    void addElementsToFavorite();
 protected:
 	bool eventFilter(QObject *target, QEvent *event);
 };

From 0798539824ee527e2516b51b3e8679497ecdb929 Mon Sep 17 00:00:00 2001
From: Aleksei Kanash <sc.kanash.aleksei@gmail.com>
Date: Mon, 7 May 2012 18:32:09 +0300
Subject: [PATCH 30/31] Fix to SANKORE-534. WebMenu toolbar and keyboard
 doesn't disappears on mac now.

---
 src/board/UBBoardPaletteManager.cpp | 4 ++--
 src/web/UBWebController.cpp         | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/board/UBBoardPaletteManager.cpp b/src/board/UBBoardPaletteManager.cpp
index 980a6911..df5aa41b 100644
--- a/src/board/UBBoardPaletteManager.cpp
+++ b/src/board/UBBoardPaletteManager.cpp
@@ -731,11 +731,11 @@ void UBBoardPaletteManager::changeMode(eUBDockPaletteWidgetMode newMode, bool is
                     if(mKeyboardPalette->m_isVisible)
                     {
                         mKeyboardPalette->hide();
-                        mKeyboardPalette->setParent(brWnd);
+                        mKeyboardPalette->setParent(UBApplication::mainWindow);
                         mKeyboardPalette->show();
                     }
                     else
-                        mKeyboardPalette->setParent(brWnd);
+                        mKeyboardPalette->setParent(UBApplication::mainWindow);
                 }
 
             }
diff --git a/src/web/UBWebController.cpp b/src/web/UBWebController.cpp
index ca46e500..2e975868 100644
--- a/src/web/UBWebController.cpp
+++ b/src/web/UBWebController.cpp
@@ -423,7 +423,7 @@ void UBWebController::setupPalettes()
 {
     if(!(*mToolsCurrentPalette))
     {
-        (*mToolsCurrentPalette) = new UBWebToolsPalette((*mCurrentWebBrowser),false);
+        (*mToolsCurrentPalette) = new UBWebToolsPalette(UBApplication::mainWindow, false);
 
 #ifndef Q_WS_WIN
         if (UBPlatformUtils::hasVirtualKeyboard() && UBApplication::boardController->paletteManager()->mKeyboardPalette)

From 865f0769f0bc030bf7577438bb8bbe6c89ab2e0d Mon Sep 17 00:00:00 2001
From: Anatoly Mihalchenko <tolik@scand.com>
Date: Tue, 8 May 2012 19:26:42 +0300
Subject: [PATCH 31/31] SANKORE-628 QT:Sankore crashes after page shuffled on a
 document palette

---
 src/document/UBDocumentController.cpp | 6 ++++++
 src/document/UBDocumentController.h   | 1 +
 2 files changed, 7 insertions(+)

diff --git a/src/document/UBDocumentController.cpp b/src/document/UBDocumentController.cpp
index 30b3f4d8..5a87f0d8 100644
--- a/src/document/UBDocumentController.cpp
+++ b/src/document/UBDocumentController.cpp
@@ -71,9 +71,15 @@ UBDocumentController::UBDocumentController(UBMainWindow* mainWindow)
 {
     setupViews();
     setupToolbar();
+    this->selectDocument(UBApplication::boardController->activeDocument());
     connect(this, SIGNAL(exportDone()), mMainWindow, SLOT(onExportDone()));
+    connect(mMainWindow->actionNewPage, SIGNAL(triggered()), this, SLOT(reloadThumbs()));
 }
 
+void UBDocumentController::reloadThumbs()
+{
+    mDocumentThumbs = UBThumbnailAdaptor::load(selectedDocumentProxy());
+}
 
 UBDocumentController::~UBDocumentController()
 {
diff --git a/src/document/UBDocumentController.h b/src/document/UBDocumentController.h
index 76a8d42e..ac3f4ab3 100644
--- a/src/document/UBDocumentController.h
+++ b/src/document/UBDocumentController.h
@@ -75,6 +75,7 @@ class UBDocumentController : public QObject
         void copy();
         void paste();
         void focusChanged(QWidget *old, QWidget *current);
+        void reloadThumbs();
 
     protected:
         virtual void setupViews();