Outils pour utilisateurs

Outils du site


projets:informatique:carnet_adresses

Ceci est une ancienne révision du document !


Mise en place d'un carnet d'adresse

  • Modifier le template pour la génération de la liste en HTML 1)
  • Vérifier qu'il ne manque pas de contacts
  • Vérifier le script de sauvegarde
  • Supprimer mon ancien carnet d'adresse
  • Supprimer la liste de contacts du sitemap

Il y a quelques années, j'avais mis mon carnet d'adresse en ligne avec PHP Address Book . Mais la solution choisie ne me convenait plus. Voici ce que j'ai fait pour mettre en place quelque chose de plus adapté à mes besoins.

Avec PHP Address Book, j'ai plusieurs fois perdu les adresses de certains de mes contacts. Parfois à cause de l'ergonomie peu adaptée, parfois à cause de vulnérabilités (injection SQL). En bref, ce n'était pas une situation acceptable pour conserver ce genre d'information.

Ma première idée fut de refaire quelque chose de similaire en utilisant Symfony et le bundle EasyAdminBundle . J'utilise ce genre de chose tous les jours, je me suis donc dit que je pourrai faire ça rapidement. J'ai commencé à mettre en place et j'ai obtenu quelque chose de fonctionnel assez facilement. Par contre, ce n'était pas du tout travaillé en terme d'ergonomie et d'interface. Je me suis promis de revenir dessus mais je ne l'ai jamais fait. C'était il y a quelques mois.

En laissant mûrir ça, j'ai commencé à me dire que je n'avais pas besoin d'une application complète pour gérer mes quelques contacts. J'ai listé les choses que devait faire cette liste de contact afin de recentrer mes efforts. Après réflexion, voici ce que j'attends de cette liste :

  1. Imprimable pour pouvoir la conserver dans mon portefeuille.
  2. Modifiable facilement avec un éditeur de texte.
  3. Consultable en ligne (pas besoin d'édition).
  4. 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 TeX pour la génération d'un fichier PDF. Mes besoins étant assez limités, le fichier est extrêmement simple :

\documentclass{article}
 
\usepackage[a4paper, margin=5mm]{geometry}
\usepackage{multirow}
\usepackage[utf8]{inputenc}
\usepackage{marvosym} % For phone and cell icons
\usepackage{longtable} % For a table that spans on multiple pages
 
\newcommand\row[4]{%
	#1 & \rowcell{#2} & \rowcell{#3} & \rowcell{#4} \\%
	\hline%
}
\newcommand\cell[1]{%
	\Mobilefone \ #1%
}
\newcommand\phone[1]{%
	\Telefon \ #1%
}
\newcommand\rowcell[1]{%
	\begin{tabular}{l}%
		#1%
	\end{tabular}%
}
 
\begin{document}
	\begin{longtable}{llll}
		\hline
		\row{Prénom Nom}{\cell{06.07.08.09.00}\\\phone{01.02.03.04.05}}{prenom.nom@example.org \\ nom.prenom@example.org}{1 rue de l'example \\ 77777 Example}%
	\end{longtable}
\end{document}

Il faut noter qu'on ne peut pas utiliser _ directement. Il faut l'échapper de la manière suivante \_

Ensuite pour rendre cette liste visible en ligne, je me suis mis en tête d'utiliser Pandoc comme pour mon projet de sauvegarde d'un blog en PDF. Mais ça ne fonctionne pas vraiment comme espéré. Je n'ai plus de tableau, les caractères accentués sont mal interprétés. Mais en fait, je n'aurais pas du aller chercher aussi loin car l'installation de la bibliothèque TeXLive propose un outil de conversion de TeX vers HTML. Il suffit de le lancer de la manière suivante :

htlatex <file.tex>

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 2).

On commence par créer un fichier .htaccess dans le répertoire contenant la liste des contacts. On lui ajoute le contenu suivant :

<Files <file>>
    AuthType Basic
    AuthUserFile /home/<username>/pass
    AuthName "Restricted"
    require valid-user <user>
</Files>
  • file correspond au nom du fichier dont on veut restreindre l'accès.
  • username correspond au nom de l'utilisateur utilisé par Apache.
  • user correspond au nom de l'utilisateur auquel on veut donner l'accès.

Ensuite, on va configurer le mot de passe de l'utilisateur avec la commande suivante :

htpasswd -c ~/pass <user>

Et voila !

projets/informatique/carnet_adresses.1550253252.txt.gz · Dernière modification : 2019/02/15 09:54 de alexis