Owncloud et Android : synchronisation des contacts

Dans ce troisième volet d’onwcloud, je vous parlerai de la synchronisation des contacts entre owncloud et android.

Pour cela, il va falloir deux applications : la première est carddav-sync, et le seconde Contact Editor. Contrairement à Caldav-sync, ces deux applications sont disponibles en version gratuites.
La première va servir à synchroniser les contacts, et la seconde à pouvoir les éditer

La synchronisation avec carddav-sync

Lorsque l’application est installée, l’ajout d’un nouveau compte ressemble énormément à celui sous caldav-sync.

Je vous conseille de modifier le « Device’s date format » pour dd/mm/yyyy au lieu de yyyy/mm/dd (sauf à priori pour ceux qui ont le galaxy S3).
Ensuite, il faut cliquer sur « Add new account ».

La page suivante est identique à celle de caldav-sync :

Dans le premier champ, il faut renseigner l’url du serveur d’owncloud. Cette url est du type http://ip-ou-url-owncloud/remote.php/carddav. On trouve l’url exacte dans la partie « Personnel » sur la version web de votre owncloud.
Si on renseigne http, « Use SSL » se décochera automatiquement.
Ensuite, il faut renseigner son login et son mot de passe, comme pour caldav-sync.

La page suivante va afficher un champ « Account name » qui correspond au nom de votre carnet d’adresse d’owncloud. Par défaut, le nom est bon et donc vous n’avez pas besoin de le modifier.

Je vous conseille dans un premier temps de laisser coché « Sync from server to phone only ». Pas de panique, je vais vous expliquer pourquoi ensuite.

Maintenant, allez sur votre application de Contacts, cliquez sur « Menu » et sur « Importer/Exporter ». Là, cliquez sur « Exporter vers la carte SD ». Suivant les versions des smartphones, soit par défaut ça va exporter tous vos contacts soit ça va vous demander de choisir un compte de contacts à exporter. Si c’est le deuxième choix, il faudra refaire la manipulation pour tous vos comptes, afin d’exporter tous vos contacts.
A la racine de votre carte SD, vous allez avoir un ou plusieurs fichiers en vcf.

Allez sur votre site d’owncloud, onglet « Contacts » (1), et cliquez sur Paramètres (2) et « Importer depuis VCF »(3).

Sélectionnez le fichier vcf (ou les uns après les autres) présent à la racine de votre carte SD. Ainsi, les contacts vont être importés sur owncloud.
Alors, pour ceux qui se posent la question : Non, le téléphone n’aurait pas pu envoyer vos contacts directement vers owncloud. Android crée un carnet d’adresse par contact, donc votre téléphone n’aurait pas su que chaque carnet d’Android devait finir sur le carnet « Default » d’owncloud.

Allez sur le bureau du téléphone (l’accueil si vous préférez), cliquer sur Menu => Paramètres => Compte et synchro => Default (si vous n’avez pas changé le nom du carnet par défaut sous owncloud). Ensuite, faites une synchronisation.

Une fois la synchronisation faite (le petit symbole des flèches enchevêtrées aura disparu), allez sur l’application « Contacts », cliquez sur « Menu » et sur « Afficher » (ou Option d’Affichage suivant les smartphones). Là, décochez tous vos comptes et cochez celui de Default. Normalement, vous verrez tous vos contacts. Si c’est le cas, ça signifie que votre téléphone a récupéré tous les contacts d’owncloud. Sinon, refaites une synchronisation (au début ça peut galérer un peu, c’est normal, ça dépend des smartphones).

Maintenant, retournez sur « Default » présent dans « Comptes et synchro », cliquez sur « Edit account settings », et maintenant décochez « One-Way-Sync ». Ainsi, dès que vous ferez une modification soit sur onwcloud soit sur votre téléphone, les deux seront synchronisés.

Edition des contacts

Certes, c’est super on a synchronisé les contacts. Mais si vous avez essayé d’en modifier un, vous verrez que vous ne pouvez modifier que le nom et le prénom. En gros, on ne peut rien faire. C’est là qu’intervient, Contact Editor Free.

Une fois que vous avez installé Contact Editor Free, allez sur l’application Contact et essayez de modifier un de vos contacts. Là, vous avez le choix entre deux applications pour modifier votre contact, prenez Contact Editor Free. Tadaaaa ! Vous pouvez ajouter toutes les informations que vous le souhaitez.

Concernant la partie « Anniversaire » (dans « Plus », lorsque vous éditez un contact), si au début vous avez fait ce que je vous conseillai, c’est-à-dire mettre « Device’s date format » sous la forme dd/mm/yyy, vous noterez votre anniversaire sous cette forme (plutôt pratique puisqu’on y est habitué), sinon soit vous mettez tous vos anniversaires sous le format yyyy/mm/dd (format par défaut de « Device’s date format ») soit vous supprimez ce compte de synchronisation, et vous recommencez toute la synchronisation sans oublier de modifier « Device’s date format ». A vous de voir
Si vous vous trompez de format, lorsque votre téléphone et onwcloud seront synchronisé, la date sous ce dernier sera totalement erroné.

Donc, ça y est, les contacts de votre téléphone sont synchronisés avec votre serveur owncloud. Ce qui veut dire que vous n’avez plus besoin de garder la synchronisation des contacts avec Google (ou alors si vous préférez avoir plusieurs sauvegarde, si), et vous savez où ils sont : sur votre raspberry. 🙂
Dans le prochain article, on verra comment synchroniser des fichiers entre Android et Onwcloud.

Owncloud et Android : synchronisation du calendrier

La semaine dernière, je vous ai parlé d’owncloud sur un raspberry. Pour les absents, ou les têtes en l’air 🙂 , l’article est ici.
Aujourd’hui, je vous parlerais donc de la synchronisation avec votre smartphone sous Android. Je n’ai pas iPhone ni de BlackBerry dont je ne peux pas vous aider pour ces deux OS.

Synchronisation du calendrier

On va commencer par le plus simple : la synchronisation d’un calendrier non partagé.
Il faut télécharger caldav-sync. Il est payant, mais franchement j’ai eu beau chercher je n’ai pas trouvé une autre application qui fonctionne aussi bien.
Elle n’ajoute pas un nouveau calendrier ou widget, mais s’ajoute dans votre application de calendrier existante (sur pour le calendrier présent de base sous android et celui de HTC Sense).

Une fois l’application installée, il faut ajouter un nouveau compte de synchronisation : notre owncloud.
Pour cela, il faut cliquer sur « Create new account »

On a ensuite la page suivante :

Il faut renseigner l’url du serveur owncloud dans le premier champ. Vous pouvez mettre une url « normale » ou l’adresse ip directe de votre box si vous le souhaitez, dans les deux cas ça fonctionne.
L’url ressemblera à quelque chose comme ça : http://url-ou-ip-de-onwcloud/remote.php/caldav/ (l’url vous est indiquée dans la partie « Personnel » de votre interface web de owncloud).
Si votre url est du type http://, la boîte à cocher « Use SSL » se décochera automatiquement.
Ensuite, il nous reste à mettre le login et le mot de passe du compte owncloud.

Une fois cliqué sur « Next », caldav-sync va se connecter sur le serveur owncloud et si les informations renseignées sont correctes, nous avons la page suivante :

On sélectionne les calendriers qu’on veut synchroniser avec notre smartphone et on clique sur « Next ».
Petite aparté: si on a un calendrier partagé vers quelqu’un d’autre, on le verra ici et on pourra le synchroniser. C’est le calendrier partagé par l’autre personne qu’on ne verra pas.

La page suivante va indiqué le nom du compte qu’on a sur owncloud, en gros pas très intéressant. On peut le modifier, mais je ne sais pas si ça a des impacts ou non.
Par compte la boîte à cocher en dessous l’est plus. Si on garde cette boîte cochée, la synchronisation se fera que du serveur vers le téléphone. Si on la décoche, les modifications faites sur le téléphone se répercuteront sur le serveur (ce qui est là tout l’intérêt à mon avis).

Maintenant pour un calendrier que vous partagez avec quelqu’un. Actuellement, caldav-sync ne permettra pas à l’autre personne de voir votre calendrier partagé. La solution de contournement que j’ai trouvé est d’installer votre compte sur le téléphone de la personne et de ne synchroniser que le calendrier partagé. Avantage, ça fonctionne. Inconvénient : il faut avoir confiance dans la personne car rien ne l’empêchera, si elle veut, de récupérer aussi votre calendrier personnel. Sinon, il reste une autre méthode : on crée un compte bidon sur owncloud et on le synchronise sur les deux téléphones.

Par défaut, votre calendrier se synchronisera tous les jours. Vous pouvez modifier le temps entre deux synchronisations en allant depuis le bureau : menu => paramètres=> Comptes et synchro. Là, vous sélectionnez le compte caldav, vous cliquez sur « Edit account settings ».
Le bouton « Sync interval » vous permet de choisir entre 1 minute et 1 semaine (avec bien entendu différents choix entre ces deux valeurs). Perso, j’ai pris 30minutes entre deux synchronisation. Comme ça, si je mets quelque chose sur mon calendrier partagé, je sais qu’au maximum 1 heure après ma copine l’a sur son téléphone.

Dans le prochain article, je vous expliquerai comment on synchronise les contacts.

serveur owncloud sur un raspberry

Il y a quelques jours, je me suis amusé à installer un serveur owncloud (version 4) sur mon raspberry.
Il y a plusieurs raisons : la première : m’amuser tout simplement; la deuxième : je me demandais quoi faire sur mon raspberry pour commencer; et la troisième : j’ai ainsi mon système de calendrier hébergé sur mon environnement et non pas sur un serveur appartenant à Google ou autre.

Pour commencer à jouer avec mon raspberry, owncloud est bien : l’installation est facile à faire et le rendu final est plutôt sympa.

En plus, d’avoir un design assez sympa, les fonctionnalités sont pratiques : envoie de fichiers, lectures des photos et des vidéos (à vérifier pour les vidéos car je n’ai pas encore testé ça), présence d’un calendrier que l’on peut partager par personne et / ou par groupe d’utilisateur (par contre on partage tout le calendrier, donc ça nécessite d’avoir un calendrier perso et un partagé). Il comporte entre autre un éditeur latex (pareil, je n’ai pas eu le temps de tester) et je crois aussi un pour les fichiers odt (libreOffice et OpenOffice).

Comme je vous disais l’installation est facile à faire.
J’ai suivi le tutoriel présent sur Expert-Echange, mais plutôt que de prendre la version 3.0.3, j’ai prise la 4.0.7 (elle corrige des bugs de la 4.0). Et j’ai sauté la partie sur la clef usb, car ma carte sd possède, pour l’instant, assez de place pour pouvoir me passer d’une clef usb.
Au cas où, je vous mets ci-dessous les instructions d’installation :

How to install owncloud on your Raspberry pi with usb hdd

These instructions are based on installing Owncloud on your new raspberry pi connected with a usb HDD.

What do you need Part A?
A Raspberry Pi, model B.
A boot SD card for the Raspberry Pi.
A usb HDD
An Ethernet cable to connect to the local network

I used the Debain image http://www.raspberrypi.org/downloads

I am assuming that you have already setup your raspberry pi (http://elinux.org/RPi_Easy_SD_Card_Setup) and are able to connect it it and run commands.

I am also assuming that your USB hard-drive is /dev/sda1 when connected to your Raspberry pi.

In order to make a partition accessible to the file system, you need to use the Linux « mount » command, referencing the hardware (e.g., /dev/sda1) and a « mount point » in the file system, which is any empty directory, usually created for the purpose by the user. There is a canonical (i.e., standard) directory path where mount points are usually created: the /mnt directory. You can create a new directory under /mnt for each partition to be mounted, and it can be named anything you want as long as it doesn’t contain any spaces. You might want to name it to correspond to the drive’s physical characteristics, e.g., /mnt/sda1, or /mnt/120GB_USB_hard_disk.

Connect to device, once connected, to find devices attached type

sudo fdisk -l

(This Lists HDD devices connected the system)
My output is
—-
Disk /dev/mmcblk0: 7948 MB, 7948206080 bytes
4 heads, 32 sectors/track, 121280 cylinders
Units = cylinders of 128 * 512 = 65536 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000ee283

Device Boot Start End Blocks Id System
/dev/mmcblk0p1 17 1216 76800 c W95 FAT32 (LBA)
/dev/mmcblk0p2 1233 26672 1628160 83 Linux
/dev/mmcblk0p3 26689 29744 195584 82 Linux swap / Solaris
/dev/mmcblk0p4 29745 121280 5858304 b W95 FAT32

Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x4796fc2a

Device Boot Start End Blocks Id System
/dev/sda1 1 19458 156288000 83 Linux

—–

To create Directory type

sudo mkdir /mnt/<>

(This creates a new directory for us)
Replace <> with your directory (with no <<>>)
Then you need to mount the hardware

sudo mount /dev/sda1 /mnt/<>

(Will mount the filesystem on /dev/sda1 which will be a USB drive)
replace sda1 with your device
replace <> with your directory (with no <<>>)

Ideally you want the raspberry pi to start mounted every time you start the system.

sudo nano /etc/profile

At the scroll to the bottom and add:

sudo mount /dev/sda1 /mnt/<>

replace sda1 with your device
replace <> with your directory (with no <<>>)

What do you need Part B?
All above

To install Owncloud

http://wwww.owncloud.org – Store your files, folders, contacts, photo galleries, calendars and more on a server of your choosing. Access that folder from your mobile device, your desktop, or a web browser. Sync Your Data, Keep your files, contacts, photo galleries, calendars and more synchronized amongst your devices. One folder, two folders and more – Share Your Data, Share your data with others, and give them access to your latest photo galleries, your calendar, your music, or anything else you want them to see. Share it publicly, or privately. It is your data, do what you want with it.

At time of this writing, the current version is v4, but this will not yet work with the debian OS for raspberry pi. But you can run the full V3 version.

Connect to device, once connected

sudo apt-get update && sudo apt-get upgrade
(takes 1 min approx)

sudo apt-get install apache2 php5 php5-json php5-gd php5-sqlite curl libcurl3 libcurl3-dev php5-curl php5-common php-xml-parser
(This installs Apache and all libraries required like php etc)

sudo apt-get install sqlite
(This installs SQL database engine)

sudo wget http://owncloud.org/releases/owncloud-3.0.3.tar.bz2
(This gets v3 of Owncloud)

(Moi, j’ai pris http://owncloud.org/releases/owncloud-4.0.7.tar.bz2)

sudo tar -xjf owncloud-3.0.3.tar.bz2
(This extracts the above file, and create a directory)

(du coup, comme vous vous en doutez, j’ai fait sudo tar -xjf owncloud-4.0.7.tar.bz2)

sudo cp -r owncloud /var/www
(This copies the Owncloud directory to webserver location)

chown -R www-data:www-data /var/www
(This provides webserver permissions for Owncloud folders)

(en lançant la commande telle qu’elle vous devriez avoir une erreur qui disparaît lorsqu’on enlève www-data:www-data)

sudo chown -R www-data:www-data <>
(This provide webserver permission for Owncloud usb folders)

(même remarque d’au dessus sur www-data:www-data)

replace <> with your directory (with no <<>>)

sudo service apache2 restart

Et voila, votre owncloud est fonctionnel sur votre raspberry. Par contre, il ne fonctionnera qu’en local ou en tapant votre ip externe (après avoir ouvert le port 80 pour l’ip interne du raspberry sur votre box). Bien sur, rien ne vous empêche d’acheter un nom de domaine et de le faire pointer sur votre ip externe. Ainsi vous aurez votre site en ligne « de façon propre ».

Dans un prochain article, je vous parlerais quelques unes des interactions possibles entre votre serveur owncloud et votre smartphone sous Android.