[Nextcloud] Synchroniser des contacts avec son smartphone Android
J'utilise Nextcloud sur mon NAS Synology 713+ et un de ses intérêts est de pouvoir partager des agendas, des tâches et des contacts avec différents utilisateurs ou différentes applications. Nous allons voir ici comment partager un annuaire dans Nextcloud.
I- Paramétrage dans Nextcloud
Tout d'abord, il faut installer dans Nextcloud l'extension "Contacts" et créer son ou ses annuaires. Ensuite, on choisit avec qui on veut le partager (il faut créer au préalable dans Nextcloud, les utilisateurs avec qui on veut le faire) :
Pour le partager, il faut aller en bas à gauche dans la partie "Paramètres", puis on se place sur l'annuaire et on indique les utilisateur⋅rice⋅s avec qui on souhaite partager. On décide si l'on veut qu'ils⋅elles puissent le modifier ou pas, en cochant la case correspondante.
En cliquant sur les pointillés, on affiche l'adresse permettant de se connecter à l'annuaire. C'est cette adresse qu'il faudra renseigner sur son smartphone.
II- Sur son smartphone Android
Il faut tout d'abord disposer d'une application permettant de synchroniser son gestionnaire de contacts avec des annuaires distants. Il en existe plusieurs mais j'ai choisi d'utiliser DAVdroid disponible sur le PlaysStore ou F-Droid (gratuitement ici : https://f-droid.org/en/packages/at.bitfire.davdroid/). Explications plus précises ici : https://soozx.fr/synchroniser-agenda-contacts-nextcloud-android/
Ensuite, on ouvre DAVdroid et on rajoute ce nouveau compte Nextcloud en indiquant comme adresse : https://mon-adresse-nextcloud.org/remote.php/dav/ et son nom d'utilisateur Nextcloud avec son mot de passe.
Il se peut qu'il y ait plusieurs calendriers CalDAV ou annuaires CardDAV. Dans ce cas, on peut choisir lesquels on veut afficher.
Après ces réglages, il ne reste plus qu'à ouvrir sur son smartphone, son gestionnaire de contacts pour retrouver les personnes listées dans ce nouvel annuaire.
III- Exporter ses contacts Google vers un annuaire distant
Sur son smartphone Android, les contacts s'enregistrent par défaut sur le compte Google, chose que l'on ne souhaite pas forcément ne serait-ce que pour les partager dans d'autres applications comme Thunderbird avec l'excellente extension CardBook (voir cet article ou celui-ci). Du coup, il faut pouvoir transférer rapidement ses contacts Google sur un autre serveur. Pour cela, il existe l'application "Copy Contacts" (1,50€) dans le Play Store car cela ne peut pas se faire nativement dans Android.
Ensuite dans l'application "Contacts" de son smartphone, on choisit par défaut d'enregistrer les nouveaux numéros de téléphone sur son annuaire distant.
[Framadate] Installation sur un NAS Synology avec Docker NON FONCTIONNEL
AVERTISSEMENT : ce "tutoriel" se veut être une synthèse de différentes sources mais je n'ai pas réussi à faire fonctionner FRAMADATE à ce jour 26/10/2018 !!!
Disposant d'un NAS Synology DS713+, j'ai voulu essayer de faire mon chaton en installant une instance Framadate via Docker. N'ayant pas réussi à faire fonctionner directement une image existante (dockerfile), je me suis lancé dans une installation de zéro. Pour cela, j'ai suivi les instructions via 2 sources :
- https://framagit.org/framasoft/framadate/framadate/wikis/home
- https://framacloud.org/fr/cultiver-son-jardin/framadate.html
J'ai commencé en essayant d'utiliser PostgreSQL comme moteur pour ma base de données mais je n'ai pas réussi. Du coup, j'ai opté pour MySQL (en fait MariaDB qui est le serveur sql par défaut sous Debian 9).
I- Installation et préparation de l'image Docker sur mon NAS Synology
Remarque : pour pouvoir utiliser la fonction copier/coller dans le terminal de Docker, j'ai utilisé le navigateur Chromium car impossible de l'utiliser avec Mozilla Firefox. Pour coller une instruction dans le terminal Docker, il faut d'abord faire CTRL-A puis CTRL-V.
J'ai décidé de partir d'une image Debian Stretch existante : https://hub.docker.com/_/debian/ .
Dans les paramétrages, je choisis :
- un redémarrage automatique et j'attribue le port 32869 (choix arbitraire) au port local 80,
- pour avoir un accès facile à l'application Framadate installée dans le conteneur debian1, dans l'onglet "Volume", j'ajoute le dossier "docker/debian1" qui contiendra les fichiers contenu dans le dossier "/var/www/html/framadate" du conteneur. Ceci permet par exemple d'y accéder via SSH.
- Ensuite, dans le terminal du conteneur accessible dans Docker, j'installe tous les fichiers nécessaires mais pour cela, il faut faire avant tout une mise à jour sans quoi on ne pourra rien installer. Pour cela on emploie les commandes :
apt-get update
apt-get upgrade
- Dans le terminal et afin de disposer facilement des droits de l'utilisateur root, pour lui affecter un mot de passe, je tape la commande :
passwd
- Puis on installe les outils "classiques" dont on aura besoin besoin avec la commande :
apt install sudo vim nano wget unzip
- Puis on installe les outils spécifiques pour déployer Framadate avec MySQL (en fait MariaDB) :
apt install apache2 php7.0 libapache2-mod-php7.0 php7.0-intl php7.0-xml mysql-server php7.0-mysql php7.0-mbstring
II- Préparation de la base de données MySQL
Remarque : je parle de MySQL mais il s'agit en fait de MariaDB.
Il faut paramétrer MySQL en lui affectant des modes particuliers. Source : https://makandracards.com/makandra/51169-understanding-sql-compatibility-modes-in-mysql-and-mariadb
Pour que le paramétrage soit persistant, il faut éditer le fichier "/etc/mysql/mariadb.cnf" :
vim /etc/mysql/mariadb.cnf
et ajouter dans la section "mysqld" la ligne suivante :
[mysqld] sql_mode="ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
Ensuite il faut lancer MySQL avec la commande :
service mysql start
On se connecte à MySQL avec la commande :
mysql
Puis on crée la base de données "framadate" en tapant dans la console MySQL :
CREATE DATABASE IF NOT EXISTS `framadate` DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
Ensuite on crée un utilisateur "framadate" en lui donnant un mot de passe solide :
CREATE USER 'framadate'@'localhost' IDENTIFIED BY 'motdepassesolideàchoisir';
Puis on lui accorde des droits :
GRANT ALL PRIVILEGES ON `framadate`.* TO 'framadate'@'localhost';
À ce stade, on peut aussi vérifier si les modes SQL s'appliquent bien en tapant la commande :
SELECT @@GLOBAL.sql_mode;
Pour sortir de la console MySQL, utiliser la combinaison de touche CTRL-D.
III- Installer Framadate
Toujours dans le terminal de Docker, on se place sur le dossier qui va recevoir le programme :
cd /var/www/html
Ensuite, on récupère l'archive avec la commande (j'ai choisi la branche "master") :
wget https://framagit.org/framasoft/framadate/framadate/-/archive/master/framadate-master.zip -P /tmp
Puis on la décompresse avec la commande :
unzip /tmp/framadate-master.zip -d /tmp
On déplace ensuite tout le contenu extrait dans le dossier /var/www/html/framadate avec la commande :
mv /tmp/framadate-master/* /var/www/html/framadate
On efface tout ce qu'on a mis dans le dossier /tmp :
rm -R /tmp/framadate*
Pour le fichier journal (ou log), il faut créer un fichier stdout.log avec la commande :
touch /var/www/html/framadate/admin/stdout.log
Puis on donne les droits d'accès à l'utilisateur www-data dans le répertoire framadate :
chown -R www-data:www-data /var/www/html/
Et pour finir, on attribue des droits d'écriture limités sur les fichiers avec les commandes à exécuter dans cet ordre :
chmod -R 755 /var/www/html/framadate
chmod 600 /var/www/html/framadate/admin/stdout.log
Remarque : Pour connaître la structure de Framadate et à quoi servent les fichier, aller ici : https://framagit.org/framasoft/framadate/framadate/wikis/treeview
IV- Installation de Composer
Source : https://getcomposer.org/download/
Ce composant est nécessaire pour installer toutes les librairies php nécessaires au fonctionnement de Framadate. Voici les 4 commandes à faire dans le répertoire /var/www/html/framadate (attention elles étaient valables à l'instant où j'ai mis en oeuvre le serveur mais il faudra revenir sur la page source ci-dessus pour les mettre à jour) :
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php -r "if (hash_file('SHA384', 'composer-setup.php') === '93b54496392c062774670ac18b134c3b3a95e5a5e5c8f1a9f115f203b75bf9a129d5daa8ba6a13e2cc8a1da0806388a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" php composer-setup.php php -r "unlink('composer-setup.php');"
Ensuite il faut lancer la commande suivante :
php composer.phar install
V- Configuration du serveur APACHE2
Pour configurer le serveur Apache : https://framagit.org/framasoft/framadate/framadate/wikis/Install/Configure
On va s'appuyer sur un fichier modèle pour construire le notre, pour cela on tape la commande suivante :
cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/framadate.conf
Puis on édite ce fichier (dans ce fichier on peut mettre directement les paramètres contenus dans le fichier .htaccess) :
vim /etc/apache2/sites-available/framadate.conf
Et on renseigne différents paramètres (à adapter selon ses besoins) :
<VirtualHost *:80> ServerAdmin administrateur@serveur DocumentRoot /var/www/html/framadate ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined <Directory /var/www/html/framadate> AllowOverride All </Directory> <Directory "/var/www/html/framadate/admin/"> AuthType Basic AuthName "Administration" AuthUserFile "/var/www/html/framadate/admin/.htpasswd" Require valid-user Order allow,deny Allow from all </Directory> <FilesMatch "^\.ht.*"> deny from all satisfy all ErrorDocument 403 "Accès refusé." </FilesMatch> </VirtualHost>
On rajoute le fichier de sécurité .htpasswd avec la commande (à vous d'indiquer l'utilisateur et son mot de passe) :
sudo -u www-data htpasswd -bc /var/www/html/framadate/admin/.htpasswd utilisateur motdepasseachoisir
Remarque : pour créer un utilisateur, il faut utiliser les commandes "useradd" et "adduser" et "passwd" pour son mot de passe
Ensuite on active le fichier .htaccess permettant notamment la réécriture nettoyée des adresses URL :
mv /var/www/html/framadate/htaccess.txt /var/www/html/framadate/.htaccess
Ensuite on active notre site avec la commande :
a2ensite framadate.conf
Pour finir, on relance le serveur Apache :
service apache2 restart
VI- Résultats :
À ce jour, le 26/10/2018, malgré mon acharnement, je n'ai pas réussi à faire fonctionner Framadate de façon satisfaisante. J'arrive pourtant à me connecter en tant qu'utilisateur normal ou administrateur mais je n'arrive pas à consulter la liste des sondages ou à créer un sondage (après l'étape 3, j'arrive sur une page blanche ou une erreur).
Je débute dans Docker et je ne maîtrise pas tout notamment les variables d'environnement, ce qui explique certainement ce résultat... Mais quand ça marchera, je mettrai à jour cette page.
Logiciels d'annotation de l'écran ou de PDF
Lorsque qu'on a un TBI/TNI, il peut être intéressant/nécessaire d'avoir des logiciels pour les faire fonctionner, différents de ceux vendus avec le matériel. Si on utilise la solution V-Marker, il sera indispensable d'avoir de tels outils.
Voici des logiciels fonctionnant sous Windows (et oui, certain⋅e⋅s continuent à travailler dessus...) mais pas uniquement, permettant d'annoter/dessiner sur des écrans (en fait des captures d'écran) :
- Pylote : Logiciel libre qui ressemble aux logiciels vendus avec les TBI. Interface en français. Plus d'info ici : http://pascal.peter.free.fr/pylote.html et aussi là http://carrefour-education.qc.ca/formation_virtuelle/pylote_logiciel_de_geometrie_dynamique_pour_les_tbi.
Pour Windows, il faudra installer au préalable 2 autres "programmes" -> voir les explications ici http://pascal.peter.free.fr/pylote.html dans la partie "Téléchargement et installation", onglet "Windows". - Pointofix : Freeware ne fonctionnant que sous Windows. Il existe 2 versions : 1 classique pour installer sur son ordi sous Windows et 1 portable à installer sur clé USB. Pour avoir l'interface en français, il faut télécharger un pack de langues "pointofix-translation-20180124.zip". Tout est expliqué (et en français au bas de la page) sur la page de téléchargement : http://www.pointofix.de/download.php
- Xournal : Logiciel libre qui au départ est un outil pour annoter les pdf mais il existe une fonction capture d'écran qui comme son nom l'indique permet de travailler sur une image figée. L'interface est en anglais (en français sous Linux ), ce qui peut être un frein (quoi que...). L'installateur pour Windows se trouve là https://blog.bandinelli.net/public/xournal-0.4.8-win32-installer.exe . Pour plus d'info sur cet outil https://la-vache-libre.org/xournal-un-outil-de-prises-de-notes-et-dedition-pdf-interessant-pour-gnulinux-et-ms-windows/.
Il existe une version GNU/Linux plus récente sur le site officiel et présente dans les dépôts d'Ubuntu.
[Nextcloud] Afficher un agenda dans Google Agenda
Je sais... c'est pas bien mais malheureusement, professionnellement, il a fallu que je partage mon agenda avec des utilisateurs de Google Agenda. J'espère que la RGPD bannira ce genre de pratique... Évidemment, il était hors de question que j'utilise les outils Google d'autant que j'ai un serveur sur lequel tourne Nextcloud (v13) et sur lequel j'ai déjà mes agendas.
Après pas mal de recherches et de tests infructueux, j'ai enfin réussi à obtenir un lien utilisable dans Google. Voici la procédure que j'ai suivie.
La première chose à faire est de partager publiquement dans Nextcloud le calendrier qui nous intéresse. Pour cela, on clique sur le symbole de partage et on coche "Partager un lien". La ligne "Accès public" apparaît. Là, on clique sur le symbole en forme de chaîne, ce qui nous envoie sur une nouvelle fenêtre de Nextcloud.
Sur cette fenêtre, on met la souris sur le bouton "S'abonner" en haut à droite et on fait un clic droit pour copier l'adresse du lien :
Il suffit d'envoyer ce lien (par copier-coller) aux personnes avec qui l'on veut partager notre agenda. L'adresse sera de la forme : "webcal://nomdedomaine.xxx/nextcloud/remote.php/dav/public-calendars/XXXXXXXXXXXX?export". Remarque : ça marche aussi si l'on remplace en début d'adresse "webcal" par "https" (ou "http" si l'accès n'est pas sécurisé ).
Maintenant, la personne qui veut voir ce calendrier dans Google, doit l'ajouter via le menu "Ajouter l'agenda d'un ami" -> "À partir de l'URL" :
Dans la nouvelle fenêtre qui apparaît, sur la ligne "Url de l'agenda", il suffit de coller le lien que l'on a copié précédemment et de cliquer "Ajouter un agenda" :
Votre agenda sera désormais visible dans Google Agenda.
[Ubuntu] Ajouter le raccourci "Récent" au gestionnaire de fichier NEMO
Sous Ubuntu 18.04, le gestionnaire de fichier par défaut est Nautilus (voir l'article que j'avais fait sur le "rajout de fonctionnalités dans Nemo") sauf que je préfère son fork Nemo notamment pour pouvoir visualiser 2 dossiers à la fois avec la touche F3.
Ce qu'il manque à Nemo, par défaut, c'est la possibilité d'avoir accès aux derniers fichiers et répertoires visités, dommage que ceci ne soit pas proposé par défaut (ce qui existe pour Nautilus). Heureusement, c'est assez facile de créer un raccourci. Il suffit de taper dans la barre d'adresse : "recent:///" et de le mettre en favoris en changeant éventuellement le nom de ce raccourci. Voilà, c'est fini. Pour accéder au dossier contenant le fichier, faire un clic droit pour avoir accès au "dossier contenant le fichier".
Sources :
- https://doc.ubuntu-fr.org/nemo
- https://www.linuxuprising.com/2018/07/how-to-replace-nautilus-with-nemo-file.html
[Thunderbird] Synchroniser un carnet d'adresses dans Nextcloud
Afin que plusieurs personnes puissent disposer d'un carnet d'adresses en commun, le mieux est d'utiliser un carnet d'adresses en ligne. Le principal avantage c'est que lorsqu'on rajoute ou modifie un contact, tout le monde en profite lors de la synchronisation.
Nativement, la gestion des adresses dans Thunderbird est des plus sommaires mais l'extension "CardBook" permet d'avoir un outil autrement performant (allez voir cet article pour savoir comment installer et utiliser CardBook dans Thunderbird) qui propose aussi la synchronisation des adresses à distance. Nous allons voir comment le faire avec un serveur Nextcloud.
I- Créer un carnet d'adresse partagé dans Nextcloud
- Sur votre Nextcloud, il faut installer l'extension "Contact".
- Ensuite on se crée un carnet d'adresses en lui donnant un nom précis.
- On n'oublie pas de le partager avec les personnes qui pourront y avoir accès.
- Et on importe le carnet d'adresse que l'on veut partager.
- On récupère le lien de partage qu'il faudra indiquer dans Thunderbird.
II- Paramétrage de Thunderbird
- Dans CardBook, on crée un nouveau carnet d'adresse via le menu "Carnet d'adresses" -> "Nouveau carnet d'adresses".
- On choisit un carnet d'adresse distant.
- Dans la nouvelle fenêtre, on coche "CardDAV" et on indique le lien partagé (récupéré précédemment dans Nextcloud) ainsi que le nom d'utilisateur et le mot de passe pour se connecter au serveur Nextcloud. Cliquez sur le boudon "Valider" pour voir si la connexion se fait correctement.
- Si la connexion est correcte, cliquez sur le bouton "Suivant", donnez un nom et choisissez une couleur pour ce nouveau carnet. Vous avez aussi la possibilité de le mettre en lecture seule si vous ne devez pas le modifier.
- Si tout se passe bien, il ne vous reste plus qu'à appuyer sur le bouton "Terminer" et vous aurez un nouveau carnet d'adresses dans CardBook avec une icône représentant la Terre indiquant qu'il s'agit d'un carnet en ligne.
À partir de maintenant, vous pouvez utiliser ces nouvelles adresses mais aussi les modifier, en rajouter d'autres dans Thunderbird pour qu'elles se mettent à jour sur le serveur (à condition que votre carnet ne soit pas en "Lecture seule").
[Thunderbird] Récupérer rapidement des adresses pour une liste
On peut être amené⋅e à récupérer des adresses de courriels pour créer des listes de diffusion. Saisir les adresses une par une à la main, est une opération longue, fastidieuse et surtout qui risque d'engendrer des erreurs de saisie. Heureusement, il existe différentes astuces selon les cas de figure.
I- À partir d'adresses déjà contenues dans Thunderbird
Par exemple sur un de ses courriels où il y a la liste des destinataires (quand on a fait une réponse à plusieurs par exemple), on fait comme si on voulait le transférer. On obtient donc un courriel avec en haut un tableau contenant toutes les adresses des précédents destinataires : il suffit de copier toutes ces adresses.
Ensuite on va sur son carnet d'adresse dans Thunderbird, on crée une nouvelle liste (par exemple "Contacts Piscine") et on colle sur la ligne du premier destinataire tous les destinataires copiés dans le tableau : par magie, on a toute la liste (et rangée par ordre alphabétique en plus).
Une fois qu'on connaît cette astuce, ça se fait en 10 secondes !
II- En important un fichier d'adresse au format (.vcf par exemple)
Quand on importe directement dans Thunderbird un fichier d'adresses de courriel (au format .vcf venant de Lilo par exemple), des champs sont ignorés et du coup on perd par exemple les catégories permettant de distinguer les listes de diffusion.
Heureusement comme très souvent avec les logiciels libres, il existe une solution qui comble cette lacune via une extension. Celle-ci, basée sur les standards vCard et CardDAV (elle peut donc gérer des carnets d'adresses à distance sur un serveur Nextcloud/Owncloud) s'appelle "CardBook" : https://addons.thunderbird.net/fr/thunderbird/addon/cardbook/.
a) Installation de l'extension "CardBook"
Méthode "facile" : Pour installer cette extension, il faut le faire directement dans Thunderbird, pas à partir du navigateur Firefox ! Sinon vous allez avoir un message comme quoi le fichier est corrompu. Dans Thunderbird, il faut aller dans le menu "Outils" -> "Modules complémentaires". Ensuite dans la colonne de gauche, choisir "Extensions" et taper dans la barre de recherche en haut à droite "CardBook". Cocher "Modules complémentaires disponibles" si ce n'est pas déjà fait et là on voit apparaître "CardBook" qu'il suffit d'installer en cliquant sur le bouton idoine.
Méthode alternative : Si cette méthode ne fonctionne pas, il est possible de faire cette installation manuellement en allant avec son navigateur sur la page Internet de l'extension (lien donné ci-dessus).
On fait un clic droit sur le bouton "Télécharger maintenant" et on choisit "Enregistrer la cible du lien sous..." qui permet de récupérer l'extension "cardbook-30.3-tb.xpi" sur son ordi.
Une fois récupérée, on revient dans Thunderbird, "Outils" -> "Modules Complémentaires" ->"Extensions" et à gauche de la barre de recherche, on clique sur la petite roue crantée et on choisit "Installer un module depuis un fichier...". On indique le chemin du fichier d'extension en .xpi qu'on a téléchargé précédemment et on valide pour lancer l'installation de CardBook.
B) Importation du fichier d'adresses dans CardBook
Après l'avoir installée (cela demande un redémarrage de Thunderbird), elle demande alors à récupérer les listes existantes du carnet d'adresses de Thunderbird, ce qu'il faut accepter (si vous ratez cette étape, on peut y revenir en créant dans CardBook, un nouveau carnet d'adresse puis en choisissant "Importer les carnets d'adresses standards"). CardBook est accessible via le menu "Outils" en haut de liste après "Carnet d'adresses".
Ensuite, via le menu en haut à gauche (entouré en jaune dans la capture ci-dessous), on va dans dans "Carnet d'adresses" -> "Importer des contacts depuis un fichier" :
Maintenant dans la liste "Adresses collectées", nous avons nos listes avec les différentes catégories :
Page 28 sur 36