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 ! | ||
