Index: /applications/editors/josm/plugins/opendata/modules/fr.toulouse/src/org/openstreetmap/josm/plugins/opendata/modules/fr/toulouse/datasets/urbanisme/VoirieHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/modules/fr.toulouse/src/org/openstreetmap/josm/plugins/opendata/modules/fr/toulouse/datasets/urbanisme/VoirieHandler.java	(revision 35278)
+++ /applications/editors/josm/plugins/opendata/modules/fr.toulouse/src/org/openstreetmap/josm/plugins/opendata/modules/fr/toulouse/datasets/urbanisme/VoirieHandler.java	(revision 35279)
@@ -22,5 +22,5 @@
 
     public VoirieHandler() {
-        this("filaire-de-voirie", "lib_off", "highway");
+        this("filaire-de-voirie", "libelle", "highway");
         setName("Filaire de voirie");
         setCategory(CAT_URBANISME);
@@ -33,7 +33,10 @@
         map.put("motorway", Arrays.asList("A6", "AUTOROUTE "));
         map.put("trunk", Arrays.asList("ROCADE "));
-        map.put("secondary", Arrays.asList("AV ", "BD ", "ALL ", "PONT ", "RTE ", "PORT ", "BOULINGRIN"));
-        map.put("residential", Arrays.asList("RUE ", "GRANDE-RUE ", "PROM ", "CHE", "CAMINOT ", "IMP ", "COURS ",
-                "LOT ", "ANC", "VIEUX ", "PL ", "CLOS ", "CITE ", "RESIDENCE ", "SENTIER ", "QU ", "SQ ", "VOIE ", "ESP "));
+        map.put("primary", Arrays.asList("NATIONALE ", "RN "));
+        map.put("secondary", Arrays.asList("AV ", "AVENUE ", "BD ", "BOULEVARD ", "ALL ", "ALLEE ", "ALLEES ", "PONT ", "RTE ", "ROUTE ",
+                "PORT ", "BOULINGRIN", "DEPARTEMENTALE ", "RD "));
+        map.put("residential", Arrays.asList("RUE ", "GRANDE-RUE ", "PASSAGE ", "PROM ", "PROMENADE ", "CHE", "CAMINOT ", "IMP ", "IMPASSE ",
+                "COURS ", "LOT ", "LOTISSEMENT ", "ANC", "VIEUX ", "PL ", "PLACE ", "CLOS ", "CITE ", "RESIDENCE ", "SENTIER ", "QU ", "QUAI ",
+                "SQ ", "SQUARE ", "VOIE ", "ESP ", "ESPACE ", "ESPLANADE ", "TRAVERSE "));
         map.put("unclassified", Arrays.asList("ZONE "));
         map.put("road", Arrays.asList("VA "));
@@ -72,5 +75,8 @@
                 w.remove(streetField);
                 w.remove("mot_directeur");
+                w.remove("code_insee");
                 w.remove("color");
+                w.remove("commune");
+                w.remove("id_troncon");
                 w.remove("rivoli");
                 w.remove("nrivoli");
@@ -80,5 +86,5 @@
                 }
 
-                if (name.startsWith("RPT ") || name.startsWith("GIRATOIRE ")) {
+                if (name.startsWith("RPT ") || name.startsWith("RON") || name.startsWith("GIRAT")) {
                     // TODO: find correct highway
                     w.put("junction", "roundabout");
@@ -87,5 +93,9 @@
                 }
 
-                w.put("name", name);
+                if (w.hasKey("libelle_complet")) {
+                    replace(w, "libelle_complet", "name");
+                } else {
+                    w.put("name", name);
+                }
 
                 if (name.matches("D[0-9]+.*")) {
@@ -101,5 +111,5 @@
                         associatedStreets.put(getStreetId(w), street = new Relation());
                         street.put("type", "associatedStreet");
-                        street.put("name", name);
+                        street.put("name", w.get("name"));
                         ds.addPrimitive(street);
                     }
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/DataSetUpdater.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/DataSetUpdater.java	(revision 35278)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/DataSetUpdater.java	(revision 35279)
@@ -83,4 +83,10 @@
                 }
             }
+            // Remove geographic attributes
+            for (OsmPrimitive p : dataSet.allPrimitives()) {
+                if (p.isTagged()) {
+                    p.remove("geo_point_2d");
+                }
+            }
         }
     }
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/util/NamesFrUtils.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/util/NamesFrUtils.java	(revision 35278)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/util/NamesFrUtils.java	(revision 35279)
@@ -53,14 +53,18 @@
         if (label == null) {
             return label;
-        } else if (label.equals("All")) {
+        } else if (label.startsWith("All")) {
             return "Allée";
         } else if (label.equals("Autoroute")) {
             return label;
-        } else if (label.startsWith("Anc")) { // Anc, Ancien
+        } else if (label.startsWith("Anc")) {
             return "Ancien";
-        } else if (label.equals("Av")) {
+        } else if (label.startsWith("Av")) {
             return "Avenue";
-        } else if (label.equals("Bd")) {
+        } else if (label.startsWith("Barr")) {
+            return "Barrière";
+        } else if (label.equals("Bd") || label.equals("Boulevard")) {
             return "Boulevard";
+        } else if (label.startsWith("Bret")) {
+            return "Bretelle";
         } else if (label.equals("Bre")) {
             return "Bré";
@@ -69,21 +73,27 @@
         } else if (label.equals("Carrefour")) {
             return label;
-        } else if (label.startsWith("Che")) { // Che, Chem
+        } else if (label.equals("Carré")) {
+            return label;
+        } else if (label.startsWith("Chemine")) {
+            return "Cheminement";
+        } else if (label.startsWith("Che")) {
             return "Chemin";
-        } else if (label.equals("Cite")) {
+        } else if (label.startsWith("Cit")) {
             return "Cité";
         } else if (label.equals("Clos")) {
             return label;
-        } else if (label.equals("Cote")) {
+        } else if (label.equals("Cote") || label.equals("Côte")) {
             return "Côte";
         } else if (label.equals("Cours")) {
             return label;
-        } else if (label.equals("Dom")) {
+        } else if (label.startsWith("Dep") || label.startsWith("Dép")) {
+            return "Départementale";
+        } else if (label.startsWith("Dom")) {
             return "Domaine";
-        } else if (label.equals("Dsc")) {
+        } else if (label.equals("Dsc") || label.startsWith("Desc")) {
             return "Descente";
-        } else if (label.equals("Esp")) {
+        } else if (label.equals("Esp") || label.startsWith("Espl")) {
             return "Esplanade";
-        } else if (label.equals("Espa")) {
+        } else if (label.startsWith("Espa")) {
             return "Espace";
         } else if (label.equals("Giratoire")) {
@@ -93,7 +103,7 @@
         } else if (label.equals("Hameau")) {
             return label;
-        } else if (label.equals("Imp")) {
+        } else if (label.startsWith("Imp") || label.equals("Ipasse")) {
             return "Impasse";
-        } else if (label.equals("Itineraire")) {
+        } else if (label.startsWith("Itin")) {
             return "Itinéraire";
         } else if (label.equals("Jardin")) {
@@ -102,5 +112,5 @@
                 label.equals("Saint")) { // Lieux-dits
             return label;
-        } else if (label.equals("Lot")) {
+        } else if (label.startsWith("Lot")) {
             return "Lotissement";
         } else if (label.equals("Mail")) {
@@ -108,13 +118,15 @@
         } else if (label.equals("Mas")) {
             return label;
+        } else if (label.startsWith("Nat")) {
+            return "Nationale";
         } else if (label.equals("Parc")) {
             return label;
-        } else if (label.equals("Pas")) {
+        } else if (label.equals("Passerelle")) {
+            return label;
+        } else if (label.startsWith("Pas")) {
             return "Passage";
-        } else if (label.equals("Passerelle")) {
-            return label;
-        } else if (label.equals("Pch")) {
-            return "Petit Chemin";
-        } else if (label.equals("Petit")) {
+        } else if (label.equals("Pch") || label.startsWith("Petit-chem")) {
+            return "Petit-chemin";
+        } else if (label.equals("Petit") || label.equals("Petite")) {
             return label;
         } else if (label.equals("Petite-allée")) {
@@ -122,8 +134,8 @@
         } else if (label.equals("Petite-rue")) {
             return label;
-        } else if (label.equals("Pl")) {
+        } else if (label.equals("Plan")) {
+            return label;
+        } else if (label.startsWith("Pl")) {
             return "Place";
-        } else if (label.equals("Plan")) {
-            return label;
         } else if (label.equals("Pont")) {
             return label;
@@ -132,27 +144,29 @@
         } else if (label.equals("Porte")) {
             return label;
-        } else if (label.equals("Prom")) {
+        } else if (label.startsWith("Prom")) {
             return "Promenade";
-        } else if (label.equals("Prv")) {
+        } else if (label.equals("Prv") || label.startsWith("Parv")) {
             return "Parvis";
-        } else if (label.equals("Qu")) {
+        } else if (label.startsWith("Qu")) {
             return "Quai";
         } else if (label.equals("Rampe")) {
             return label;
-        } else if (label.equals("Residence")) {
+        } else if (label.startsWith("Res") || label.startsWith("Rés")) {
             return "Résidence";
         } else if (label.equals("Rocade")) {
             return label;
-        } else if (label.equals("Rpt")) {
+        } else if (label.equals("Rpt") || label.startsWith("Ron")) {
             return "Rond-Point";
-        } else if (label.equals("Rte")) {
+        } else if (label.equals("Rte") || label.equals("Route")) {
             return "Route";
-        } else if (label.equals("Rue")) {
-            return label;
+        } else if (label.equals("Rue") || label.equals("Rued")) {
+            return "Rue";
         } else if (label.equals("Sentier")) {
             return label;
-        } else if (label.equals("Sq")) {
+        } else if (label.startsWith("Sq")) {
             return "Square";
-        } else if (label.equals("Tra")) {
+        } else if (label.equals("Théâtre")) {
+            return "Théâtre";
+        } else if (label.startsWith("Tra")) {
             return "Traverse";
         } else if (label.equals("Vieux")) {
