Intégrations médias complètes - Images, vidéos et médias

Guide complet des intégrations médias : images optimisées, vidéos YouTube, GIFs, SVG, et tous les types de médias supportés dans MDX.

🎬 Intégrations médias complètes - Images, vidéos et médias

💡 TL;DR — 90 secondes chrono

  • Images : OptimizedImage avec lazy loading, Image standard, SVG, WebP
  • Vidéos : YouTube, Vimeo, vidéos locales, iframes personnalisées
  • Optimisations : Lazy loading, compression, formats modernes
  • Accessibilité : Alt text, légendes, support clavier

🖼️ 1. Images - Composants et optimisations

Image standard (composant Image)

Illustration logiciel RH moderne
Interface Modulo RH
Interface utilisateur intuitive avec IA intégrée

Code à copier-coller :

<Image
  src="/chemin/vers/image.jpg"
  alt="Description de l'image"
  title="Titre optionnel"
  caption="Légende optionnelle"
  width={800}
  height={400}
  rounded={true}
  shadow={true}
/>

Image optimisée (composant OptimizedImage)

Interface Modulo RH optimisée
Performance et UX
Chargement optimisé avec lazy loading et compression

Code à copier-coller :

<OptimizedImage
  src="/chemin/vers/image.jpg"
  alt="Description de l'image"
  title="Titre optionnel"
  caption="Légende optionnelle"
  width={800}
  height={400}
  rounded={true}
  shadow={true}
  priority={false}
  placeholder="empty"
  link="https://votre-lien.com"
/>

Image avec lien externe

Cliquez pour en savoir plus
Interface Modulo RH
Cliquez sur l'image pour visiter le site

📺 2. Vidéos YouTube - Intégrations complètes

Vidéo YouTube standard (16:9)

Démonstration Modulo RH - Interface utilisateur

Code à copier-coller :

<YouTube
  videoId="VOTRE_VIDEO_ID"
  title="Titre de la vidéo"
  width={16}
  height={9}
/>

Vidéo YouTube format portrait (9:16)

Tutoriel mobile - Format portrait

Code à copier-coller :

<YouTube
  videoId="VOTRE_VIDEO_ID"
  title="Vidéo portrait"
  width={9}
  height={16}
/>

Vidéo YouTube format carré (1:1)

Présentation courte - Format carré

Code à copier-coller :

<YouTube
  videoId="VOTRE_VIDEO_ID"
  title="Vidéo carrée"
  width={1}
  height={1}
/>

🎥 3. Autres plateformes vidéo - Iframes personnalisées

Vimeo

Présentation produit - Vimeo

Code à copier-coller :

<div className="my-8">
  <div className="relative w-full overflow-hidden rounded-lg shadow-lg" style={{ paddingBottom: '56.25%' }}>
    <iframe
      src="https://player.vimeo.com/video/VOTRE_VIDEO_ID?h=HASH&title=0&byline=0&portrait=0"
      title="Titre de la vidéo"
      className="absolute top-0 left-0 w-full h-full border-0"
      allow="autoplay; fullscreen; picture-in-picture"
      allowFullScreen
    />
  </div>
  <p className="mt-2 text-sm text-[var(--muted-foreground)] text-center">
    Légende de la vidéo
  </p>
</div>

Dailymotion

Contenu partenaire - Dailymotion

Code à copier-coller :

<div className="my-8">
  <div className="relative w-full overflow-hidden rounded-lg shadow-lg" style={{ paddingBottom: '56.25%' }}>
    <iframe
      src="https://www.dailymotion.com/embed/video/VOTRE_VIDEO_ID"
      title="Titre de la vidéo"
      className="absolute top-0 left-0 w-full h-full border-0"
      allow="autoplay; fullscreen"
      allowFullScreen
    />
  </div>
  <p className="mt-2 text-sm text-[var(--muted-foreground)] text-center">
    Légende de la vidéo
  </p>
</div>

🎬 4. Vidéos locales et fichiers média

Vidéo MP4 locale

Démonstration Modulo RH - Format MP4

Code à copier-coller :

<div className="my-8">
  <div className="relative w-full overflow-hidden rounded-lg shadow-lg">
    <video
      controls
      className="w-full h-auto"
      poster="/chemin/vers/poster.jpg"
    >
      <source src="/chemin/vers/video.mp4" type="video/mp4" />
      <source src="/chemin/vers/video.webm" type="video/webm" />
      Votre navigateur ne supporte pas la lecture de vidéos.
    </video>
  </div>
  <p className="mt-2 text-sm text-[var(--muted-foreground)] text-center">
    Légende de la vidéo
  </p>
</div>

Vidéo avec autoplay et loop (GIF-like)

Animation en boucle - Autoplay

Code à copier-coller :

<div className="my-8">
  <div className="relative w-full overflow-hidden rounded-lg shadow-lg">
    <video
      autoPlay
      loop
      muted
      playsInline
      className="w-full h-auto"
    >
      <source src="/chemin/vers/animation.mp4" type="video/mp4" />
    </video>
  </div>
  <p className="mt-2 text-sm text-[var(--muted-foreground)] text-center">
    Légende de l'animation
  </p>
</div>

🎭 5. GIFs et animations

GIF animé

Animation de l'interface Modulo RH
Interface dynamique
Démonstration des interactions utilisateur

Code à copier-coller :

<OptimizedImage
  src="/chemin/vers/animation.gif"
  alt="Description de l'animation"
  title="Titre de l'animation"
  caption="Légende de l'animation"
  width={600}
  height={400}
  rounded={true}
  shadow={true}
/>

🎨 6. SVG et graphiques vectoriels

SVG inline avec styles

Modulo RH

Code à copier-coller :

<svg
  width="200"
  height="200"
  viewBox="0 0 200 200"
  className="mx-auto my-8"
>
  <circle
    cx="100"
    cy="100"
    r="80"
    fill="none"
    stroke="var(--primary)"
    strokeWidth="4"
  />
  <text
    x="100"
    y="110"
    textAnchor="middle"
    className="text-sm font-semibold fill-current"
    style={{ color: 'var(--foreground)' }}
  >
    Votre texte
  </text>
</svg>

SVG comme image

Logo Modulo RH vectoriel
Logo SVG
Graphique vectoriel scalable

📊 7. Galeries d'images

Galerie simple

Interface 1
Dashboard principal
Interface 2
Gestion des candidats
Interface 3
Analytics avancées

Code à copier-coller :

<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 my-8">
  <OptimizedImage
    src="/chemin/vers/image1.jpg"
    alt="Description 1"
    title="Titre 1"
    width={300}
    height={200}
    rounded={true}
    shadow={true}
  />
  <OptimizedImage
    src="/chemin/vers/image2.jpg"
    alt="Description 2"
    title="Titre 2"
    width={300}
    height={200}
    rounded={true}
    shadow={true}
  />
  <OptimizedImage
    src="/chemin/vers/image3.jpg"
    alt="Description 3"
    title="Titre 3"
    width={300}
    height={200}
    rounded={true}
    shadow={true}
  />
</div>

🎯 8. Images avec overlay et actions

Image avec overlay informatif

Interface avec overlay
Fonctionnalités avancées

IA intégrée

Matching intelligent des candidats

Code à copier-coller :

<div className="relative my-8 group">
  <OptimizedImage
    src="/chemin/vers/image.jpg"
    alt="Description"
    title="Titre"
    width={800}
    height={400}
    rounded={true}
    shadow={true}
  />
  <div className="absolute inset-0 bg-black bg-opacity-50 opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex items-center justify-center">
    <div className="text-center text-white p-6">
      <h3 className="text-xl font-bold mb-2">Titre overlay</h3>
      <p className="text-sm">Description overlay</p>
    </div>
  </div>
</div>

📱 9. Images responsives et adaptatives

Image avec breakpoints

Interface responsive
Adaptation mobile/desktop
L'image s'adapte automatiquement à la taille d'écran

Code à copier-coller :

<OptimizedImage
  src="/chemin/vers/image.jpg"
  alt="Description"
  title="Titre"
  caption="Légende"
  width={1200}
  height={600}
  rounded={true}
  shadow={true}
  className="w-full max-w-4xl mx-auto"
/>

🎨 10. Images avec effets CSS

Image avec effet de zoom

Image avec zoom
Effet de zoom au survol

Code à copier-coller :

<div className="my-8 overflow-hidden rounded-lg shadow-lg group">
  <OptimizedImage
    src="/chemin/vers/image.jpg"
    alt="Description"
    title="Titre"
    width={600}
    height={400}
    rounded={false}
    shadow={false}
    className="transition-transform duration-500 group-hover:scale-110"
  />
</div>

Image avec effet de filtre

Image avec filtre
Effet de filtre

Code à copier-coller :

<OptimizedImage
  src="/chemin/vers/image.jpg"
  alt="Description"
  title="Titre"
  width={600}
  height={400}
  rounded={true}
  shadow={true}
  className="filter grayscale hover:grayscale-0 transition-all duration-300"
/>

🔧 11. Intégrations avancées

Iframe personnalisée

Localisation Modulo RH - Google Maps

Code à copier-coller :

<div className="my-8">
  <div className="relative w-full overflow-hidden rounded-lg shadow-lg" style={{ paddingBottom: '56.25%' }}>
    <iframe
      src="VOTRE_URL_IFRAME"
      title="Titre de l'iframe"
      className="absolute top-0 left-0 w-full h-full border-0"
      allowFullScreen
      loading="lazy"
    />
  </div>
  <p className="mt-2 text-sm text-[var(--muted-foreground)] text-center">
    Légende de l'iframe
  </p>
</div>

PDF intégré

Code à copier-coller :

<div className="my-8">
  <div className="relative w-full overflow-hidden rounded-lg shadow-lg" style={{ paddingBottom: '141.4%' }}>
    <iframe
      src="/chemin/vers/document.pdf#toolbar=0&navpanes=0&scrollbar=0"
      title="Titre du document"
      className="absolute top-0 left-0 w-full h-full border-0"
    />
  </div>
  <p className="mt-2 text-sm text-[var(--muted-foreground)] text-center">
    <a href="/chemin/vers/document.pdf" target="_blank" rel="noopener noreferrer" className="text-[var(--primary)] hover:underline">
      Télécharger le document
    </a>
  </p>
</div>

📋 12. Bonnes pratiques et optimisations

Checklist des bonnes pratiques

Checklist intégration médias

Progrès : 0/60%

Performance

Optimiser les images🔴

Compresser et redimensionner les images avant upload

Utiliser des formats modernes🔴

Privilégier WebP, AVIF pour les images, MP4 pour les vidéos

Implémenter le lazy loading🟡

Utiliser OptimizedImage pour le chargement différé

Optimiser les iframes🟡

Utiliser loading='lazy' et les bonnes dimensions

Accessibilité

Ajouter des alt text🔴

Toujours inclure des descriptions alternatives pour l'accessibilité

UX

Tester sur mobile🟡

Vérifier que les médias s'affichent correctement sur tous les appareils


🎯 13. Exemples d'usage par contexte

Article de blog avec médias

Hero image de l'article
Interface Modulo RH
L'interface moderne et intuitive de Modulo RH

Démonstration en vidéo

Capture d'écran 1
Dashboard principal
Capture d'écran 2
Gestion des candidats

🚀 14. Conclusion et ressources

Résumé des composants disponibles

| Type de média | Composant | Usage recommandé | |---------------|-----------|------------------| | Images | OptimizedImage | Images avec lazy loading et optimisations | | Images simples | Image | Images basiques sans optimisations avancées | | Vidéos YouTube | YouTube | Intégration YouTube avec ratio personnalisable | | Vidéos locales | <video> | Vidéos MP4/WebM hébergées localement | | Iframes | <iframe> | Intégrations personnalisées (Vimeo, Maps, etc.) | | SVG | <svg> ou OptimizedImage | Graphiques vectoriels |

Ressources utiles


🎯 CTA final

Prêt à intégrer des médias dans vos articles ?

Utilisez ces composants pour créer du contenu riche et engageant avec des images et vidéos optimisées.

Créer un article avec médias