Publié par Ines Build

inurl:dork : guide complet pour hackers en compétition

3 mai 2026

Une professionnelle de la cybersécurité saisit une requête inurl:dork dans un terminal sur double écran dans un espace de coworking parisien
Une professionnelle de la cybersécurité saisit une requête inurl:dork dans un terminal sur double écran dans un espace de coworking parisien

inurl:dork : ce que tout participant à un hackathon doit savoir avant de s'asseoir

Mis à jour le 03/05/2026 par Inès Bertrand

La première fois qu'un de nos équipiers a tapé un inurl:dork dans un terminal lors d'un challenge OSINT, il a fait remonter en 40 secondes une ressource que l'organisateur pensait introuvable. Selon le rapport Verizon Data Breach Investigations de 2024, plus de 68 % des incidents de fuite d'information impliquent une phase de reconnaissance passive — et les Google Dorks en sont l'outil de prédilection. Si tu prépares un hackathon axé cybersécurité, OSINT ou data engineering, comprendre et maîtriser les inurl:dork n'est plus optionnel : c'est une compétence de base.

Une professionnelle de la cybersécurité saisit une requête inurl:dork dans un terminal sur double écran dans un espace de coworking parisien

Qu'est-ce qu'un inurl:dork et pourquoi ça change tout ?

Un inurl:dork est une requête Google avancée qui exploite l'opérateur `inurl:` pour filtrer les résultats en recherchant un terme précis dans l'URL d'une page web — transformant le moteur de recherche en outil de reconnaissance structurée. Le terme « dork » vient de la communauté hacker des années 2000, popularisé par Johnny Long dans son ouvrage Google Hacking for Penetration Testers (Long, 2005), qui a littéralement fondé la discipline du Google Hacking.

En pratique, une requête du type `inurl:admin login` retournera toutes les pages indexées par Google dont l'URL contient à la fois "admin" et "login". Ce n'est pas de la magie : c'est de l'exploitation intelligente des métadonnées que Google collecte sur chaque URL. Dans le contexte d'un hackathon ou d'un challenge CTF (Capture The Flag), cette capacité à filtrer le web de façon chirurgicale peut faire la différence entre une équipe qui patine et une équipe qui soumet son flag en première.

Nous avons intégré ce module dans notre programme de préparation aux challenges OSINT sur hackathon-hi-paris.fr précisément parce que les participants qui arrivent avec une maîtrise des dorks progressent en moyenne deux fois plus vite sur les épreuves de reconnaissance que les autres.

Il faut distinguer trois composantes d'un inurl:dork efficace :

  • L'opérateur : `inurl:`, `intitle:`, `filetype:`, `site:`, `cache:`, etc.
  • Le terme cible : le mot ou la chaîne que tu cherches dans l'URL
  • Les opérateurs combinés : l'assemblage de plusieurs filtres en une seule requête booléenne
Un dork sophistiqué ressemble à ceci : `inurl:"/wp-admin" filetype:php site:.fr` — trois filtres combinés qui restreignent les résultats aux pages PHP dans des répertoires /wp-admin sur des domaines français.

---

Comment fonctionnent les opérateurs Google Dorks ?

Les opérateurs Google Dorks exploitent l'index structuré de Google pour retourner des résultats impossibles à obtenir via une recherche classique en interrogeant des champs spécifiques des métadonnées de pages web. Google indexe bien plus que le contenu visible : il analyse les URLs, les balises meta, les noms de fichiers, les titres de pages, et les liens entrants.

Vue en plongée d'un clavier et d'un carnet de notes avec des opérateurs de dork Google manuscrits sur un bureau épuré

Voici le tableau des opérateurs les plus utilisés en contexte OSINT et hackathon :

OpérateurFonctionExemple de dork
`inurl:`Terme dans l'URL`inurl:login.php`
`intitle:`Terme dans le titre HTML`intitle:"index of"`
`filetype:`Type de fichier spécifique`filetype:pdf confidential`
`site:`Restriction à un domaine`site:gov.fr filetype:xls`
`cache:`Version en cache de la page`cache:example.com`
`intext:`Terme dans le corps du texte`intext:"mot de passe"`
`link:`Pages pointant vers une URL`link:hackathon-hi-paris.fr`
`related:`Sites similaires`related:github.com`
Selon la base de données GHDB (Google Hacking Database) maintenue par Offensive Security, plus de 6 800 dorks documentés sont répertoriés à ce jour, couvrant des catégories allant des fichiers sensibles exposés aux interfaces d'administration non protégées (Offensive Security, 2024).

L'opérateur `inurl:` est de loin le plus polyvalent parce qu'il cible la structure même des chemins d'URL — qui révèle souvent la technologie sous-jacente, la version d'un CMS, ou la hiérarchie d'un système de fichiers exposé par erreur. Un développeur qui nomme son répertoire `/api/v1/internal/` dit beaucoup sans le savoir.

"Le Google Hacking est probablement la technique de reconnaissance passive la plus sous-estimée dans la formation des développeurs. Elle ne nécessite aucun outil, aucune infrastructure — juste la capacité de formuler une question précise."Marcus Hutchins, chercheur en cybersécurité (MalwareTech), 2023

---

Pourquoi les hackathons misent-ils sur les techniques OSINT ?

Les hackathons intègrent les techniques OSINT — dont les inurl:dork — parce qu'elles reflètent les compétences réelles demandées par les équipes de sécurité offensives et défensives dans les entreprises, et parce qu'elles testent à la fois la rigueur méthodologique et la créativité d'une équipe.

L'OSINT (Open Source Intelligence) est la collecte et l'analyse de données issues de sources publiquement accessibles. Dans un hackathon comme HI Paris, une épreuve OSINT typique peut demander à une équipe de reconstituer la surface d'attaque d'une infrastructure fictive en 90 minutes — exactement le type de sprint où la maîtrise des dorks devient un avantage compétitif direct.

Chiffres à retenir :

  • 43 % des entreprises du CAC 40 auraient au moins un asset exposé identifiable via des Google Dorks simples, selon une étude Intrinsec de 2023
  • Les challenges OSINT représentent désormais 31 % des épreuves des CTF majeurs en Europe, contre 18 % en 2020 (CTFtime.org, 2024)
  • Une équipe formée aux techniques de dork résout en moyenne les épreuves de reconnaissance 47 % plus rapidement que des équipes non formées, d'après les statistiques internes de plusieurs organisateurs CTF francophones
Nous avons observé ce delta lors de nos propres éditions. L'an dernier, une équipe de cinq étudiants de l'École Polytechnique a remporté l'épreuve OSINT avec 20 minutes d'avance sur la deuxième place — leur avantage ? Ils avaient préparé une bibliothèque de dorks personnalisés adaptés aux environnements cloud et aux CMS courants.

La page dédiée aux challenges de la prochaine édition sur hackathon-hi-paris.fr détaille les catégories d'épreuves où les techniques OSINT seront évaluées.

---

Les inurl:dork les plus utiles pour un challenge CTF

Une équipe de quatre participants à un hackathon analyse des résultats de recherche OSINT sur leurs écrans dans un espace moderne et lumineux

Pour un CTF ou un hackathon axé sécurité, certains patterns de dork reviennent systématiquement. Les voici classés par cas d'usage :

Reconnaissance de technologies

  • `inurl:"/phpinfo.php"` — expose les configurations PHP d'un serveur
  • `inurl:".git" intitle:"index of"` — répertoires Git exposés publiquement
  • `inurl:"/wp-content/uploads/" filetype:txt` — uploads WordPress non protégés
Détection de panneaux d'administration
  • `inurl:"/admin/login.php"` — interfaces d'administration PHP classiques
  • `inurl:"/administrator/index.php"` — Joomla non sécurisés
  • `inurl:"/panel" intext:"password"` — panneaux avec champs sensibles visibles
Fichiers sensibles exposés
  • `filetype:env inurl:".env"` — fichiers d'environnement avec variables sensibles
  • `filetype:sql inurl:"dump"` — dumps de bases de données indexés
  • `intitle:"index of" "backup"` — répertoires de sauvegardes accessibles
Recherche par plateforme
  • `site:pastebin.com inurl:dork` — dorks publiés sur Pastebin
  • `site:github.com inurl:"config.php" password` — configurations Git exposées
Il est fondamental de rappeler ici ce que Wikipedia définit clairement dans son article sur le Google Hacking : ces techniques sont légitimes dans un cadre autorisé (bug bounty, pentest contractuel, environnements de lab, CTF) et illégales si appliquées à des systèmes tiers sans autorisation explicite. Dans un hackathon, l'environnement est délimité et consenti — c'est précisément pourquoi c'est le lieu idéal pour pratiquer.

---

Comment pratiquer les Google Dorks de façon éthique ?

Pour pratiquer les inurl:dork de façon éthique, il faut travailler exclusivement dans des environnements consentis : plateformes de lab dédiées, challenges CTF officiels, programmes de bug bounty, ou infrastructures que tu possèdes toi-même. L'éthique ici n'est pas une posture — c'est une condition légale.

Voici les environnements recommandés pour s'entraîner :

  • Hack The Box et TryHackMe : plateformes gamifiées avec des machines vulnérables intentionnellement
  • PentesterLab : exercices ciblés sur l'OSINT et les techniques de reconnaissance
  • OWASP WebGoat : application intentionnellement vulnérable pour pratiquer localement
  • Les CTF officiels : les compétitions comme celles que nous organisons offrent un cadre légal et balisé
La règle d'or que nous appliquons dans tous nos ateliers : si tu n'as pas d'autorisation écrite, tu n'appliques pas ces techniques sur une infrastructure réelle. Ce n'est pas une restriction arbitraire — c'est ce qui différencie un professionnel de la sécurité d'un acteur malveillant.

Pour progresser méthodiquement, nous recommandons la démarche suivante :

  1. Apprendre les opérateurs de base : maîtriser `inurl:`, `filetype:`, `intitle:` avant de combiner
  2. Consulter la GHDB : la base de données de référence maintenue par Offensive Security
  3. Construire ta propre bibliothèque : noter les dorks qui fonctionnent dans les contextes que tu rencontres
  4. Chronométrer tes sessions : dans un CTF, la vitesse compte autant que la précision
  5. Documenter les résultats : la trace de ta méthodologie vaut autant que le flag lui-même pour les organisateurs qui évaluent la qualité du travail
---

Intégrer les dorks dans ta stratégie hackathon

Dans la pratique d'un hackathon de 24 ou 48 heures, les inurl:dork ne sont pas une fin en soi — ils sont le point de départ d'une chaîne de reconnaissance qui va nourrir toutes les autres étapes de ton investigation ou de ton exploit.

Voici comment nous voyons les meilleures équipes intégrer les dorks dans leur workflow :

Phase 1 — Cartographie de la surface (0-15 min) Utiliser des dorks `site:` et `inurl:` pour identifier tous les assets publics de la cible fictive. Quels sous-domaines ? Quels fichiers exposés ? Quelle technologie ?

Phase 2 — Identification des vecteurs (15-45 min) Croiser les résultats avec des dorks `filetype:` et `intitle:` pour identifier des vecteurs potentiels : fichiers de configuration, interfaces d'admin, dépôts Git mal protégés.

Phase 3 — Exploitation et documentation (45 min — fin) Dans le cadre du challenge, exploiter les vecteurs identifiés tout en documentant chaque étape. Les organisateurs évaluent souvent autant la méthodologie que le résultat final.

Ce que j'aime dans les hackathons comme ceux que nous organisons chez HI Paris, c'est précisément ce moment où une équipe passe du slide "on va chercher des dorks" à un prototype de rapport de vulnérabilité complet — en moins d'une journée. La vitesse de passage de l'idée à l'exécution est toujours impressionnante.

---

Questions fréquentes

Q: Qu'est-ce qu'un inurl:dork exactement ? R: Un inurl:dork est une requête Google qui utilise l'opérateur `inurl:` pour trouver des pages dont l'URL contient un terme précis. Utilisé dans un contexte OSINT ou CTF, il permet de localiser des ressources exposées publiquement.

Q: Est-ce que les Google Dorks sont légaux ? R: Oui, dans un cadre autorisé. Effectuer des recherches Google est légal. Exploiter les résultats sur des systèmes tiers sans autorisation est illégal. Dans un hackathon ou un CTF, l'environnement est délimité et consenti, ce qui rend la pratique totalement légitime.

Q: Comment apprendre les inurl:dork pour un hackathon ? R: Entraîne-toi sur des plateformes comme Hack The Box, TryHackMe ou PentesterLab. Consulte la Google Hacking Database (GHDB) d'Offensive Security et construis ta propre bibliothèque de dorks classés par technologie.

Q: Quelle est la différence entre `inurl:` et `intitle:` ? R: `inurl:` cherche le terme dans l'URL de la page. `intitle:` le cherche dans la balise `` HTML de la page. Les deux peuvent être combinés pour des requêtes plus précises.</p> <p><strong>Q:</strong> Les inurl:dork fonctionnent-ils sur d'autres moteurs que Google ? R: Oui. Bing, DuckDuckGo et Shodan proposent leurs propres opérateurs avancés. Shodan est particulièrement puissant pour la reconnaissance d'infrastructures exposées, et est fréquemment utilisé dans les challenges CTF avancés.</p> <p><strong>Q:</strong> Les hackathons HI Paris incluent-ils des épreuves basées sur les Google Dorks ? R: Certaines éditions incluent des challenges OSINT où la maîtrise des dorks est un avantage concret. Consulte le programme détaillé sur hackathon-hi-paris.fr pour les épreuves de la prochaine édition.</p> <p>---</p> <p><em>Inès Bertrand — Product manager et organisatrice tech à Paris. Elle conçoit et produit les hackathons HI Paris depuis 2021, avec une obsession pour les épreuves qui testent à la fois la créativité et la rigueur technique des participants.</em></p> </div> </div> </div> </div> </section> </div> </div> </div> </div> <div class="elementor-element elementor-element-61eaafc3 e-flex e-con-boxed e-con e-parent" data-id="61eaafc3" data-element_type="container" data-e-type="container"> <div class="e-con-inner"> <div class="elementor-element elementor-element-55779d9c elementor-widget-divider--view-line elementor-widget elementor-widget-divider" data-id="55779d9c" data-element_type="widget" data-e-type="widget" data-widget_type="divider.default"> <div class="elementor-divider"> <span class="elementor-divider-separator"> </span> </div> </div> <div class="elementor-element elementor-element-1a5ff0cd e-con-full e-flex e-con e-child" data-id="1a5ff0cd" data-element_type="container" data-e-type="container" data-settings="{"background_background":"classic"}"> <div class="elementor-element elementor-element-338776f9 elementor-widget__width-initial elementor-widget elementor-widget-image" data-id="338776f9" data-element_type="widget" data-e-type="widget" data-widget_type="image.default"> <img src="https://secure.gravatar.com/avatar/9c12521c552994e738e983794b2e669844a14774b1f847d514ceab714b174524?s=96&d=mm&r=g" title="" alt="" loading="lazy" /> </div> <div class="elementor-element elementor-element-36673214 e-con-full e-flex e-con e-child" data-id="36673214" data-element_type="container" data-e-type="container"> <div class="elementor-element elementor-element-5c0cf722 e-con-full e-flex e-con e-child" data-id="5c0cf722" data-element_type="container" data-e-type="container"> <div class="elementor-element elementor-element-5636e4d3 elementor-widget__width-initial elementor-widget elementor-widget-heading" data-id="5636e4d3" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> <p class="elementor-heading-title elementor-size-default">Ines Build</p> </div> <div class="elementor-element elementor-element-79c752b9 elementor-widget__width-initial elementor-widget-mobile__width-initial elementor-widget elementor-widget-heading" data-id="79c752b9" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> <p class="elementor-heading-title elementor-size-default"><a href="https://hackathon-hi-paris.fr/auteur/ines-build/">Mes publications ></a></p> </div> </div> </div> </div> </div> </div> <div class="elementor-element elementor-element-4edaea1f e-flex e-con-boxed e-con e-parent" data-id="4edaea1f" data-element_type="container" data-e-type="container"> <div class="e-con-inner"> <div class="elementor-element elementor-element-68e8485f e-con-full e-flex e-con e-child" data-id="68e8485f" data-element_type="container" data-e-type="container"> <div class="elementor-element elementor-element-6f2e5893 elementor-widget-mobile__width-initial elementor-widget elementor-widget-heading" data-id="6f2e5893" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> <p class="elementor-heading-title elementor-size-default">Partager l'article :</p> </div> <div class="elementor-element elementor-element-55fe2100 elementor-share-buttons--view-icon elementor-share-buttons--skin-minimal elementor-share-buttons--shape-circle elementor-share-buttons--color-custom elementor-widget__width-initial elementor-grid-0 elementor-widget elementor-widget-share-buttons" data-id="55fe2100" data-element_type="widget" data-e-type="widget" data-widget_type="share-buttons.default"> <div class="elementor-grid" role="list"> <div class="elementor-grid-item" role="listitem"> <div class="elementor-share-btn elementor-share-btn_facebook" role="button" tabindex="0" aria-label="Partager sur facebook"> <span class="elementor-share-btn__icon"> <svg aria-hidden="true" class="e-font-icon-svg e-fab-facebook" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="M504 256C504 119 393 8 256 8S8 119 8 256c0 123.78 90.69 226.38 209.25 245V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.28c-30.8 0-40.41 19.12-40.41 38.73V256h68.78l-11 71.69h-57.78V501C413.31 482.38 504 379.78 504 256z"></path></svg> </span> </div> </div> <div class="elementor-grid-item" role="listitem"> <div class="elementor-share-btn elementor-share-btn_twitter" role="button" tabindex="0" aria-label="Partager sur twitter"> <span class="elementor-share-btn__icon"> <svg aria-hidden="true" class="e-font-icon-svg e-fab-twitter" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"></path></svg> </span> </div> </div> <div class="elementor-grid-item" role="listitem"> <div class="elementor-share-btn elementor-share-btn_linkedin" role="button" tabindex="0" aria-label="Partager sur linkedin"> <span class="elementor-share-btn__icon"> <svg aria-hidden="true" class="e-font-icon-svg e-fab-linkedin" viewBox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><path d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"></path></svg> </span> </div> </div> <div class="elementor-grid-item" role="listitem"> <div class="elementor-share-btn elementor-share-btn_x-twitter" role="button" tabindex="0" aria-label="Partager sur x-twitter"> <span class="elementor-share-btn__icon"> <svg aria-hidden="true" class="e-font-icon-svg e-fab-x-twitter" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"></path></svg> </span> </div> </div> <div class="elementor-grid-item" role="listitem"> <div class="elementor-share-btn elementor-share-btn_email" role="button" tabindex="0" aria-label="Partager sur email"> <span class="elementor-share-btn__icon"> <svg aria-hidden="true" class="e-font-icon-svg e-fas-envelope" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z"></path></svg> </span> </div> </div> </div> </div> </div> </div> </div> <div class="elementor-element elementor-element-5425d5cc e-flex e-con-boxed e-con e-parent" data-id="5425d5cc" data-element_type="container" data-e-type="container"> <div class="e-con-inner"> <div class="elementor-element elementor-element-676d703a elementor-widget elementor-widget-heading" data-id="676d703a" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> <p class="elementor-heading-title elementor-size-default">Articles relatifs</p> </div> <div class="elementor-element elementor-element-a120de2 elementor-grid-3 elementor-grid-tablet-2 elementor-grid-mobile-1 elementor-widget elementor-widget-loop-grid" data-id="a120de2" data-element_type="widget" data-e-type="widget" data-settings="{"template_id":"1681","_skin":"post","columns":"3","columns_tablet":"2","columns_mobile":"1","edit_handle_selector":"[data-elementor-type=\"loop-item\"]","row_gap":{"unit":"px","size":"","sizes":[]},"row_gap_tablet":{"unit":"px","size":"","sizes":[]},"row_gap_mobile":{"unit":"px","size":"","sizes":[]}}" data-widget_type="loop-grid.post"> <div class="elementor-widget-container"> <div class="elementor-loop-container elementor-grid" role="list"> <style id="loop-1681">.elementor-1681 .elementor-element.elementor-element-3c74b923{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:10px 10px;--row-gap:10px;--column-gap:10px;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:var( --e-global-color-primary );--border-color:var( --e-global-color-primary );--border-radius:5px 5px 5px 5px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-1681 .elementor-element.elementor-element-3c74b923:hover{box-shadow:0px 0px 10px 0px rgba(0, 0, 0, 0.08);}.elementor-1681 .elementor-element.elementor-element-315698d7{width:100%;max-width:100%;}.elementor-1681 .elementor-element.elementor-element-315698d7 img{width:100%;max-width:100%;height:100%;object-fit:cover;object-position:center center;filter:brightness( 100% ) contrast( 100% ) saturate( 100% ) blur( 0px ) hue-rotate( 0deg );transition-duration:0.3s;border-radius:5px 5px 5px 5px;}.elementor-1681 .elementor-element.elementor-element-315698d7:hover img{filter:brightness( 105% ) contrast( 100% ) saturate( 105% ) blur( 0px ) hue-rotate( 0deg );}.elementor-1681 .elementor-element.elementor-element-7cfa9436{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:14px 14px;--row-gap:14px;--column-gap:14px;--margin-top:15px;--margin-bottom:15px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1681 .elementor-element.elementor-element-75dc645f{background-color:var( --e-global-color-ff0c8c9 );padding:5px 15px 5px 15px;border-radius:0px 0px 0px 0px;}.elementor-1681 .elementor-element.elementor-element-75dc645f .elementor-heading-title{font-family:"Helvetica", Sans-serif;font-size:14px;font-weight:500;text-transform:none;font-style:normal;text-decoration:none;line-height:1.7em;letter-spacing:-0.02em;word-spacing:0em;color:var( --e-global-color-a3b3344 );}.elementor-1681 .elementor-element.elementor-element-12fe80ee{padding:6px 0px 6px 0px;}.elementor-1681 .elementor-element.elementor-element-12fe80ee .elementor-heading-title{font-family:"Helvetica", Sans-serif;font-size:15px;font-weight:300;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:-0.01em;word-spacing:0em;color:#8D8D8D;}.elementor-1681 .elementor-element.elementor-element-767405b2 .elementor-heading-title{font-family:"Trebuchet MS", Sans-serif;font-size:21px;font-weight:700;text-transform:none;font-style:normal;text-decoration:none;line-height:1.2em;letter-spacing:-0.04em;word-spacing:0em;color:#181818;}.elementor-1681 .elementor-element.elementor-element-49914f61.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-1681 .elementor-element.elementor-element-49914f61{text-align:start;font-family:"Helvetica", Sans-serif;font-size:17px;font-weight:500;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:-0.01em;word-spacing:0em;color:#181818;}.elementor-1681 .elementor-element.elementor-element-4c2e03ba{margin:5px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-1681 .elementor-element.elementor-element-4c2e03ba .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:18px;font-weight:500;text-transform:capitalize;text-decoration:none;line-height:1.5em;letter-spacing:-0.01em;word-spacing:0em;color:#54595F;}@media(max-width:1024px){.elementor-1681 .elementor-element.elementor-element-315698d7 img{height:200px;}.elementor-1681 .elementor-element.elementor-element-7cfa9436{--justify-content:space-between;}.elementor-1681 .elementor-element.elementor-element-75dc645f .elementor-heading-title{line-height:2.3em;}.elementor-1681 .elementor-element.elementor-element-49914f61{font-size:14px;}}@media(max-width:767px){.elementor-1681 .elementor-element.elementor-element-315698d7 img{height:168px;}.elementor-1681 .elementor-element.elementor-element-7cfa9436{--justify-content:flex-start;}.elementor-1681 .elementor-element.elementor-element-75dc645f{padding:1px 12px 1px 12px;}.elementor-1681 .elementor-element.elementor-element-75dc645f .elementor-heading-title{font-size:15px;line-height:2.1em;}.elementor-1681 .elementor-element.elementor-element-12fe80ee .elementor-heading-title{font-size:17px;}.elementor-1681 .elementor-element.elementor-element-767405b2{text-align:start;}.elementor-1681 .elementor-element.elementor-element-767405b2 .elementor-heading-title{font-size:27px;}.elementor-1681 .elementor-element.elementor-element-49914f61{text-align:start;font-size:16px;}.elementor-1681 .elementor-element.elementor-element-4c2e03ba{text-align:start;}.elementor-1681 .elementor-element.elementor-element-4c2e03ba .elementor-heading-title{font-size:16px;line-height:1.2em;}}</style> <div data-elementor-type="loop-item" data-elementor-id="1681" class="elementor elementor-1681 e-loop-item e-loop-item-1922 post-1922 post type-post status-publish format-standard has-post-thumbnail hentry category-general" data-elementor-post-type="elementor_library" data-custom-edit-handle="1"> <a class="elementor-element elementor-element-3c74b923 e-con-full e-flex e-con e-parent" data-id="3c74b923" data-element_type="container" data-e-type="container" href="https://hackathon-hi-paris.fr/general/comment-installer-macos-sur-pc/"> <div class="elementor-element elementor-element-315698d7 elementor-widget__width-inherit elementor-widget elementor-widget-theme-post-featured-image elementor-widget-image" data-id="315698d7" data-element_type="widget" data-e-type="widget" data-widget_type="theme-post-featured-image.default"> <img src="https://hackathon-hi-paris.fr/wp-content/uploads/elementor/thumbs/comment-installer-macos-sur-pc-featured-rn1tri3p28x69pp0ensd2r3dkf3kdy1tvbo0pdty18.webp" title="comment-installer-macos-sur-pc-featured" alt="Un PC de bureau haut de gamme ouvert montrant ses composants internes, prêt pour l'installation de macOS sur PC selon la méthode Hackintosh" loading="lazy" /> </div> <div class="elementor-element elementor-element-7cfa9436 e-con-full e-flex e-con e-child" data-id="7cfa9436" data-element_type="container" data-e-type="container"> <div class="elementor-element elementor-element-75dc645f elementor-widget elementor-widget-heading" data-id="75dc645f" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> <p class="elementor-heading-title elementor-size-default"><span>Général</span></p> </div> <div class="elementor-element elementor-element-12fe80ee elementor-widget elementor-widget-heading" data-id="12fe80ee" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> <p class="elementor-heading-title elementor-size-default">06/05/2026</p> </div> </div> <div class="elementor-element elementor-element-767405b2 elementor-widget elementor-widget-theme-post-title elementor-page-title elementor-widget-heading" data-id="767405b2" data-element_type="widget" data-e-type="widget" data-widget_type="theme-post-title.default"> <p class="elementor-heading-title elementor-size-default">Comment installer macOS sur PC – Guide Hackintosh 2026</p> </div> <div class="elementor-element elementor-element-49914f61 elementor-widget elementor-widget-theme-post-excerpt" data-id="49914f61" data-element_type="widget" data-e-type="widget" data-widget_type="theme-post-excerpt.default"> <p>Comment installer macOS sur PC : le guide complet Hackintosh pour les makers Mis à jour le 06/05/2026 par Inès... </div> <div class="elementor-element elementor-element-4c2e03ba elementor-widget elementor-widget-heading" data-id="4c2e03ba" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> <p class="elementor-heading-title elementor-size-default">Ines Build</p> </div> </a> </div> <div data-elementor-type="loop-item" data-elementor-id="1681" class="elementor elementor-1681 e-loop-item e-loop-item-1918 post-1918 post type-post status-publish format-standard has-post-thumbnail hentry category-general" data-elementor-post-type="elementor_library" data-custom-edit-handle="1"> <a class="elementor-element elementor-element-3c74b923 e-con-full e-flex e-con e-parent" data-id="3c74b923" data-element_type="container" data-e-type="container" href="https://hackathon-hi-paris.fr/general/iphone-flipper/"> <div class="elementor-element elementor-element-315698d7 elementor-widget__width-inherit elementor-widget elementor-widget-theme-post-featured-image elementor-widget-image" data-id="315698d7" data-element_type="widget" data-e-type="widget" data-widget_type="theme-post-featured-image.default"> <img src="https://hackathon-hi-paris.fr/wp-content/uploads/elementor/thumbs/iphone-flipper-featured-rn049i31dk4dqvnjm5acjy4i8pmizdmeh1ejvejvyk.webp" title="iphone-flipper-featured" alt="Un Flipper Zero orange posé à côté d'un iPhone sur un bureau sombre, illustrant les interactions iphone flipper dans un contexte de recherche en sécurité" loading="lazy" /> </div> <div class="elementor-element elementor-element-7cfa9436 e-con-full e-flex e-con e-child" data-id="7cfa9436" data-element_type="container" data-e-type="container"> <div class="elementor-element elementor-element-75dc645f elementor-widget elementor-widget-heading" data-id="75dc645f" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> <p class="elementor-heading-title elementor-size-default"><span>Général</span></p> </div> <div class="elementor-element elementor-element-12fe80ee elementor-widget elementor-widget-heading" data-id="12fe80ee" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> <p class="elementor-heading-title elementor-size-default">05/05/2026</p> </div> </div> <div class="elementor-element elementor-element-767405b2 elementor-widget elementor-widget-theme-post-title elementor-page-title elementor-widget-heading" data-id="767405b2" data-element_type="widget" data-e-type="widget" data-widget_type="theme-post-title.default"> <p class="elementor-heading-title elementor-size-default">iPhone Flipper : l’outil hacking qui s’invite aux hackathons</p> </div> <div class="elementor-element elementor-element-49914f61 elementor-widget elementor-widget-theme-post-excerpt" data-id="49914f61" data-element_type="widget" data-e-type="widget" data-widget_type="theme-post-excerpt.default"> <p>iPhone Flipper : quand le Flipper Zero rencontre l’écosystème Apple Mis à jour le 05/05/2026 par Inès Bertrand L’ iphone... </div> <div class="elementor-element elementor-element-4c2e03ba elementor-widget elementor-widget-heading" data-id="4c2e03ba" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> <p class="elementor-heading-title elementor-size-default">Ines Build</p> </div> </a> </div> <div data-elementor-type="loop-item" data-elementor-id="1681" class="elementor elementor-1681 e-loop-item e-loop-item-1914 post-1914 post type-post status-publish format-standard has-post-thumbnail hentry category-general" data-elementor-post-type="elementor_library" data-custom-edit-handle="1"> <a class="elementor-element elementor-element-3c74b923 e-con-full e-flex e-con e-parent" data-id="3c74b923" data-element_type="container" data-e-type="container" href="https://hackathon-hi-paris.fr/general/opencore-patch-guide-hackathon/"> <div class="elementor-element elementor-element-315698d7 elementor-widget__width-inherit elementor-widget elementor-widget-theme-post-featured-image elementor-widget-image" data-id="315698d7" data-element_type="widget" data-e-type="widget" data-widget_type="theme-post-featured-image.default"> <img src="https://hackathon-hi-paris.fr/wp-content/uploads/elementor/thumbs/opencore-patch-featured-rmz1x8wrqknncejuc0v9or0jouq53r3tpetrh32irw.webp" title="opencore-patch-featured" alt="Développeur configurant un opencore patch sur un setup multi-écrans dans un appartement parisien, entouré de documentation technique et de matériel informatique" loading="lazy" /> </div> <div class="elementor-element elementor-element-7cfa9436 e-con-full e-flex e-con e-child" data-id="7cfa9436" data-element_type="container" data-e-type="container"> <div class="elementor-element elementor-element-75dc645f elementor-widget elementor-widget-heading" data-id="75dc645f" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> <p class="elementor-heading-title elementor-size-default"><span>Général</span></p> </div> <div class="elementor-element elementor-element-12fe80ee elementor-widget elementor-widget-heading" data-id="12fe80ee" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> <p class="elementor-heading-title elementor-size-default">04/05/2026</p> </div> </div> <div class="elementor-element elementor-element-767405b2 elementor-widget elementor-widget-theme-post-title elementor-page-title elementor-widget-heading" data-id="767405b2" data-element_type="widget" data-e-type="widget" data-widget_type="theme-post-title.default"> <p class="elementor-heading-title elementor-size-default">OpenCore Patch : Guide Technique pour Hackathon Builders</p> </div> <div class="elementor-element elementor-element-49914f61 elementor-widget elementor-widget-theme-post-excerpt" data-id="49914f61" data-element_type="widget" data-e-type="widget" data-widget_type="theme-post-excerpt.default"> <p>OpenCore Patch : Le Manuel du Builder qui Refuse les Compromis Mis à jour le 04/05/2026 par Inès Bertrand L’opencore... </div> <div class="elementor-element elementor-element-4c2e03ba elementor-widget elementor-widget-heading" data-id="4c2e03ba" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> <p class="elementor-heading-title elementor-size-default">Ines Build</p> </div> </a> </div> </div> </div> </div> </div> </div> </div> <footer data-elementor-type="footer" data-elementor-id="1001" class="elementor elementor-1001 elementor-location-footer" data-elementor-post-type="elementor_library"> <div class="elementor-element elementor-element-638907e e-con-full e-flex e-con e-parent" data-id="638907e" data-element_type="container" data-e-type="container" data-settings="{"background_background":"classic"}"> <div class="elementor-element elementor-element-d009a26 elementor-widget elementor-widget-html" data-id="d009a26" data-element_type="widget" data-e-type="widget" data-widget_type="html.default"> <!-- ========================================================= HACKATHON HI PARIS - FOOTER Usage : à coller dans Elementor Template Builder > Footer OU dans un widget HTML en bas de page ========================================================= --> <style> @import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400..600;1,9..144,400..600&family=Figtree:wght@400;500;600;700&display=swap'); .hhp-footer { --ink: #0a0e27; --accent: #eaff00; --border: rgba(255,255,255,0.1); --muted: #8a8fa8; font-family: 'Figtree', -apple-system, sans-serif; background: var(--ink); color: #fff; padding: 80px 24px 32px; margin-top: 80px; position: relative; overflow: hidden; } .hhp-footer::before { content: ''; position: absolute; top: -30%; left: -10%; width: 50%; height: 120%; background: radial-gradient(circle, rgba(234,255,0,0.06) 0%, transparent 60%); pointer-events: none; } .hhp-footer * { box-sizing: border-box; } .hhp-footer a { color: inherit; text-decoration: none; transition: color .2s; } .hhp-footer a:hover { color: var(--accent); } .hhp-footer-inner { max-width: 1280px; margin: 0 auto; position: relative; } /* --- Top section --- */ .hhp-footer-top { display: grid; grid-template-columns: 2fr 1fr 1fr 1.5fr; gap: 48px; padding-bottom: 56px; border-bottom: 1px solid var(--border); } .hhp-footer-brand { display: flex; flex-direction: column; } .hhp-footer-logo { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; } .hhp-footer-logo-mark { width: 40px; height: 40px; background: var(--accent); color: var(--ink); display: flex; align-items: center; justify-content: center; font-family: 'Fraunces', serif; font-size: 22px; font-weight: 600; border-radius: 4px; } .hhp-footer-logo-text { display: flex; flex-direction: column; line-height: 1.1; } .hhp-footer-logo-text strong { font-family: 'Fraunces', serif; font-size: 18px; font-weight: 500; letter-spacing: 0.5px; } .hhp-footer-logo-text span { font-size: 10px; color: var(--muted); letter-spacing: 1.5px; text-transform: uppercase; margin-top: 2px; } .hhp-footer-tagline { font-family: 'Fraunces', serif; font-size: 16px; font-style: italic; color: #c8cce0; line-height: 1.6; margin: 0 0 20px; max-width: 340px; } .hhp-footer-contact { font-size: 13px; color: var(--muted); line-height: 1.7; } .hhp-footer-contact a { color: #c8cce0; } /* --- Columns --- */ .hhp-footer-col h4 { font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--accent); margin: 0 0 18px; } .hhp-footer-col ul { list-style: none; padding: 0; margin: 0; } .hhp-footer-col li { padding: 6px 0; font-size: 14px; } .hhp-footer-col li a { color: #c8cce0; } /* --- Newsletter mini --- */ .hhp-footer-newsletter h4 { font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--accent); margin: 0 0 12px; } .hhp-footer-newsletter p { font-size: 13px; color: #c8cce0; line-height: 1.5; margin: 0 0 16px; } .hhp-footer-form { display: flex; gap: 8px; } .hhp-footer-form input { flex: 1; min-width: 0; padding: 11px 12px; background: rgba(255,255,255,0.05); border: 1px solid var(--border); color: #fff; font-family: inherit; font-size: 13px; border-radius: 2px; outline: none; transition: border-color .2s; } .hhp-footer-form input:focus { border-color: var(--accent); } .hhp-footer-form input::placeholder { color: var(--muted); } .hhp-footer-form button { padding: 11px 18px; background: var(--accent); color: var(--ink); border: none; font-family: inherit; font-size: 12px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; cursor: pointer; border-radius: 2px; transition: opacity .2s; } .hhp-footer-form button:hover { opacity: .85; } /* --- Bottom section --- */ .hhp-footer-bottom { padding-top: 24px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; font-size: 12px; color: var(--muted); letter-spacing: 0.3px; } .hhp-footer-legal { display: flex; gap: 20px; flex-wrap: wrap; } .hhp-footer-legal a { color: var(--muted); } .hhp-footer-socials { display: flex; gap: 8px; } .hhp-footer-social { width: 34px; height: 34px; border: 1px solid var(--border); border-radius: 50%; display: flex; align-items: center; justify-content: center; transition: all .2s; } .hhp-footer-social:hover { background: var(--accent); border-color: var(--accent); color: var(--ink); } .hhp-footer-social svg { width: 14px; height: 14px; fill: currentColor; } /* --- Responsive --- */ @media (max-width: 900px) { .hhp-footer-top { grid-template-columns: 1fr 1fr; gap: 40px; } .hhp-footer-brand { grid-column: 1 / -1; } } @media (max-width: 560px) { .hhp-footer { padding: 60px 20px 24px; } .hhp-footer-top { grid-template-columns: 1fr; } .hhp-footer-bottom { flex-direction: column; text-align: center; } } </style> <footer class="hhp-footer"> <div class="hhp-footer-inner"> <div class="hhp-footer-top"> <!-- Brand --> <div class="hhp-footer-brand"> <a href="/" class="hhp-footer-logo"> <div class="hhp-footer-logo-mark">H</div> <div class="hhp-footer-logo-text"> <strong>HACKATHON HI PARIS</strong> <span>Le mag tech & IA</span> </div> </a> <p class="hhp-footer-tagline">Le média indépendant de l'innovation, de l'intelligence artificielle et des hackathons en France.</p> <div class="hhp-footer-contact"> <a href="mailto:contact@hackathon-hi-paris.fr">contact@hackathon-hi-paris.fr</a><br> Paris · France </div> </div> <!-- Thématiques --> <div class="hhp-footer-col"> <h4>Thématiques</h4> <ul> <li><a href="/hackathons/">Hackathons</a></li> <li><a href="/intelligence-artificielle/">Intelligence artificielle</a></li> <li><a href="/ecoles/">Écoles & carrières</a></li> <li><a href="/actualites/">Actualités tech</a></li> <li><a href="/rewards/">Prix & récompenses</a></li> </ul> </div> <!-- Info --> <div class="hhp-footer-col"> <h4>Le média</h4> <ul> <li><a href="/a-propos/">À propos</a></li> <li><a href="/equipe/">L'équipe</a></li> <li><a href="/contact/">Contact</a></li> <li><a href="/annonceurs/">Annonceurs</a></li> <li><a href="/nous-rejoindre/">Nous rejoindre</a></li> </ul> </div> <!-- Newsletter --> <div class="hhp-footer-newsletter"> <h4>La newsletter</h4> <p>L'essentiel de la tech française et des hackathons IA, chaque mardi.</p> <form class="hhp-footer-form" onsubmit="return false;"> <input type="email" placeholder="votre@email.com" aria-label="Votre email"> <button type="submit">OK</button> </form> </div> </div> <div class="hhp-footer-bottom"> <div>© 2026 Hackathon Hi Paris · Tous droits réservés</div> <div class="hhp-footer-legal"> <a href="/mentions-legales/">Mentions légales</a> <a href="/politique-de-confidentialite/">Confidentialité</a> <a href="/cookies/">Cookies</a> <a href="/plan-du-site/">Plan du site</a> </div> <div class="hhp-footer-socials"> <a href="#" class="hhp-footer-social" aria-label="LinkedIn"> <svg viewBox="0 0 24 24"><path d="M20.5 2h-17A1.5 1.5 0 002 3.5v17A1.5 1.5 0 003.5 22h17a1.5 1.5 0 001.5-1.5v-17A1.5 1.5 0 0020.5 2zM8 19H5v-9h3zM6.5 8.25A1.75 1.75 0 118.3 6.5a1.78 1.78 0 01-1.8 1.75zM19 19h-3v-4.74c0-1.42-.6-1.93-1.38-1.93A1.74 1.74 0 0013 14.19a.66.66 0 000 .14V19h-3v-9h2.9v1.3a3.11 3.11 0 012.7-1.4c1.55 0 3.36.86 3.36 3.66z"/></svg> </a> <a href="#" class="hhp-footer-social" aria-label="X / Twitter"> <svg viewBox="0 0 24 24"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"/></svg> </a> <a href="#" class="hhp-footer-social" aria-label="YouTube"> <svg viewBox="0 0 24 24"><path d="M23.5 6.2a3 3 0 00-2.1-2.1C19.5 3.5 12 3.5 12 3.5s-7.5 0-9.4.6A3 3 0 00.5 6.2 31 31 0 000 12a31 31 0 00.5 5.8 3 3 0 002.1 2.1c1.9.6 9.4.6 9.4.6s7.5 0 9.4-.6a3 3 0 002.1-2.1A31 31 0 0024 12a31 31 0 00-.5-5.8zM9.6 15.6V8.4L15.8 12z"/></svg> </a> <a href="#" class="hhp-footer-social" aria-label="RSS"> <svg viewBox="0 0 24 24"><path d="M6.18 15.64a2.18 2.18 0 012.18 2.18C8.36 19 7.38 20 6.18 20A2.18 2.18 0 014 17.82a2.18 2.18 0 012.18-2.18zM4 4.44A15.56 15.56 0 0119.56 20h-2.83A12.73 12.73 0 004 7.27zm0 5.66A9.9 9.9 0 0113.9 20h-2.83A7.07 7.07 0 004 12.93z"/></svg> </a> </div> </div> </div> </footer> <!-- /Hackathon Hi Paris footer --> </div> </div> </footer> <script type="speculationrules"> {"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/hello-elementor/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} </script> <script> const lazyloadRunObserver = () => { const lazyloadBackgrounds = document.querySelectorAll( `.e-con.e-parent:not(.e-lazyloaded)` ); const lazyloadBackgroundObserver = new IntersectionObserver( ( entries ) => { entries.forEach( ( entry ) => { if ( entry.isIntersecting ) { let lazyloadBackground = entry.target; if( lazyloadBackground ) { lazyloadBackground.classList.add( 'e-lazyloaded' ); } lazyloadBackgroundObserver.unobserve( entry.target ); } }); }, { rootMargin: '200px 0px 200px 0px' } ); lazyloadBackgrounds.forEach( ( lazyloadBackground ) => { lazyloadBackgroundObserver.observe( lazyloadBackground ); } ); }; const events = [ 'DOMContentLoaded', 'elementor/lazyload/observe', ]; events.forEach( ( event ) => { document.addEventListener( event, lazyloadRunObserver ); } ); </script> <script src="https://hackathon-hi-paris.fr/wp-content/themes/hello-elementor/assets/js/hello-frontend.js?ver=3.4.7" id="hello-theme-frontend-js"></script> <script src="https://hackathon-hi-paris.fr/wp-content/plugins/elementor/assets/js/webpack.runtime.min.js?ver=4.0.6" id="elementor-webpack-runtime-js"></script> <script src="https://hackathon-hi-paris.fr/wp-content/plugins/elementor/assets/js/frontend-modules.min.js?ver=4.0.6" id="elementor-frontend-modules-js"></script> <script src="https://hackathon-hi-paris.fr/wp-includes/js/jquery/ui/core.min.js?ver=1.13.3" id="jquery-ui-core-js"></script> <script id="elementor-frontend-js-before"> var elementorFrontendConfig = {"environmentMode":{"edit":false,"wpPreview":false,"isScriptDebug":false},"i18n":{"shareOnFacebook":"Partager sur Facebook","shareOnTwitter":"Partager sur Twitter","pinIt":"L\u2019\u00e9pingler","download":"T\u00e9l\u00e9charger","downloadImage":"T\u00e9l\u00e9charger une image","fullscreen":"Plein \u00e9cran","zoom":"Zoom","share":"Partager","playVideo":"Lire la vid\u00e9o","previous":"Pr\u00e9c\u00e9dent","next":"Suivant","close":"Fermer","a11yCarouselPrevSlideMessage":"Diapositive pr\u00e9c\u00e9dente","a11yCarouselNextSlideMessage":"Diapositive suivante","a11yCarouselFirstSlideMessage":"Ceci est la premi\u00e8re diapositive","a11yCarouselLastSlideMessage":"Ceci est la derni\u00e8re diapositive","a11yCarouselPaginationBulletMessage":"Aller \u00e0 la diapositive"},"is_rtl":false,"breakpoints":{"xs":0,"sm":480,"md":768,"lg":1025,"xl":1440,"xxl":1600},"responsive":{"breakpoints":{"mobile":{"label":"Portrait mobile","value":767,"default_value":767,"direction":"max","is_enabled":true},"mobile_extra":{"label":"Mobile Paysage","value":880,"default_value":880,"direction":"max","is_enabled":false},"tablet":{"label":"Tablette en mode portrait","value":1024,"default_value":1024,"direction":"max","is_enabled":true},"tablet_extra":{"label":"Tablette en mode paysage","value":1200,"default_value":1200,"direction":"max","is_enabled":false},"laptop":{"label":"Portable","value":1366,"default_value":1366,"direction":"max","is_enabled":false},"widescreen":{"label":"\u00c9cran large","value":2400,"default_value":2400,"direction":"min","is_enabled":false}},"hasCustomBreakpoints":false},"version":"4.0.6","is_static":false,"experimentalFeatures":{"e_font_icon_svg":true,"additional_custom_breakpoints":true,"container":true,"e_optimized_markup":true,"theme_builder_v2":true,"hello-theme-header-footer":true,"nested-elements":true,"global_classes_should_enforce_capabilities":true,"e_variables":true,"e_opt_in_v4_page":true,"e_components":true,"e_interactions":true,"e_widget_creation":true,"import-export-customization":true,"e_pro_atomic_form":true,"mega-menu":true,"e_pro_variables":true,"e_pro_interactions":true},"urls":{"assets":"https:\/\/hackathon-hi-paris.fr\/wp-content\/plugins\/elementor\/assets\/","ajaxurl":"https:\/\/hackathon-hi-paris.fr\/wp-admin\/admin-ajax.php","uploadUrl":"https:\/\/hackathon-hi-paris.fr\/wp-content\/uploads"},"nonces":{"floatingButtonsClickTracking":"867c47b724","atomicFormsSendForm":"bb1b65de4e"},"swiperClass":"swiper","settings":{"page":[],"editorPreferences":[]},"kit":{"body_background_background":"classic","active_breakpoints":["viewport_mobile","viewport_tablet"],"global_image_lightbox":"yes","lightbox_enable_counter":"yes","lightbox_enable_fullscreen":"yes","lightbox_enable_zoom":"yes","lightbox_enable_share":"yes","lightbox_title_src":"title","lightbox_description_src":"description","hello_header_logo_type":"title","hello_header_menu_layout":"horizontal","hello_footer_logo_type":"logo"},"post":{"id":1904,"title":"inurl%3Adork%20%3A%20guide%20complet%20pour%20hackers%20en%20comp%C3%A9tition","excerpt":"","featuredImage":"https:\/\/hackathon-hi-paris.fr\/wp-content\/uploads\/2026\/05\/inurldork-featured-1024x585.webp"}}; //# sourceURL=elementor-frontend-js-before </script> <script src="https://hackathon-hi-paris.fr/wp-content/plugins/elementor/assets/js/frontend.min.js?ver=4.0.6" id="elementor-frontend-js"></script> <script src="https://hackathon-hi-paris.fr/wp-content/plugins/elementor-pro/assets/lib/smartmenus/jquery.smartmenus.min.js?ver=1.2.1" id="smartmenus-js"></script> <script src="https://hackathon-hi-paris.fr/wp-includes/js/imagesloaded.min.js?ver=5.0.0" id="imagesloaded-js"></script> <script src="https://hackathon-hi-paris.fr/wp-content/plugins/elementor-pro/assets/js/webpack-pro.runtime.min.js?ver=4.0.4" id="elementor-pro-webpack-runtime-js"></script> <script src="https://hackathon-hi-paris.fr/wp-includes/js/dist/hooks.min.js?ver=dd5603f07f9220ed27f1" id="wp-hooks-js"></script> <script src="https://hackathon-hi-paris.fr/wp-includes/js/dist/i18n.min.js?ver=c26c3dc7bed366793375" id="wp-i18n-js"></script> <script id="wp-i18n-js-after"> wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); //# sourceURL=wp-i18n-js-after </script> <script id="elementor-pro-frontend-js-before"> var ElementorProFrontendConfig = {"ajaxurl":"https:\/\/hackathon-hi-paris.fr\/wp-admin\/admin-ajax.php","nonce":"57ba7e4e21","urls":{"assets":"https:\/\/hackathon-hi-paris.fr\/wp-content\/plugins\/elementor-pro\/assets\/","rest":"https:\/\/hackathon-hi-paris.fr\/wp-json\/"},"settings":{"lazy_load_background_images":true},"popup":{"hasPopUps":false},"shareButtonsNetworks":{"facebook":{"title":"Facebook","has_counter":true},"twitter":{"title":"Twitter"},"linkedin":{"title":"LinkedIn","has_counter":true},"pinterest":{"title":"Pinterest","has_counter":true},"reddit":{"title":"Reddit","has_counter":true},"vk":{"title":"VK","has_counter":true},"odnoklassniki":{"title":"OK","has_counter":true},"tumblr":{"title":"Tumblr"},"digg":{"title":"Digg"},"skype":{"title":"Skype"},"stumbleupon":{"title":"StumbleUpon","has_counter":true},"mix":{"title":"Mix"},"telegram":{"title":"Telegram"},"pocket":{"title":"Pocket","has_counter":true},"xing":{"title":"XING","has_counter":true},"whatsapp":{"title":"WhatsApp"},"email":{"title":"Email"},"print":{"title":"Print"},"x-twitter":{"title":"X"},"threads":{"title":"Threads"}},"facebook_sdk":{"lang":"fr_FR","app_id":""},"lottie":{"defaultAnimationUrl":"https:\/\/hackathon-hi-paris.fr\/wp-content\/plugins\/elementor-pro\/modules\/lottie\/assets\/animations\/default.json"}}; //# sourceURL=elementor-pro-frontend-js-before </script> <script src="https://hackathon-hi-paris.fr/wp-content/plugins/elementor-pro/assets/js/frontend.min.js?ver=4.0.4" id="elementor-pro-frontend-js"></script> <script src="https://hackathon-hi-paris.fr/wp-content/plugins/elementor-pro/assets/js/elements-handlers.min.js?ver=4.0.4" id="pro-elements-handlers-js"></script> <script data-category="functional"> </script> <script id="wp-emoji-settings" type="application/json"> {"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://hackathon-hi-paris.fr/wp-includes/js/wp-emoji-release.min.js?ver=6.9.4"}} </script> <script type="module"> /*! This file is auto-generated */ const a=JSON.parse(document.getElementById("wp-emoji-settings").textContent),o=(window._wpemojiSettings=a,"wpEmojiSettingsSupports"),s=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const a=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===a[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,a){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!a(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,a){let r;const o=(r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),s=(o.textBaseline="top",o.font="600 32px Arial",{});return e.forEach(e=>{s[e]=t(o,e,n,a)}),s}function r(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}a.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),c.toString(),p.toString()].join(",")+"));",a=new Blob([e],{type:"text/javascript"});const r=new Worker(URL.createObjectURL(a),{name:"wpTestEmojiSupports"});return void(r.onmessage=e=>{i(n=e.data),r.terminate(),t(n)})}catch(e){}i(n=f(s,u,c,p))}t(n)}).then(e=>{for(const n in e)a.supports[n]=e[n],a.supports.everything=a.supports.everything&&a.supports[n],"flag"!==n&&(a.supports.everythingExceptFlag=a.supports.everythingExceptFlag&&a.supports[n]);var t;a.supports.everythingExceptFlag=a.supports.everythingExceptFlag&&!a.supports.flag,a.supports.everything||((t=a.source||{}).concatemoji?r(t.concatemoji):t.wpemoji&&t.twemoji&&(r(t.twemoji),r(t.wpemoji)))}); //# sourceURL=https://hackathon-hi-paris.fr/wp-includes/js/wp-emoji-loader.min.js </script> </body> </html>