Stage Gabriel
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Write
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Make a copy
    • Transfer ownership
    • Delete this note
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Help
Menu
Options
Engagement control Make a copy Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Write
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    # Comptes-Rendus des différentes réunions du projet - [Réunion du 6 mars 2025](#Réunion-du-6-mars-2025) - [Réunion du 10 mars 2025](#Réunion-du-10-mars-2025) - [Réunion du 17 mars 2025](#Réunion-du-17-mars-2025) - [Réunion du 24 mars 2025](#Réunion-du-24-mars-2025) - [Réunion du 31 mars 2025](#Réunion-du-31-mars-2025) - [Réunion du 07 avril 2025](#Réunion-du-07-avril-2025) - [Réunion du 14 avril 2025](#Réunion-du-14-avril-2025) - [Réunion du 25 avril 2025](#Réunion-du-25-avril-2025) - [Réunion du 29 avril 2025](#Réunion-du-29-avril-2025) - [Réunion du 05 mai 2025](#Réunion-du-05-mai-2025) - [Réunion du 19 mai 2025](#Réunion-du-19-mai-2025) - [Réunion du 2 juin 2025](#Réunion-du-2-juin-2025) - [Réunion du 7 juillet 2025](#Réunion-du-7-juillet-2025) # Réunion du 6 mars 2025 Réunion avec toute l'équipe. Aujourd’hui, il existe des outils Theia permettant de cartographier les surfaces en eau, mais ils sont annuels. ## Deux besoins principaux du stage : ### Dynamique hydrique des étangs - Développer un outil permettant de détecter et caractériser les cycles hydriques des plans d’eau de la Brenne dans le temps. >[] Les étangs sont vidés tous les 7-10 ans pendant environ un an (assec), mais tous les étangs exploités sont vidangés puis remplis tous les 1,2 ou 3 ans en fonction des espèces et stades de poissons produites. :::info Les étangs en assec sont vides de mars à octobre et pafois végétalisé en été (végétation naturelle ou parfois mise en culture). ::: L'assec est un temps de non production pour le pisciculteur, il essaie donc d'en faire le moins possible. Exploitants font un assec tous les 7-10 ans afin de secher et minéraliser les vases. Un curage peut également avoir lieu à la suite de l'assec, tous les 30 ans environ pour curer et exporter la vase. Les étangs peuvent également être vidangés ponctuellement. Cela tous les ans, deux ans ou trois ans (pas fixe). :::info Vidés entre septembre et février puis se remplissent dès la fin de la pêche en fonction des précipitations ainsi que du niveau d'eau des étangs en amont. ::: Problématique avec l’activité piscicole qui régresse (fermeture du premier opérateur piscicole de Brenne). Intéressant d’analyser les dynamiques intra-annuelles également. V3 de la carthographie des étangs qui existe. Les étangs subissent une variation du niveau d'eau en été liés aux conditions météo. ### Végétation aquatique Pour l’instant, se concentrer sur la végétation à feuilles flottantes, mais voir s’il est possible d’essayer avec la végétation de bordure d’étang ou subaquatique. Analyser la dynamique d’apparition/disparition de cette végétation, ainsi que son évolution dans le temps. Les objectifs pour nous ici sont, dans l’ordre des priorités : • de pouvoir détecter les étangs où les végétations aquatiques à feuilles flottantes sont présentes (maximum de développement en juin-septembre) • de pouvoir détecter les étangs où les végétations subaquatiques, littorales et d’assec sont présentes • de quantifier les surfaces concernées et leur évolution • de caractériser et discriminer plus finement ces végétations : roselière à roseaux, herbiers de potamots, herbier de ceratophylle, ….(j’arrête là, il y en a plein) Pour la végétation, il existe des inventaires de terrain réalisés par le PNR et également par Aquabio. Données disponibles : dates d’inventaire, surfaces et localisation de végétation. Sur une centaine d’étangs Deux approches possibles : • Classification des types de végétation. • Analyse de l’hétérogénéité spectrale (corrélée avec la biodiversité). Cartographie de la végétation disponible sur plusieurs plan d’eau (24 sur sur 2022, et 65 de plus sur 2023 à 2025, mais les données ne sont pas encore numérisées/2024 ?, plus sur 2022 ?) indiquant la proportion d’habitat dans l’étang. Sur la période 2017-2024, le travail de recensement des données disponibles en étangs reste à mener. Possibilité de solliciter un partenaire ayant réalisé des orthophotographies par drone sur les étangs inventoriés en 2023-2024. Le PNR vérifie. Réfléchir à d’autres données et résolutions spatiales (LIDAR par exemple). :::warning :warning: **Attention : ne pas supprimer la colonne FID de la cartographie des étangs.** ::: ## Autres informations - La végétation aquatique est visible sur les étangs de mai à fin septembre. - Les vidanges ont lieu généralement entre octobre et février. - Possibilité d’exploiter ces contraintes (exemple : si absence d’eau en juillet → assec). - Sortie terrain à organiser. - Se renseigner aussi sur les images Pleiades Néo du PNR. - Voir aussi sentinel hub playground, peut être utile pour l'analyse de la dynamique des étangs. # Réunion du 10 mars 2025 Point avec l'équipe Dynafor. ## Présentation de mon travail jusqu'à présent Présentation de ce que j'ai fait jusqu'à ce jour. Lecture de biblio sur Brenne ainsi que sur la biblio scientifique de détection de surface en eau. Essais de calcul d'indices sur des images Sentinel L2A (2020), type MNDWI, afin de voir les surfaces en eau d'une zone. ## Discussion et idées de la réunion Commencer à voir si on peut faire les analyses avec du L3 plutôt que du L2A. Regarder l'article sur la description des données de détection d'eau de Sentinel/Theia, avec quels indices ça a été fait. Thèse de Cazalzs sur détection avec radar. Peut être intéressant de faire des cartes bivariées avec le nombre de fois où un pixel est en eau et le nombre de fois où il est en végétation sur l'année. Le faire à l'échelle de l'étang aussi, possiblement. ## Objectifs finaux du projet **Caractérisation de la dynamique de l'eau et de la végétation intra et inter-annuelle** - Si possible avec données optiques S2 L3 - Peut-être essayer une comparaison des techniques entre couplages L2A/S1, L2A seul, S1 seul, (L3+S1 ?) **Classification de la végétation** Peut-être qu'avec des données Pléiades, on pourrait distinguer le type de végétation. Voir aussi pour le radar, car il distingue bien l'humidité et pourrait différencier la végétation sèche et la végétation flottante. ## Programme pour le mois prochain (à vérifier dans 2 semaines) Continuer à lire la biblio, se concentrer sur ce que l'on pourrait en tirer, quelles techniques seraient applicables dans notre projet et avec quelles performances. Essayer avec une série temporelle d'une année L3 d'appliquer les règles de décision et le calcul des indices (MNDWI, NDVI). Carte de la dynamique intra-annuelle bivariée. Pour l'instant, essayer sans faire attention à l'enchaînement des mois, mais tester cela plus tard. Faire cela aux deux échelles (pixel et étang). Réfléchir à comment constituer des jeux de référence, essayer avec GG Engine ou Sentinel-Hub, regarder le jeu de données que le PNR a fourni. ## Programme à échéance plus lointaine Essayer d'amener les données radar pour la classification de la végétation. Utiliser les codes afin de faire les analyses sur l'ensemble de la série temporelle. Pour la classification de la végétation, réfléchir à si on utilise des images ortho ou si on utilise les images de drones. # Réunion du 17 mars 2025 Point avec l'équipe Dynafor. ## Ce que j'ai fait cette semaine Avancer sur la bibliographie. Essais de traitements avec l'outil Dynafor spectral-indices. Production des indices MNDWI et NDVI sur une petite zone du PNR pour des dates de 2020 sans nuages avec interpolation journalière (peu représentatif au final mais utile pour essayer les chaines de traitements) avec des données L2A. ## Axes d'améliorations et suite Au niveau de la présentation de la biblio, préciser les présentations avec une description de ce qui est étudié, ce qui est comparé, quelles données sont utilisées, dans quelle optique. Ajouter une petite conclusion à la fin afin de résumer ce qui est dit, ce qu'a apporter l'article. Au final analyse sur la plage de temps 2017-2024(25). Maintenant, avancer sur l'analyse des images avec du niveau L3. Construire MNDWI/NDVI mensuelle, calculé combien de fois un pixel = eau sur un an (min 0 fois et max 12 fois de l'eau). Faire aussi masque d'occurence avec niveau L2A. Faire carte bivariée NDVI/MNDWI avec soit valeur des indices soit eau/pas eau végétation/pas végétation (exemple type ci dessous) : ![Capture d'écran 2025-03-17 101122](https://hackmd.io/_uploads/rJ5PDDH3ye.png) Faire aussi scatter plot du MNDWI/NDVI, peut aider à identifier les seuils séparant étangs pleins, vidangés, assec. ![Capture d'écran 2025-03-17 101920](https://hackmd.io/_uploads/rknXFvHnye.png) Plusieurs articles à lire en priorité: https://www.sciencedirect.com/science/article/pii/S0034425722003790?via%3Dihub https://www.mdpi.com/2072-4292/13/16/3279 # Réunion du 24 mars 2025 Réunion avec toute l'équipe. ## Avancée du stage - Travail sur la série temporelle de 2020 au niveau L3, avec une agrégation mensuelle des données du satellite Sentinel-2. - Production de données exploitables (concaténation des différentes images, construction du MNDWI et du NDVI). - Réflexion sur les seuils utilisés pour le MNDWI afin de différencier un pixel eau et non eau. - Possibilité de construire des règles de décision simples afin d'identifier les assecs et vidanges (questionnement sur la capacité des données L3 à détecter les variations rapides). - Conception de cartes bivariées (voir l'exemple de carte présenté lors de la réunion du 17 mars 2025) afin d'observer la variation NDVI/MNDWI. - Avancée de l'analyse bibliographique. ## Points sur lesquels travailler Dans l'ordre, il faudrait : 1. Construire un jeu de référence des étangs en assec, en eau et en vidange. - Utiliser le jeu de données des étangs en assec du PNR. - Compléter avec des données issues de Google Earth Engine. - Vérifier s'il existe un jeu de données produit par les étudiants SIGMA. 2. Appliquer des algorithmes (arbre de décision, seuillage par histogramme) afin d'obtenir une valeur seuil pour la distinction entre eau et non eau. 3. Analyser la variation temporelle du NDVI et du MNDWI avec une sommation du nombre de fois qu'un pixel est détecté comme étant de l'eau. Une fois ces étapes réalisées, il sera intéressant de comparer ces résultats avec le produit de Copernicus détectant la présence d'eau. Enfin, il serait pertinent de mieux recontextualiser les présentations pendant les réunions. # Réunion du 31 mars 2025 Point avec Dynafor. ## Avancée du travail Création des points échantillons de références assec et vidanges (environ 20 points par type donc 40 par an.) Protocole d'échantillonnage : - Sélection d'une série temporelle L2A allant de l'année d'étude à année étude +1 - Sélection d'une date en avril afin d'identifier un étangs en assec potentiel ou en eau - Observation des étangs avec 3 visualisations - RGB - Fausses couleurs infra-rouges B8A-B4-B3 - Fausses couleurs B8-B11-B4 - Observations sur les mois de mars à octobre afin de vérifier l'assec. Puis observations avant et après pour vérifier qu'il se re-remplit. Constructions de raster échantillons. 1 par an avec comme valeurs 0 si étang en 0 et 1 si étang en assec. Pas encore de classification réalisée. ## Problématique Pixel en assec bien identifié quand analyse avec histogramme croisant données de MNDWI et classifications assec/en eau. Par contre problème dans l'identification des étangs en assec car certains étangs échantillonnés en eau ont des valeurs de mndwi négatives sur plusieurs mois. ## A faire Vérifier les étangs problématiques sur qgis en rgb, fausses couleurs, mndwi et ndvi afin d'identifier la cause. # Réunion du 07 avril 2025 Réunion avec toute l'équipe. ## Présentation de l'échantillonnage et des problèmes Présentation des méthodes et des résultats d'échantillonnage. Construction d'histogrammes des valeurs de MNDWI pour les étangs classés en assec (rouge) et en eau (bleu). > Histogramme des valeurs médiane de MNDWI chaque année. ![hist_mndwi_eau_assec_mediane](https://hackmd.io/_uploads/H1cGvfb0ye.png) > Histogramme de toutes les valeurs de MNDWI chaque année. ![hist_mndwi_eau_assec_total](https://hackmd.io/_uploads/BJ5zDGW01e.png) > Histogramme de toutes les valeurs entre janvier et juin chaque année. ![hist_mndwi_eau_assec_jan-juin](https://hackmd.io/_uploads/r1cGvM-Ake.png) Le problème ici vient de la quantité de valeurs négative des étangs échantillonnés en eau. Normalement on devrait attendre deux histogrammes séparés avec un pic en négatif pour les étangs en assec et un pic en positif pour les étangs en eau. Par contre on observe une différence importante au niveau de la variance des données eau (-1;1) alors que les échantillons assec ne varient qu'entre (-1;0). Ceci est due à plusieurs facteurs : - Effet de bord due à la végétation poussant sur le bord des étangs - Marnage rendant parfois des étangs en eau vide pendant l'été. - Données étranges sur certains étangs au niveau L3. En effet les bandes B3 et B11 donnent parfois des valeurs égales à 0, à des endroits sans masque nuage et où il y normallement de l'eau. Tandis qu'au même endroit durant le même mois les données L2A montrent des résultats. ![Capture d’écran du 2025-04-07 11-30-10](https://hackmd.io/_uploads/S1vViM-Rke.png) ## Pour la suite Vérification/réparation des échantillons en refaisant l'analyse avec des images L3, rajout du NDVI et séléction seulement d'échantillons où la série temporelle est complète sans données manquantes. Peut être regarder une période de l'année donnée pour les histogrammes et les valeurs de MNDWI où la végétation est minoritaire. :::info Idée aussi d'implémenter un filtre spatial/statistique afin de se débarasser des bordures végétalisées. ::: # Réunion du 14 avril 2025 Point avec Dynafor. Décision de passer aux données L2A car il y a des incohérence sur les données L3. Toujours présence du besoin de reconstruire les échantillons classés en eau, mais cette fois avec du L2A et en rajoutant le NDVI comme outils d'échantillonnages. Ajouter à l'échantillonnage une classe hétérogène afin d'observer les variations sur les l'histogrammes. Pourvoir faire l'analyse à l'échelle du pixel et des étangs. Faire des représentations scatterplot MNDWI vs NDVI de plusieurs étangs caractéristiques (donc besoin de pouvoir sélectionner un étang). Ajouter si possible le déplacement des pixels sur le graphe (voir carnet de note pour t'en souvenir). Faire aussi un jitterplot (voir ggplot). Problème avec le masque nuage L2 ayant des performances mitigées, nuages pas détéctés par exemple. Donc ajout d'une étape de renforcement du masque en analysant la Rrs de B2 pour mes étangs puis en masquant mes images avec une valeur de réfléctance de B2. # Réunion du 25 avril 2025 Point avec PNRB. Travail principalement sur l'amélioration du masque nuage. Mises en place de deux méthodes de seuillages distinctes avec B2: - Seuillage de dates, calcule de la valeur moyenne de Rrs sur la carte (donc on obtient une valeur par dates) et si une date à une valeur moyenne supérieure au seuil on élimine. - Seuillage de pixels, analyse des valeurs de Rrs de tous les pixels et si valeur supérieure à un seuil on élimine. Pour la mise en place de ces seuils on a analysé les boxplot des données et on a produit une valeure seuil pour toutes les années pour le seuil des dates et uen valeur seuil par année pour le seuil des pixels. Maintenant production des indices d'intérêts, application de Otsu pour obtenir le seuil entre eau/non eau. # Réunion du 29 avril 2025 Point avec Dynafor. Questionnement à propos de la source de données du catalogue stac des images S2 utilisées. https://browser-cdos.apps.okd.crocc.meso.umontpellier.fr/collections/sentinel2-l2a-theia Ce sont les données issues de Theia mais pas d'informations par rapport à un possible traitement en plus des images. Questionnement à propos du nombre d'images rapatriée par spectral-indices : en moyenne 30 alors qu'on devrait en avoir une soixantaine. On veut aussi vérifier que l'interpolation temporelle spline nous donne pas n'importe quoi donc faire un plot des données avant interp et après pour voir déjà si les données interpolées sont cohérentes et aussi voir si il modifie pas les données non interpolées. # Réunion du 05 mai 2025 Présentation des résultats d'interpolation, problème avec le TemporalInterpolation de SpectralIndices qui ne faisait que dupliquer les données. Spline à un problème avec la quantitée de nodata et quand appliquée sur certains pixels donne des résultats abérrants. Pour l'instant j'ai fait une interpolation linéaire couplée à un fill des données par duplication pour remplir les nodata restants. Mais idée de faire un rééchantillonnage des données avec un pas de temps stable (10 jours ici). Ajout de l'orbite 94 dans les données pour augmenter le nombre de dates de l'étude mais besoin de vérifier comment elles ont été intepollées et quelles emprise elles ont sur l'étude. Pour ça plot du nombre de date en 94 et 51 sur un barplot et une frise. # Réunion du 19 mai 2025 Interpolation faites par interpolation linéaire entre 2016 et 2025 (pour analyser 2017-2024) et fill sur les trous restants puis resample à échelle 10 jours. -> Calculer les pourcentages de données duppliquées. Présentation de plusieurs représentations des données (tri-bandes, carte d'occurences.) Idée de filtrer les étangs et les zones jamais en eau dans l'analyse. Maintenant il faut réfléchir à la classification que l'on va utiliser. RandomForest peut être bien car - Donne l'importance relative des variables dans l'analyse. - Peut se faire sur tous les indices. - Pas besoin de normaliser. Voir quels sont les résultats et changer si besoins les indices/la période d'analyse. Possible aussi regression logistique, SVM (obligation de normaliser). Essayer aussi multi-otsu. Ensuite deuxième point important, la visite de terrain. Préparer la période de sortie terrain ainsi que l'organisation en elle même. Possible de faire : - Vérification de classif - Observation d'étangs, à quoi cela ressemble en eau, en assec, avec de la végétation. - Relevés de végétation. # Réunion du 2 juin 2025 ## Terrain Dates : Semaine du 23 juin (début de semaine). Missions : - Voir les étangs dans ses différents états, assec, vidange, végétation. - Comparaison avec mes résultats, étangs montrant des doutes etc .... - Faire des relevés de végétations. Il faudrait identifier les étangs interessant à aller voir. * Le 24 juin, point important au PNR donc ce serait bien d'avoir une production à présenter. Par exemple, localiser certains étangs jamais en assec ou autre. ## Données Vérification de l'interpolation : Cela pourrait être bien de vérifier comment l'interpolation se fait, est-que il n'y a pas des trop gros gap de données parfois entre deux dates, mettre une alarme quand un pixel est interpolé avec une date de plus de 2 mois. Faire une count des pixels pas interpolé pour vérifier si il n'y a pas des endroits avec très peu de valeurs. Changer la façon d'analyser les données, le faire par année hydrologique plutôt(oct-sept). Pour le plot bivariée, changer les classes, en mettre 4 ou bien changer les bornes. Comparer nos résulats de construction produit eau avec le produit theia. Observe certains étangs en assec pour comprendre la période de rupture, comment apparait la rupture. Pour l'analyse de la végétation, on se focalisera sur une année et on mixera le S1 et S2. # Réunion du 7 juillet 2025 Présentation des données terrains. Détection des assecs avec chaine de traitement sur une période données. Validations avec les données terrains et variations des paramètres. Points relevés : - Cartes du nombre de fois en eau par périodes pour les échantillons terrains. - Faire des cartes compréhensible en elle-même sans moi. - Sur les plots de water coverage et vege coverage mets les moments où y'a des assecs pour les refs terrains si c'est possible. - Il faudrait produire tous les water/vege cover pour tous les étangs. Plan détaillé : Pour l'état de l'art ne fais que un état de l'art sur les méthodes de télédétection appliquées au surfaces d'eau. - 1 : Avec quoi sont fais ces méthodes ? Quels capteurs par exemple. - 2 : Comment, quels méthodes, classif ou autre, validation et autre. Fais une partie à part pour le fonctionnement des étangs. # Réunion du 27 août 2025 Point de fin de stage. Choses à faire pour le rapport : - Piste par rapport à où on en est sur la détection de la végétation et des types de végétation au niveau des étangs. - Ajouter les termes importants au glossaire (exemple étangs, assec, vidange, année hydrologique/piscicole) - Pistes par rapport à l'utilisation de la télédec sur la Brenne pour d'autre problématique. Choses à faire après : - Envoyer un zip avec tous les étangs et un code pour afficher les plots de water/vegetation coverage. - Faire une méthodo de téléchargement des données année par année. - Reprendre mes codes. -

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully