Outiref

Code source de l'URL : http://puc-ultimate.fr/fr

<!DOCTYPE html>
<html lang="fr">
  <head>
    <meta charset="utf-8" />
    <title>PUC Ultimate</title>
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="description" content="" />
    <link rel="icon" type="image/png" href="/assets/images/favicon.png" />
    <link rel="stylesheet" href="/css/style.css" />
  </head>
  <body>
    <script>
      ;(function (i, s, o, g, r, a, m) {
        i["GoogleAnalyticsObject"] = r
        ;(i[r] =
          i[r] ||
          function () {
            ;(i[r].q = i[r].q || []).push(arguments)
          }),
          (i[r].l = 1 * new Date())
        ;(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0])
        a.async = 1
        a.src = g
        m.parentNode.insertBefore(a, m)
      })(window, document, "script", "//www.google-analytics.com/analytics.js", "ga")
      ga("create", "UA-52126894-1", "puc-ultimate.fr")
      ga("send", "pageview")
    </script>
    <header>
      <nav>
        <div class="header-row">
          <div class="header-logo">
            
            <a href="/fr">
              <img id="logo" src="/assets/images/logo_puc_ultimate.png" alt="PUC Ultimate Paris" />
            </a>
            
          </div>
          <div class="header-social">
            <span class="social-icons social-icons-fixed">
              <a href="https://www.instagram.com/puc_ultimate/" target="_blank" rel="noopener" title="Instagram PUC Ultimate">
                <img class="puc-da" src="/assets/images/link/instagram.png" alt="Instagram" />
              </a>
              <a href="https://discord.gg/H9zbbXr" target="_blank" rel="noopener" title="Discord PUC Ultimate">
                <img class="puc-da" src="/assets/images/link/discord.png" alt="Discord" />
              </a>
              <a href="https://puc.paris/ultimate" target="_blank" rel="noopener" title="Site officiel PUC Ultimate">
                <img src="/assets/images/link/puc.svg" alt="Site officiel" />
              </a>
              
              <a href="/en" title="PUC Ultimate in English">
                <img src="/assets/images/en.png" alt="PUC Ultimate in English" />
              </a>
              
            </span>
          </div>
        </div>
        <a href="#" id="menu" class="burger"><img src="/assets/images/menu.png" alt="Menu" class="menu-icon" /></a>
        <script>
  document.addEventListener("DOMContentLoaded", function() {
    var menu = document.getElementById("menu"),
      ul = document.querySelector("nav ul");

    menu.addEventListener("click", function() {
      menu.classList.toggle("on");
      ul.classList.toggle("on");
    });
  });
</script>


  <ul>
    <li><a  href="/fr/join-us">Rejoins-nous</a></li>
    <li><a  href="/fr/summer-love">Summer&nbsp;Love&nbsp;♥</a></li>
    <li><a  href="/fr/about">À propos</a></li>
    <li><a  href="/fr/calendar">Calendrier</a></li>
  </ul>



      </nav>
    </header>
    
    <div class="cover" style="background-image: url('/assets/images/ahouhpuc-team.jpg');" title="Photo d'équipe PUC Ultimate"></div>
    
    <div class="container"><h1>L’Ultimate Frisbee au cœur de Paris !</h1>

<div class="about"><p>Le PUC Ultimate rassemble plusieurs équipes féminines, open et mixtes qui participent chaque année aux championnats nationaux et internationaux en outdoor, indoor et beach.</p>

<p>Chaque équipe dispose de son propre créneau d’entraînement et d’un coach dédié, garantissant un suivi personnalisé et une progression continue. Dans la culture du club, les coachs échangent régulièrement leurs exercices, organisent des matchs amicaux et partagent leurs expériences pour faire grandir l’ensemble du collectif.</p>

<p>C’est cette force collaborative qui fait du PUC Ultimate un club unique : un grand collectif où chacun se pousse vers le haut, dans un esprit de diversité, d’équipe et de performance afin de représenter fièrement le club sur les terrains français et internationaux.</p>
</div>
 <div class="join-us">
  <a href="/fr/join-us">Rejoins-nous !</a>
</div>


<div class="teams-list">
  
  <div class="team">
    <h2>Mixte 1</h2>
    
    <img src="/assets/images/teams/mixte12025.jpg" alt="Mixte 1" class="team-photo" />
    
    <p><p>L’équipe est composée des meilleurs joueuses et joueurs du club sélectionnés en début d’année.</p>

<p>Elle évolue en première division (N1) du championnat de France et a atteint le top 3 en 2019.</p>

<p>Le Mixte 1 participe régulièrement aux phases finales de championnats d’Europe (EUCF) en 2009, 2013 et 2016, 2019 et
2021 ; et aux championnats du monde en 2010 et 2022 (25/40).</p>
</p>
  </div>
  
  <div class="team">
    <h2>Open 1</h2>
    
    <img src="/assets/images/teams/open12025.jpg" alt="Open 1" class="team-photo" />
    
    <p><p>L’équipe Open 1 du PUC regroupe les meilleurs joueurs du club, sélectionnés chaque début de saison. Elle évolue en première division du championnat de France et se classe chaque année parmi les meilleures équipes nationales.</p>

<p>En 2019, elle décroche la médaille de bronze et, en 2025, elle termine à une solide 5ᵉ place.</p>

<p>L’équipe participe également à des tournois européens, affirmant son ambition et son niveau de jeu au plus haut niveau.</p>
</p>
  </div>
  
  <div class="team">
    <h2>Feminin 1</h2>
    
    <img src="/assets/images/teams/feminin12025.jpg" alt="Feminin 1" class="team-photo" />
    
    <p><p>Les Lillis, notre équipe féminine phare, représentent le club au championnat national.</p>

<p>Composée des meilleures joueuses du PUC, elle figure depuis plusieurs années parmi les équipes féminines les plus performantes en France.</p>

<p>En 2018, elles ont représentés pour la première fois le club à niveau européen (EUCR) à Bologne.</p>

<p>En 2025, elles ont décroché la médaille d’argent aux championnats de France, synonyme de qualification pour les championnats du monde 2026 à Limerick.</p>
</p>
  </div>
  
  <div class="team">
    <h2>Mixte 2</h2>
    
    <img src="/assets/images/teams/mixte22025.jpg" alt="Mixte 2" class="team-photo" />
    
    <p><p>Evoluant en National 2, l’équipe 2 n’a rien a envier à l’équipe 1. En 2023, elle marque l’histoire de France en montant en première division, prouvant qu’elle peut rivaliser avec les meilleurs (et descendre l’année suivante).</p>

<p>Chaque année elle démontre qu’elle est la meilleur équipe secondaire au championnat de France.</p>

<p>Elle incarne l’ambition, la progression et un esprit colelctif.</p>
</p>
  </div>
  
  <div class="team">
    <h2>Open 2</h2>
    
    <img src="/assets/images/teams/open22025.jpg" alt="Open 2" class="team-photo" />
    
    <p><p>L’équipe Open 2 évolue en troisième division du championnat de France et se bat chaque saison pour consolider sa place.</p>

<p>Composée de joueurs engagés et compétitifs, elle propose un jeu solide et ambitieux.</p>

<p>Après une descente en Régionale en 2024, l’équipe a su rebondir et reprendre sa place en Nationale 3 en 2025 avec un sans faute lors du championnat, preuve de sa détermination et de son esprit de progression.</p>
</p>
  </div>
  
  <div class="team">
    <h2>Feminin 2</h2>
    
    <img src="/assets/images/teams/feminin22025.jpg" alt="Feminin 2" class="team-photo" />
    
    <p><p>L’équipe féminine 2 du PUC : la seule équipe 2 féminine en France !</p>

<p>Cette équipe est composées de joueuses déterminées qui transforment chaque défi en opportunité. Elles apprennent, progressent et jouent avec passion, match après match.</p>

<p>Une chance unique d’affronter les meilleures joueuses du pays et de grandir ensemble.</p>
</p>
  </div>
  
  <div class="team">
    <h2>Mixte 3</h2>
    
    <img src="/assets/images/teams/mixte32025.jpg" alt="Mixte 3" class="team-photo" />
    
    <p><p>L’équipe où tout commence ! Elle progresse en National 3, cette équipe combine plaisir et apprentissage.</p>

<p>Elle a pour mission de former les futures stars des équipes hautes du PUC. Ici, chaque match est une étape vers la réussite, dans un esprit convivial et ambitieux.</p>
</p>
  </div>
  
  <div class="team">
    <h2>Open 3</h2>
    
    <img src="/assets/images/teams/open32025.jpg" alt="Open 3" class="team-photo" />
    
    <p><p>L’équipe Open 3, créée en 2015, ne cesse de grandir et d’affirmer son potentiel.</p>

<p>Ouverte à tous les joueurs et joueuses désireux de progresser individuellement et collectivement, elle a pour objectif de renforcer les compétences et l’esprit d’équipe.</p>

<p>Elle a remporté le championnat DR2 en 2025, une étape marquante dans son évolution.</p>
</p>
  </div>
  
  <div class="team">
    <h2>Junior</h2>
    
    <img src="/assets/images/teams/junior2025.jpg" alt="Junior" class="team-photo" />
    
    <p><p>L’équipe Junior, des jeunes joueurs motivés, qui apprennent les bases, progressent ensemble et jouent dans un esprit convivial.</p>
</p>
  </div>
  
</div>

<div class="teams-carousel">
  <div class="teams-carousel-inner">
    
    <div class="team-slide">
      <div class="team-slide-border">
        <h2 class="slide-title">Mixte 1</h2>
        
        <img src="/assets/images/teams/mixte12025.jpg" alt="Mixte 1" class="team-photo" />
        
        <p><p>L’équipe est composée des meilleurs joueuses et joueurs du club sélectionnés en début d’année.</p>

<p>Elle évolue en première division (N1) du championnat de France et a atteint le top 3 en 2019.</p>

<p>Le Mixte 1 participe régulièrement aux phases finales de championnats d’Europe (EUCF) en 2009, 2013 et 2016, 2019 et
2021 ; et aux championnats du monde en 2010 et 2022 (25/40).</p>
</p>
      </div>
    </div>
    
    <div class="team-slide">
      <div class="team-slide-border">
        <h2 class="slide-title">Open 1</h2>
        
        <img src="/assets/images/teams/open12025.jpg" alt="Open 1" class="team-photo" />
        
        <p><p>L’équipe Open 1 du PUC regroupe les meilleurs joueurs du club, sélectionnés chaque début de saison. Elle évolue en première division du championnat de France et se classe chaque année parmi les meilleures équipes nationales.</p>

<p>En 2019, elle décroche la médaille de bronze et, en 2025, elle termine à une solide 5ᵉ place.</p>

<p>L’équipe participe également à des tournois européens, affirmant son ambition et son niveau de jeu au plus haut niveau.</p>
</p>
      </div>
    </div>
    
    <div class="team-slide">
      <div class="team-slide-border">
        <h2 class="slide-title">Feminin 1</h2>
        
        <img src="/assets/images/teams/feminin12025.jpg" alt="Feminin 1" class="team-photo" />
        
        <p><p>Les Lillis, notre équipe féminine phare, représentent le club au championnat national.</p>

<p>Composée des meilleures joueuses du PUC, elle figure depuis plusieurs années parmi les équipes féminines les plus performantes en France.</p>

<p>En 2018, elles ont représentés pour la première fois le club à niveau européen (EUCR) à Bologne.</p>

<p>En 2025, elles ont décroché la médaille d’argent aux championnats de France, synonyme de qualification pour les championnats du monde 2026 à Limerick.</p>
</p>
      </div>
    </div>
    
    <div class="team-slide">
      <div class="team-slide-border">
        <h2 class="slide-title">Mixte 2</h2>
        
        <img src="/assets/images/teams/mixte22025.jpg" alt="Mixte 2" class="team-photo" />
        
        <p><p>Evoluant en National 2, l’équipe 2 n’a rien a envier à l’équipe 1. En 2023, elle marque l’histoire de France en montant en première division, prouvant qu’elle peut rivaliser avec les meilleurs (et descendre l’année suivante).</p>

<p>Chaque année elle démontre qu’elle est la meilleur équipe secondaire au championnat de France.</p>

<p>Elle incarne l’ambition, la progression et un esprit colelctif.</p>
</p>
      </div>
    </div>
    
    <div class="team-slide">
      <div class="team-slide-border">
        <h2 class="slide-title">Open 2</h2>
        
        <img src="/assets/images/teams/open22025.jpg" alt="Open 2" class="team-photo" />
        
        <p><p>L’équipe Open 2 évolue en troisième division du championnat de France et se bat chaque saison pour consolider sa place.</p>

<p>Composée de joueurs engagés et compétitifs, elle propose un jeu solide et ambitieux.</p>

<p>Après une descente en Régionale en 2024, l’équipe a su rebondir et reprendre sa place en Nationale 3 en 2025 avec un sans faute lors du championnat, preuve de sa détermination et de son esprit de progression.</p>
</p>
      </div>
    </div>
    
    <div class="team-slide">
      <div class="team-slide-border">
        <h2 class="slide-title">Feminin 2</h2>
        
        <img src="/assets/images/teams/feminin22025.jpg" alt="Feminin 2" class="team-photo" />
        
        <p><p>L’équipe féminine 2 du PUC : la seule équipe 2 féminine en France !</p>

<p>Cette équipe est composées de joueuses déterminées qui transforment chaque défi en opportunité. Elles apprennent, progressent et jouent avec passion, match après match.</p>

<p>Une chance unique d’affronter les meilleures joueuses du pays et de grandir ensemble.</p>
</p>
      </div>
    </div>
    
    <div class="team-slide">
      <div class="team-slide-border">
        <h2 class="slide-title">Mixte 3</h2>
        
        <img src="/assets/images/teams/mixte32025.jpg" alt="Mixte 3" class="team-photo" />
        
        <p><p>L’équipe où tout commence ! Elle progresse en National 3, cette équipe combine plaisir et apprentissage.</p>

<p>Elle a pour mission de former les futures stars des équipes hautes du PUC. Ici, chaque match est une étape vers la réussite, dans un esprit convivial et ambitieux.</p>
</p>
      </div>
    </div>
    
    <div class="team-slide">
      <div class="team-slide-border">
        <h2 class="slide-title">Open 3</h2>
        
        <img src="/assets/images/teams/open32025.jpg" alt="Open 3" class="team-photo" />
        
        <p><p>L’équipe Open 3, créée en 2015, ne cesse de grandir et d’affirmer son potentiel.</p>

<p>Ouverte à tous les joueurs et joueuses désireux de progresser individuellement et collectivement, elle a pour objectif de renforcer les compétences et l’esprit d’équipe.</p>

<p>Elle a remporté le championnat DR2 en 2025, une étape marquante dans son évolution.</p>
</p>
      </div>
    </div>
    
    <div class="team-slide">
      <div class="team-slide-border">
        <h2 class="slide-title">Junior</h2>
        
        <img src="/assets/images/teams/junior2025.jpg" alt="Junior" class="team-photo" />
        
        <p><p>L’équipe Junior, des jeunes joueurs motivés, qui apprennent les bases, progressent ensemble et jouent dans un esprit convivial.</p>
</p>
      </div>
    </div>
    
  </div>
  <div class="carousel-dots"><div class="carousel-dots-inner"></div></div>
</div>

<div id="image-popup" style="display: none">
  <img id="popup-img" src="" alt="Agrandissement" />
</div>

<script>
  document.addEventListener("DOMContentLoaded", function () {
    // Popup image (desktop)
    var popup = document.getElementById("image-popup")
    var popupImg = document.getElementById("popup-img")
    document.querySelectorAll(".team").forEach(function (card) {
      card.addEventListener("click", function () {
        var img = card.querySelector(".team-photo")
        if (img) {
          popupImg.src = img.src
          popup.style.display = "flex"
        }
      })
    })
    popup.addEventListener("click", function () {
      popup.style.display = "none"
      popupImg.src = ""
    })

    // Carrousel mobile
    function isMobile() {
      return window.matchMedia("(max-width: 840px)").matches
    }
    // Déclare la constante pour la durée de chaque slide
    const slideTimeout = 5000

    // Récupère tous les éléments de type "slide"
    const $slides = document.querySelectorAll(".team-slide")

    // Initialisation de la variable pour les "dots"
    let $dots
    let $dotsInner = document.querySelector(".carousel-dots-inner")
    // Initialisation de la variable pour l'intervalle d'affichage des slides
    let intervalId
    // Initialisation du slide courant à 0
    let currentSlide = 0

    // Boucle pour créer les "dots" en fonction du nombre de slides
    for (let i = 0; i < $slides.length; i++) {
      let dotClass = i == currentSlide ? "active" : "inactive"
      let $dot = `<span data-slidId="${i}" class="dot ${dotClass}"></span>`
      $dotsInner.innerHTML += $dot
    }
    $dots = $dotsInner.querySelectorAll(".dot")

    // Fonction pour afficher un slide spécifique en utilisant un index
    function resetInterval() {
      clearInterval(intervalId)
      intervalId = setInterval(showSlide, slideTimeout)
    }
    function slideTo(index) {
      // Vérifie si l'index est valide (compris entre 0 et le nombre de slides - 1)
      currentSlide = index >= $slides.length || index < 1 ? 0 : index
      // Boucle sur tous les éléments de type "slide" pour les déplacer
      $slides.forEach(($elt) => ($elt.style.transform = `translateX(-${currentSlide * 100}%)`))
      // Boucle sur tous les "dots" pour mettre à jour la couleur par la classe "active" ou "inactive"
      $dots.forEach(($elt, key) => ($elt.classList = `dot ${key === currentSlide ? "active" : "inactive"}`))
      // Transition du conteneur des dots pour centrer le dot actif
      const dotWidth = 20 + 8 // 8px de marge
      const containerWidth = $dotsInner.offsetWidth / 2
      $dotsInner.style.transform = `translateX(${containerWidth - currentSlide * dotWidth}px)`
      resetInterval()
    }
    slideTo(0)

    // Fonction pour afficher le prochain slide
    function showSlide() {
      slideTo(currentSlide + 1)
    }

    // Boucle pour ajouter des écouteurs d'événement "click" sur chaque "dot"
    $dots.forEach(($elt, key) => $elt.addEventListener("click", () => slideTo(key)))

    // Initialisation de l'intervalle pour afficher les slides
    intervalId = setInterval(showSlide, slideTimeout)
    // Boucle sur tous les éléments de type "slide" pour ajouter des écouteurs d'événement pour les interactions avec la souris et le toucher
    $slides.forEach(($elt) => {
      let startX, startY
      let endX, endY
      // Efface l'intervalle d'affichage des slides lorsque la souris passe sur un slide
      $elt.addEventListener(
        "mouseover",
        () => {
          clearInterval(intervalId)
        },
        false
      )
      // Réinitialise l'intervalle d'affichage des slides lorsque la souris sort d'un slide
      $elt.addEventListener(
        "mouseout",
        () => {
          resetInterval()
        },
        false
      )
      // Enregistre la position initiale du toucher lorsque l'utilisateur touche un slide
      $elt.addEventListener("touchstart", (event) => {
        startX = event.touches[0].clientX
        startY = event.touches[0].clientY
      })
      // Enregistre la position finale du toucher lorsque l'utilisateur relâche son doigt
      $elt.addEventListener(
        "touchend",
        (event) => {
          endX = event.changedTouches[0].clientX
          endY = event.changedTouches[0].clientY
          const dx = Math.abs(endX - startX)
          const dy = Math.abs(endY - startY)
          // Si le mouvement est principalement horizontal, on bloque le scroll vertical
          if (dx > dy && dx > 30) {
            event.preventDefault()
            if (startX > endX) {
              slideTo(currentSlide + 1)
            } else if (startX < endX) {
              slideTo(currentSlide - 1)
            }
            resetInterval()
          }
          // Si le mouvement est principalement vertical, on laisse le scroll de la page
        },
        { passive: false }
      )
    })
  })
</script>
</div>
    <footer>
      <div class="container footer">
        <div><div class="footer-social">
  <span class="social-icons">
    <a href="https://www.instagram.com/puc_ultimate/" target="_blank" rel="noopener" title="Instagram PUC Ultimate">
      <img class="puc-da" src="/assets/images/link/instagram.png" alt="Instagram" />
    </a>
    <a href="https://discord.gg/H9zbbXr" target="_blank" rel="noopener" title="Discord PUC Ultimate">
      <img class="puc-da" src="/assets/images/link/discord.png" alt="Discord" />
    </a>
    <a href="https://puc.paris/ultimate" target="_blank" rel="noopener" title="Site officiel du PUC">
      <img src="/assets/images/link/puc.svg" alt="Site officiel" />
    </a>
    
    <a href="/en" title="PUC Ultimate in English">
      <img src="/assets/images/en.png" alt="PUC Ultimate in English" />
    </a>
    
  </span>
</div>
<div>
  <p class="copyright">
    © 2013-2026 PUC Ultimate<br />
    (ex Ah Ouh PUC)
  </p>
</div>
</div>
      </div>
    </footer>
  </body>
</html>