• Contenu
  • Bas de page
logo ouidoulogo ouidoulogo ouidoulogo ouidou
  • Qui sommes-nous ?
  • Offres
    • 💻 Applications métier
    • 🤝 Collaboration des équipes
    • 🛡️ Sécurisation et optimisation du système d’information
    • 🔗 Transformation numérique
  • Expertises
    • 🖥️ Développement logiciel
    • ♾️ DevSecOps
    • ⚙️ Intégration de logiciels et négoce de licences
      • Atlassian : Jira, Confluence, Bitbucket…
      • Plateforme monday.com
      • GitLab
      • SonarQube
    • 📚​ Logiciel de CRM et de gestion
    • 🎨 UX/UI design
    • 🌐 Accessibilité Numérique
    • 🗂️​ Démarches simplifiées
    • 📝 Formations Atlassian
  • Références
  • Carrières
    • 🧐 Pourquoi rejoindre Ouidou ?
    • ✍🏻 Nous rejoindre
    • 👨‍💻 Rencontrer nos collaborateurs
    • 🚀 Grandir chez Ouidou
  • RSE
  • Ressources
    • 🗞️ Actualités
    • 🔍 Articles techniques
    • 📖 Livres blancs
    • 🎙️ Interviews Clients
Nous contacter
✕
Créer un nouvel utilisateur PostgreSQL
Créer un nouvel utilisateur PostgreSQL
7 octobre 2013
Mise en place d’un cluster PostgreSQL avec Pgpool II
Mise en place d’un cluster PostgreSQL avec Pgpool II
3 septembre 2014
Ressources > Articles techniques > Une carte de France en SVG

Une carte de France en SVG

Écrit par Victor D.

Bonjour à vous, aujourd’hui, nous allons mettre à disposition une ressource bien pratique pour celles et ceux qui auraient besoin d’une carte pour leur application / site.

Nous voyons de plus en plus l’utilisation du format SVG pour des logos, des masques ou parfois des animations, mais ce sont aussi des contenus dynamiques et interactifs.

Sur une même page j’ai mis en place un fichier SVG contenant une carte de France et ses départements.

Slice 1 Created with Sketch (http://www.bohemiancoding.com/sketch)

Vous pouvez le télécharger sur Github

La problématique d’un fichier SVG et que si je l’intègre à l’aide de object ou embed je n’aurais pas accès à ses différents éléments.

Pour l’instant, je l’ai donc intégré directement à mon HTML. Après tout, les formats sont compatibles, autant en profiter.

J’ai aussi écrit quelques lignes de CSS afin de vous montrer qu’un effet au hover ou au click est facile à mettre en place :

#map {
    max-width: 100%;
    max-height: 100%;
  }
  #map path {
    transition: fill 0.2s, stroke 0.3s;
  }
  #map path:hover {
    fill: red;
    stroke: red;
  }
  #map path:active {
    fill: #bada55;
    stroke: #bada55;
  }

Nous avons ici une #map qui contient tous les éléments de notre fichier SVG, et le selecteur path qui comprend chaque département. Sur chaque path nous avons un ID que nous récupérons à l’aide du javascript suivant :

document.addEventListener('DOMContentLoaded', function(){
    map = this.getElementById('map'); // je selectionne mon élément global
    paths = map.getElementsByTagName('path'); // je mets dans un tableau chacunes des formes

    for (var i = 0; i < paths.length; i++) {
      paths[i].addEventListener("click", function(e){
        // pour chaque forme, je fais en sorte qu'un click retourne l'id
        console.log(e.target.id);
      })
    }
  });

Pour aller plus loin, nous pourrions aussi mettre en place des données plus avancées au sein même du SVG grâce à des data- , par exemple:

  <path data-departement="59" data-name="Nord" data-inhabitants="2576770"></path>

Mais il ne faut pas s’arrêter en si bon chemin, vous pouvez gérer des modifications plus poussées sur le SVG, et profiter au maximum d’un objet vectoriel.

Pour cela, je vous invite à découvrir des librairies telles que raphaeljs, SVG.js ou — tout particulièrement pour une carte — jQuery vector maps.

À lire aussi

Conférence A11Y miniature
30 juin 2025

Retour sur la Conférence A11Y Paris

Lire la suite

Image miniature annotations Spring Boot
26 juin 2025

Annotations Spring Boot peu connues mais pratiques

Lire la suite

Fresque numérique miniature image
16 avril 2025

Fresque du Numérique

Lire la suite

intelligence artificielle Ouicommit miniature image
17 mars 2025

Ouicommit – L’intelligence artificielle en entreprise, on y est ! 

Lire la suite

Articles associés

Conférence A11Y miniature
30 juin 2025

Retour sur la Conférence A11Y Paris


Lire la suite
Fresque numérique miniature image
16 avril 2025

Fresque du Numérique


Lire la suite
Image miniature Hackathon Women in Tech
13 mars 2025

Hackathon Women in Tech :  un engagement pour une tech plus inclusive 


Lire la suite

À propos

  • Qui sommes-nous ?
  • Références
  • RSE
  • Ressources

Offres

  • Applications métier
  • Collaboration des équipes
  • Sécurisation et optimisation du système d’information
  • Transformation numérique

Expertises

  • Développement logiciel
  • DevSecOps
  • Intégration de logiciels et négoce de licences
  • Logiciel de CRM et de gestion
  • UX/UI design
  • Accessibilité Numérique
  • Démarches simplifiées
  • Formations Atlassian

Carrières

  • Pourquoi rejoindre Ouidou ?
  • Nous rejoindre
  • Rencontrer nos collaborateurs
  • Grandir chez Ouidou

SIEGE SOCIAL
70-74 boulevard Garibaldi, 75015 Paris

Ouidou Nord
165 Avenue de Bretagne, 59000 Lille

Ouidou Rhône-Alpes
4 place Amédée Bonnet, 69002 Lyon

Ouidou Grand-Ouest
2 rue Crucy, 44000 Nantes

Ouidou Grand-Est
7 cour des Cigarières, 67000 Strasbourg

  • Linkedin Ouidou
  • GitHub Ouidou
  • Youtube Ouidou
© 2024 Ouidou | Tous droits réservés | Plan du site | Mentions légales | Déclaration d'accessibilité
    Nous contacter