informatique:projets:carnet_adresses
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
informatique:projets:carnet_adresses [2024/11/19 18:52] – supprimée - modification externe (Date inconnue) 127.0.0.1 | informatique:projets:carnet_adresses [2024/12/31 04:09] (Version actuelle) – alexis | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Mise en place d'un carnet d' | ||
+ | Il y a quelques années, j' | ||
+ | |||
+ | Avec PHP Address Book, j'ai plusieurs fois perdu les adresses de certains de mes contacts. Parfois à cause de l' | ||
+ | |||
+ | Ma première idée fut de refaire quelque chose de similaire en utilisant [[https:// | ||
+ | |||
+ | En laissant mûrir ça, j'ai commencé à me dire que je n' | ||
+ | - Imprimable pour pouvoir la conserver dans mon portefeuille. | ||
+ | - Modifiable facilement avec un éditeur de texte. | ||
+ | - Consultable en ligne (pas besoin d' | ||
+ | - Accessible uniquement avec un mot de passe. | ||
+ | De ce fait, je peux avoir une page statique sans avoir besoin ni de base de données ni de scripts. | ||
+ | |||
+ | Je me suis tourné vers [[https:// | ||
+ | <code latex> | ||
+ | \documentclass{article} | ||
+ | |||
+ | \usepackage[a4paper, | ||
+ | \usepackage{multirow} | ||
+ | \usepackage[utf8]{inputenc} | ||
+ | \usepackage{marvosym} % For phone, cell, and email icons | ||
+ | \usepackage{longtable} % For a table that spans on multiple pages | ||
+ | \usepackage{hyperref} | ||
+ | \usepackage{fancyhdr} | ||
+ | |||
+ | \def\mydate{\leavevmode\hbox{\twodigits\day-\twodigits\month-\the\year}} | ||
+ | \def\twodigits# | ||
+ | |||
+ | \newcommand\row[4]{% | ||
+ | \rowcell{# | ||
+ | \hline% | ||
+ | } | ||
+ | \newcommand\cell[1]{\Mobilefone \ \href{tel:# | ||
+ | \newcommand\phone[1]{\Telefon \ \href{tel:# | ||
+ | \newcommand\email[1]{\Email \ \href{mailto:# | ||
+ | \newcommand\rowcell[1]{% | ||
+ | \begin{tabular}{l}% | ||
+ | #1% | ||
+ | \end{tabular}% | ||
+ | } | ||
+ | |||
+ | \pagestyle{fancy} | ||
+ | \fancyhf{} | ||
+ | \cfoot{\tiny Généré le \mydate} | ||
+ | |||
+ | \begin{document} | ||
+ | \begin{longtable}{llll} | ||
+ | \hline | ||
+ | \row{Prénom Nom}{\cell{06.07.08.09.00}\\\phone{01.02.03.04.05}}{\email{prenom.nom@example.org}\\\email{nom.prenom@example.org}}{1 rue de l' | ||
+ | … | ||
+ | \row{Prénom Nom}{\cell{06.07.08.09.00}\\\phone{01.02.03.04.05}}{\email{prenom.nom@example.org}\\\email{nom.prenom@example.org}}{1 rue de l' | ||
+ | \end{longtable} | ||
+ | \end{document} | ||
+ | </ | ||
+ | |||
+ | <WRAP important> | ||
+ | Il faut noter qu'on ne peut pas utiliser '' | ||
+ | </ | ||
+ | |||
+ | Ensuite pour rendre cette liste visible en ligne, je me suis mis en tête d' | ||
+ | <code bash> | ||
+ | htlatex < | ||
+ | </ | ||
+ | Ça génère une page HTML avec une mise en page très simple. Je trouve que ce n'est pas très utilisable tel quel, car les commandes '' | ||
+ | |||
+ | Pour régler ces problèmes((Il y a beaucoup d' | ||
+ | [[http:// | ||
+ | )), on commence par redéfinir les commandes '' | ||
+ | <code latex> | ||
+ | \NewConfigure{Telefon}{1} | ||
+ | \renewcommand\Telefon{\a: | ||
+ | \NewConfigure{Mobilefone}{1} | ||
+ | \renewcommand\Mobilefone{\a: | ||
+ | \NewConfigure{Email}{1} | ||
+ | \renewcommand\Email{\a: | ||
+ | </ | ||
+ | Ensuite, on cré un fichier CSS qui va contenir l' | ||
+ | <code css> | ||
+ | table { | ||
+ | width: 100%; | ||
+ | } | ||
+ | .hline hr { | ||
+ | margin: 0; | ||
+ | } | ||
+ | tr: | ||
+ | padding: 0.2rem 0; | ||
+ | } | ||
+ | tr: | ||
+ | background-color: | ||
+ | } | ||
+ | .landline:: | ||
+ | content: " | ||
+ | } | ||
+ | .cell:: | ||
+ | content: " | ||
+ | } | ||
+ | .email:: | ||
+ | content: " | ||
+ | } | ||
+ | </ | ||
+ | Puis on cré le fichier de configuration qui va faire le lien entre tout ça : | ||
+ | <code latex> | ||
+ | \Preamble{xhtml} | ||
+ | \Configure{Telefon}{\HCode{< | ||
+ | \Configure{Mobilefone}{\HCode{< | ||
+ | \Configure{Email}{\HCode{< | ||
+ | \begin{document} | ||
+ | \CssFile[< | ||
+ | \EndCssFile | ||
+ | \EndPreamble | ||
+ | </ | ||
+ | |||
+ | Pour utiliser les fichiers que l'on vient de créer, il faut lancer la commande suivante ((Il faut lancer 2 fois la commande pour inclure le fichier CSS dans le fichier HTML)): | ||
+ | <code bash> | ||
+ | htlatex < | ||
+ | </ | ||
+ | <WRAP tip> | ||
+ | Pour ne pas avoir à me souvenir de cette commande, je l'ai incluse dans un fichier //MAKE//. | ||
+ | </ | ||
+ | |||
+ | Maintenant, il ne reste plus qu'à mettre le fichier en ligne et à la sécuriser. Pour cela, on va utiliser le système de sécurité de Apache. Les besoins étant limités, ça suffira largement ((En tout cas, je l' | ||
+ | |||
+ | On commence par créer un fichier '' | ||
+ | <code apache> | ||
+ | <Files < | ||
+ | AuthType Basic | ||
+ | AuthUserFile / | ||
+ | AuthName " | ||
+ | require valid-user < | ||
+ | </ | ||
+ | </ | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | Ensuite, on va configurer le mot de passe de l' | ||
+ | <code bash> | ||
+ | htpasswd -c ~/pass < | ||
+ | </ | ||
+ | |||
+ | Et voila ! | ||