Module bloc1Pack.HTML_index

Génère la page d'accueil du site.

Expand source code
#!/usr/bin/python3
#-*- coding: utf8 -*-

# @author : Sébastien LOZANO
"""
    Génère la page d'accueil du site.
"""
pass

# On fait les imports nécessaires selon le contexte
# Pour pouvoir créer un répertoire, ici pour y mettre les fichiers HTML
import os

# On fait les imports nécessaires selon le contexte
# Pour générer les fichiers HTML 
if __name__ == "__main__":    
    from HTML_constantes import *
else:
    from bloc1Pack.HTML_constantes import *

############################################################################################################
# Générer le fichier pagesWeb/index.HTML
############################################################################################################

def main():
    """
        Fonction principale qui sera appelée pour générer l'ensemble des pages du site.    
    """
    pass

    # On crée le dossier qui va accueillir les fichiers HTML si il n'existe pas
    if not os.path.exists("./pagesWeb/"):
        os.mkdir("./pagesWeb/")

    # On ouvre en écriture le fichier html qui va recevoir le code
    indexHTML = open("./pagesWeb/index.html", "w")
    
    # On ajoute le doctype et le head
    for elt in docTypeHeadStyle:
        indexHTML.writelines(elt)
    
    # On ouvre le body
    indexHTML.writelines(["<body>\n"])

    # On ajoute les éléments de la barre de navigation
    for elt in barreDeNavigation:
        indexHTML.writelines(elt)  
    
    # On ajoute une partie spécifique
    indexHTML.writelines([
        """
        <h2>ACCUEIL</h2>\n
        <p> Le projet consiste à transférer les données d’un fichier csv dans un document HTML permettant d’en consulter le contenu.<br>
        Pour générer la documentation il faut installer le paquet python <a href="https://pdoc3.github.io/pdoc/" target="_blank"> pdoc3</a>
        </p>
        
        <h3>Auteur</h3>
        <p>Sébastien LOZANO</p>

        <h3> Installation et utilisation </h3>        
        <p>La procédure a été testé sous <b>Linux</b> uniquement.
        <ul>
        <li>Télécharger cette <a href="../python_prod.zip"> archive zip</a></li>
        <li>Décompresser l'archive</li>        
        <li>Lancer le script python <b>bloc1_generate_files.py</b> à la racine du projet.</li>
        </ul>
        </p>          

        <h3> Notes </h3>
        <p>
        Les fichiers de la documentations sont générés dans le dossier <b>docs</b><br><br>
        Les fichiers HTML sont générés dans le dossier <b>pagesWeb</b><br><br>
        Le script met environ <b>22 minutes</b> à créer l'ensemble des fichiers.<br><br>
        Deux versions pour le fichier HTML avec filtre par formulaire :
        <ul>
        <li><b>Version 1</b> : L'ensemble des lignes du tableau est généré dans le DOM puis cachées, l'affichage est ensuite géré dynamiquement via des scripts javascript mais l'ensemble des lignes reste dans le DOM.</li>
        <li><b>Version 2</b> : Un tableau javascript est générée via python, on gère ensuite le DOM et donc l'affichage dynamiquement via javascript.</li>
        </ul>
        </p>

        <h3> License <a href="https://choosealicense.com/licenses/mit/" target="_blank">MIT</a><h3>        
        """        
    ])
    
    # On ferme le body
    indexHTML.writelines([
    """    
    </body>\n
    </html>\n
    """
    ])
    
    #On ferme le fichier
    indexHTML.close()

if __name__ == "__main__":
    main()

Functions

def main()

Fonction principale qui sera appelée pour générer l'ensemble des pages du site.

Expand source code
def main():
    """
        Fonction principale qui sera appelée pour générer l'ensemble des pages du site.    
    """
    pass

    # On crée le dossier qui va accueillir les fichiers HTML si il n'existe pas
    if not os.path.exists("./pagesWeb/"):
        os.mkdir("./pagesWeb/")

    # On ouvre en écriture le fichier html qui va recevoir le code
    indexHTML = open("./pagesWeb/index.html", "w")
    
    # On ajoute le doctype et le head
    for elt in docTypeHeadStyle:
        indexHTML.writelines(elt)
    
    # On ouvre le body
    indexHTML.writelines(["<body>\n"])

    # On ajoute les éléments de la barre de navigation
    for elt in barreDeNavigation:
        indexHTML.writelines(elt)  
    
    # On ajoute une partie spécifique
    indexHTML.writelines([
        """
        <h2>ACCUEIL</h2>\n
        <p> Le projet consiste à transférer les données d’un fichier csv dans un document HTML permettant d’en consulter le contenu.<br>
        Pour générer la documentation il faut installer le paquet python <a href="https://pdoc3.github.io/pdoc/" target="_blank"> pdoc3</a>
        </p>
        
        <h3>Auteur</h3>
        <p>Sébastien LOZANO</p>

        <h3> Installation et utilisation </h3>        
        <p>La procédure a été testé sous <b>Linux</b> uniquement.
        <ul>
        <li>Télécharger cette <a href="../python_prod.zip"> archive zip</a></li>
        <li>Décompresser l'archive</li>        
        <li>Lancer le script python <b>bloc1_generate_files.py</b> à la racine du projet.</li>
        </ul>
        </p>          

        <h3> Notes </h3>
        <p>
        Les fichiers de la documentations sont générés dans le dossier <b>docs</b><br><br>
        Les fichiers HTML sont générés dans le dossier <b>pagesWeb</b><br><br>
        Le script met environ <b>22 minutes</b> à créer l'ensemble des fichiers.<br><br>
        Deux versions pour le fichier HTML avec filtre par formulaire :
        <ul>
        <li><b>Version 1</b> : L'ensemble des lignes du tableau est généré dans le DOM puis cachées, l'affichage est ensuite géré dynamiquement via des scripts javascript mais l'ensemble des lignes reste dans le DOM.</li>
        <li><b>Version 2</b> : Un tableau javascript est générée via python, on gère ensuite le DOM et donc l'affichage dynamiquement via javascript.</li>
        </ul>
        </p>

        <h3> License <a href="https://choosealicense.com/licenses/mit/" target="_blank">MIT</a><h3>        
        """        
    ])
    
    # On ferme le body
    indexHTML.writelines([
    """    
    </body>\n
    </html>\n
    """
    ])
    
    #On ferme le fichier
    indexHTML.close()