• 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
    • 🤖 L’IA au service de vos projets numériques
  • 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

Interview croisée SNCF
8 janvier 2026

CASE CLIENT | Comment Pernod Ricard a structuré son test management avec Jira & Xray

Lire la suite de l'article

Introduction pratique au Q-learning avec Gymnasium Taxi-v3
6 janvier 2026

Introduction pratique au Q-learning avec Gymnasium Taxi-v3

Lire la suite de l'article

Introduction à K6
9 décembre 2025

Introduction à K6

Lire la suite de l'article

Créer une API en Python avec FastAPI
3 décembre 2025

Créer une API en Python avec FastAPI

Lire la suite de l'article

Articles associés

Introduction pratique au Q-learning avec Gymnasium Taxi-v3
6 janvier 2026

Introduction pratique au Q-learning avec Gymnasium Taxi-v3


Lire la suite
Introduction à K6
9 décembre 2025

Introduction à K6


Lire la suite
Optimiser vos tests avec Cucumber
17 novembre 2025

Optimiser vos tests avec Cucumber


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
logo 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