Synology et bitwarden

Cet article est extrait du site de Cachem

Bitwarden est un gestionnaire de mot de passe Open Source très populaire. Nous l’avions abordé dans un précédent article : Bitwarden, le gestionnaire de mot de passe dont tout le monde parle. Vous avez été nombreux à laisser un commentaire et aujourd’hui, nous vous proposons un tutoriel pour installer Bitwarden sur un NAS Synology

bitwarden synology - Bitwarden et NAS Synology (bitwardenrs / vaultwarden)
Bitwarden avec un NAS Synology

Bitwarden et Synology

Officiellement, Bitwarden n’est pas disponible sur les NAS Synology. À l’heure où nous écrivons ses lignes, il n’est pas possible de télécharger et installer le gestionnaire de mot de passe depuis le Centre de Paquets ou de passer par une installation manuelle d’un fichier .spk. Cependant, il existe une méthode : passer par Docker. Docker fonctionne directement sur les NAS Synology dotés d’un processeur Intel.

[edit du 30 avril 2021]bitwardenrs devient vaultwarden. Rien ne change dans ce guide, sauf le nom de l’image 😉

Installation facile et rapide sur le NAS

Si ce n’est pas déjà fait, la première étape consiste à installer Docker. Connectez-vous à l’interface d’administration de votre NAS et allez dans le Centre de Paquets. Là, cherchez Docker et cliquez sur le bouton Installer.

Puis lancez Docker et allez dans le menu de gauche sur Registre. Là, vous allez taper dans la zone de recherche du haut Bitwarden. Parmi les +140 résultats, je vous recommande de prendre le premier élément : vaultwarden. Il s’agit de l’implémentation Rust la plus légère Bitwarden. Elle comprend la partie serveur, mais aussi l’interface d’administration Web.

bitwardenrs synology - Bitwarden et NAS Synology (bitwardenrs / vaultwarden)
Bitwarden depuis Docker sur NAS Synology

Maintenant, double cliquez sur l’élément à télécharger. Une petite boîte de dialogue s’ouvre, choisissez Latest (qui correspond à la dernière version compatible) et cliquez sur le bouton Sélectionnez.

docker bitwarden latest 300x101 - Bitwarden et NAS Synology (bitwardenrs / vaultwarden)
Choix de la dernière version

Maintenant, patientez un peu, l’image pèse 128 Mo. Une fois téléchargée, sélectionnez l’image (Menu Image sous Registre) et cliquez sur le bouton Lancer.

lancer installation bitwarden - Bitwarden et NAS Synology (bitwardenrs / vaultwarden)

Nous allons paramétrer notre installation (Créer le conteneur) Bitwarden.

biwarden server - Bitwarden et NAS Synology (bitwardenrs / vaultwarden)
Créer un conteneur bitwarden

Donner un petit nom à votre conteneur, ici j’ai laissé par défaut bitwardenrs-server1. Ensuite, cliquez sur le bouton Paramètres avancés

dossier bitwarden docker - Bitwarden et NAS Synology (bitwardenrs / vaultwarden)

Vous allez maintenant dans l’onglet Volume et cliquez sur le bouton Ajouter un dossier. J’utilise le dossier partagé docker par défaut. Il est tout à fait possible d’utiliser un autre dossier si celui-ci ne vous convient pas. Par contre, faites attention à bien mettre /data/ pour le chemin d’accès correspondant.

param ports - Bitwarden et NAS Synology (bitwardenrs / vaultwarden)

Ensuite dans l’onglet Paramètres des ports, nous allons changer les valeurs réglées sur auto. Nous allons mettre 3012 sur la première ligne en port local et 80 en port local associé au Port conteneur 80. Si vous disposez d’un site Web héberger sur votre NAS ou encore de Photo Station, le port 80 est peut-être déjà utilisé. Il faudra alors en mettre un autre comme par exemple 82 😉 On appuie sur le bouton Appliquer.

bitwardenrs synology 1 - Bitwarden et NAS Synology (bitwardenrs / vaultwarden)

Nous retournons sur l’écran des paramètres généraux et on clique sur le bouton Suivant. Pour terminer, on obtient le résumé de notre configuration. On laisse par défaut et on clique sur le bouton Appliquer avec la case cochée Exécuter ce conteneur lorsque l’assistant a terminé. C’est terminé pour la partie serveur hébergée sur votre NAS…

Utiliser bitwarden

Par simplicité, nous allons nous connecter avec notre navigateur sur l’interface d’administration de Bitwarden. Vous tapez dans la barre d’adresse de votre navigateur http://AdresseIPduNAS:Port (ex : http://192.168.1.100:82).

bitwarden connexion nas - Bitwarden et NAS Synology (bitwardenrs / vaultwarden)

Si vous arrivez sur l’écran ci-dessus, c’est que le serveur Bitwarden sur votre NAS fonctionne correctement. Créez un compte utilisateur et c’est parti !!!

interface bitwarden - Bitwarden et NAS Synology (bitwardenrs / vaultwarden)

L’interface est vraiment facile à prendre en main. Les traductions sont bonnes et facilite les choses. Je vous recommande de vous familiariser tranquillement avec l’interface, puis de passer par le menu Importer des données. L’essayer, c’est l’adopter !

HTTPS et bitwarden

Il existe différentes méthodes pour mettre en place du HTTPS à notre conteneur Bitwarden. La plus rapide, c’est de passer par le Proxy inversé de DSM. On part du principe que vous avez déjà un certificat utilisé sur le NAS et le port 5001 par défaut pour accéder à l’interface d’administration. Il s’agit dans notre cas d’un certificat auto-signé (celui généré par le NAS). Cependant, la procédure fonctionnera également avec un certificat Let’s Encrypt ou autre. De plus, si vous utilisez un domaine sur le NAS, cette procédure vous permettra de créer un sous-domaine dédié à bitwarden.

portail applications - Bitwarden et NAS Synology (bitwardenrs / vaultwarden)
Portail des applications Synology

Rendez-vous dans le Panneau de configuration du NAS, allez sur Portail des applications puis l’onglet Proxy inversé. Cliquez sur le bouton Créer. Remplissez le champ Description puis dans Sources > Protocole choisissez HTTPS. Pour le nom d’hôte, je mets * car je ne gère pas de domaine (et sous-domaine) avec mon NAS. Si vous gérez un domaine mon-nas.fr, c’est ici qu’il faut mettre par exemple bitwarden.mon-nas.fr. Ensuite, indiquez un numéro de Port. Par défaut, il faut mettre le 443 qui correspond au HTTPS. Cependant, s’il est déjà pris par le NAS par une autre application, il faudra en choisir un autre. Dans notre exemple, nous avons mis 843 mais cela peut aussi être 7070. Le NAS mettra une alerte si le port est déjà réservé pour un autre service. Dans la section Destination mettre Protocole sur HTTP (c’est notre réglage par défaut). Dans Nom d’hôte, indiquez localhost (tapez-le vraiment) même s’il est indiqué en grisé. Enfin pour le Port, indiquez celui que vous avez paramétré dans Docker pour la correspondance avec le port 80. Dans notre exemple, nous avons mis 82. Enfin cliquez sur le bouton OK.

proxy inverse - Bitwarden et NAS Synology (bitwardenrs / vaultwarden)
Proxy inversé Synology

Attention, il y a un petit bug Synology sur la fenêtre ci-dessus. Le dernier champ (port) ne s’affiche que si on utilise la tabulation 😉 L’accès à Bitwarden se fait via l’adresse https://192.168.1.100:843 en suivant notre exemple…

Article  extrait de l’excellent site de Cachem.

 

Des astuces pour convertir les watts en KWh

Le watt (W), vient de l’ingénieur écossais James Watt inventeur de la machine à vapeur. Il mesure de puissance énergétique d’un appareil. Le kilowattheure (kWh), lui, mesure la consommation de ce même appareil pendant une heure. Ces deux unités de mesure sont extrêmement utiles pour mieux comprendre votre consommation en énergie, et choisir vos équipements électroniques et votre électroménager. Alors comment convertir un W en kWh ? Suivez le guide !

Watt, kilowatt et kilowattheure : c’est quoi la différence ?

Il faut avant tout comprendre la distinction entre ces deux unités de mesures que sont le watt et le kilowattheure, et à quoi ils peuvent vous servir !

Le watt (W) et kilowatt (kW) : l’unité de référence pour mesurer la puissance énergétique

Tout comme le mètre est une unité de mesure de longueur, le litre de contenance ou le gramme de masse, le watt (W) est une unité de mesure de la puissance énergétique d’un appareil. Ainsi avec le watt, il est possible de connaître la puissance électrique de chaque appareil électrique.

Par exemple :

  • une lampe à incandescence dispose d’une puissance de 40 W
  • un four micro-ondes d’environ 900 W

La puissance des appareils en watt est visible sur chaque emballage. Il en est de même pour les déclinaisons du watt, tels que les kilowatts (kW) ou mégawatts (MW). Ci-dessous les équivalences :

  • 1 kilowatt (kW) = 1000 watts (W)
  • 1 mégawatt (MW) = 1000 kilowatts (kW)
  • 1 gigawatt (GW) = 1000 mégawatts (MW)

Tableau de conversion : du watt (W) au gigawatt (GW)

Gigawatt (GW) Mégawatt (MW) Kilowatt (kW) Watt (W)
1 1000
1 1000
1 1000
Comment calculer la puissance en watt d’un appareil ?

Contrairement au mètre, au gramme ou au litre, le watt ne se calcule pas facilement avec un appareil. Il faut en passer par : P (puissance en watt) = U (tension en volt) x I (courant en ampère)

Le kilowattheure (kWh) pour mesurer la consommation d’énergie

L’unité de mesure wattheure (Wh) permet de mesurer la consommation d’un appareil électrique. Autrement dit, cette unité indique l’énergie consommée par un appareil de 1 kilowatt (ou 1000 watts) pendant 1 heure en état de fonctionnement. C’est donc une unité de mesure d’énergie.

Ainsi, deux unités de mesure entrent en ligne de compte :

  • la durée, soit le nombre d’heures et de jours au cours desquels l’appareil est en fonctionnement,
  • la puissance de l’appareil.

Comme le watt, le wattheure (Wh) se décline en kilowattheure (kWh), mégawattheure (MWh) et gigawattheure (GWh).

Tableau de conversion : du wattheure (Wh) au gigawattheure (GWh)

Gigawattheures (gWh) Mégawattheures (mWh) Kilowattheures (kWh) Wattheures (Wh)
1 1000
1 1000
1 1000

Convertisseur : comment passer du watt au kWh ?

Le calcul pour passer du watt au kWh est le suivant :

consommation (en kWh) = nombre d’heures x nombre de jours x puissance / 1000

Par exemple :

  • un four de 3000 W qui fonctionne pendant 1 heure consomme 3 kWh (soit 3000 Wh) et 1 125 kWh à l’année pour une utilisation d’une heure par jour 7j/7
  • un aspirateur de 900 W en marche pendant 1 heure par semaine, il consomme 46,8 kWh par an.

Ce calcul vous permet d’estimer la consommation de votre appareil électrique (exprimée en kWh) à partir de sa puissance.

Le kVA pour comprendre votre consommation électrique et vos besoins

Qu’est-ce que le kVA (Kilovoltampère) ? Cette unité de mesure est utilisée pour indiquer la puissance active et réel de votre installation électrique (votre compteur). Lorsque vous choisissez votre contrat d’énergie, vous souscrivez à une certaine puissance maximale pour votre compteur électrique selon vos besoins et vos appareils électriques.

Elec Référence : choisissez la simplicité et la transparence !

Maitrisez votre budget et le prix de votre énergie

Comment choisir la puissance de votre compteur électrique ?

La puissance du compteur électrique dépend à la fois de la taille de votre logement, des appareils électriques dont vous disposez et du type de chauffage. Cette puissance n’est cependant pas exprimée en W ou kWh mais en kVA, comme c’est indiqué sur vos factures.

Il est important de bien estimer la puissance électrique dont vous avez besoin, sinon vous risquez de faire sauter le disjoncteur sans cesse, ou de payer des factures bien trop chères vis-à-vis de votre consommation.

Rassurez-vous, il est possible d’augmenter ou de diminuer la puissance à tout moment, et à distance si vous possédez un compteur communicant Linky !

Le calcul pour passer du kW au kVA est le suivant :

1 volt = 1 watt / 1 ampère et 1 kVA = 5 ampères

Quelle est la puissance classique d’un logement en France ?

Généralement un logement de 2 ou 3 pièces nécessite un compteur d’une puissance électrique de 6 kVA. Les habitations françaises ont généralement un compteur avec une puissance comprise entre 6 kVA et 9 kVA.

Kilowattheure, kVA ou watt : utilisez-les pour comprendre votre consommation

 

  1. Le kVA est utilisé pour estimer la puissance nécessaire de votre compteur électrique et déterminer votre offre d’électricité.
  2. Le Watt (W) et kilowatt (kW) sont des unités de mesure d’énergie qui indiquent la puissance énergétique de vos appareils, soit l’énergie qu’ils utilisent pour fonctionner.
  3. Le kWh (kilowattheure) permet de mesurer la consommation en énergie d’un appareil électrique sur une heure.
  4. Vous pouvez simplement calculer la consommation annuelle électrique en kWh de vos appareils en connaissant leur puissance énergétique.
  5. Ces différents calculs et méthodes de conversion vous permettent d’obtenir une estimation de votre facture d’énergie et de changer d’offre si vos besoins en électricité changent dans le temps.

Le watt est une unité de mesure qui permet d’estimer la puissance énergétique. Pour connaître la puissance d’un appareil, vous verrez ainsi sur son emballage un chiffre accompagné du symbole W.
Par exemple : la puissance moyenne d’un frigo de 50 litres est de 100W.

https://particuliers.engie.fr/electricite/conseils-electricite/conseils-souscription-contrat-electricite/convertir-watts-en-kwh.html

Manuel d’utilisation des prises Everspring Zwave AN157 et AN158

PRÉAMBULE  

 Veillez à ne pas dépasser la puissance maximale autorisée. Sur le module variateur AD142, veillez à utiliser uniquement des ampoules compatibles variateur.
Les ampoules à filament / halogènes 230V sont compatibles.
Les ampoules LED, fluo-compactes ou basses tension ne sont compatibles que si cette information est indiquée sur leur emballage (« compatible variateur » ou « dimmable »)  Schémas des modules prises Everspring AD142 AN157 AN158

INCLUSION

Le voyant du module prise doit clignoter lentement, cela signifie qu’il n’est pas encore inclus à un réseau Z-Wave. Si ce n’est pas le cas, il peut être nécessaire d’exclure le module prise avant de commencer la procédure d’inclusion.

  1. La prise doit être en mode « off », si besoin appuyez sur le bouton du module prise pour éteindre la charge.
  2. Mettez votre contrôleur / box domotique en mode Inclusion
  3. Appuyez 3 fois rapidement sur le bouton du module prise (en moins de 1,5 seconde)
  4. Votre contrôleur / box domotique doit vous indiquer la réussite de l’opération

EXCLUSION

  1. La prise doit être en mode « off », si besoin appuyez sur le bouton du module prise pour éteindre la charge.
  2. Mettez votre contrôleur / box domotique en mode Exclusion
  3. Appuyez 3 fois rapidement sur le bouton du module prise (en moins de 1,5 seconde)
  4. Votre contrôleur / box domotique doit vous indiquer la réussite de l’opération

ASSOCIATION

Il est possible d’associer le module prise à d’autres modules (télécommandes, détecteurs de présence, etc.) via votre contrôleur Z-Wave / box domotique Z-Wave ou bien manuellement. Pour associer manuellement le module prise à un autre module présent sur le même réseau Z-Wave :

  1. La prise doit être en mode « off », si besoin appuyez sur le bouton du module prise pour éteindre la charge.
  2. Appuyez 3 fois rapidement sur le bouton du module prise (en moins de 1,5 seconde)
  3. Appuyez sur le bouton d’association du module qui doit commander le module prise (l’appui peut être simple ou triple et le bouton peut être le même que pour l’inclusion ou être un bouton dédié aux associations sur la marque et le modèle du module, vérifiez dans son manuel)

COMMANDES MANUELLES

  Il est possible d’allumer et éteindre manuellement la charge alimentée par le module prise via un appui court. Sur le module variateur (AD142), il est possible de faire varier la luminosité alternativement en appuyant de façon prolongée sur le bouton du module.

REMISE AUX VALEURS D’USINE (RÀZ / RESET)

La prise doit être en mode « off », si besoin appuyez sur le bouton du module prise pour éteindre la charge.

  1. Appuyez 3 fois rapidement sur le bouton du module prise (en moins de 1,5 seconde)
  2. Moins d’une seconde après l’étape 1, appuyez 5 secondes sur le bouton jusqu’à extinction du voyant.

INDICATION DE SURCHARGE (AN158)


Sur le module AN158, une surcharge se traduira par un clignotement rapide du voyant (10 fois par secondes). Il suffit de déconnecter et reconnecter le module prise de la prise murale pour acquitter l’erreur.

PARAMÈTRES AVANCÉS (AN158)

Paramètre Fonction Valeurs Defaut
1
(1 Byte / Octet)
Délai de transmission d’état
Délai pendant lequel le module prise attends avant d’envoyer un changement d’état à son groupe, si l’état change plusieurs fois à l’intérieur de cette période, seul l’état à la fin de cette période, s’il est différente de l’état précédent sera envoyé.
0 à 120
(x0,1s)
10
(1s)
2
(1 Byte / Octet)
Envoyer des commandes basiques au groupe 2 0 : désactivé
1 : Activé
0
3
(2 Bytes / Octets)
Périodicité d’envoi des mesures de consommation 0 à 3240
(x 10s)
3  (30s)

 

 Mis à jour le : 29/04/2016 à 16:51  Auteur : Jérôme Massiaux, technicien domotique-store.fr

Stocker les photos de sa caméra IP sur Dropbox et FTP

Voici comment faire, en profitant du très pratique service Dropbox, ce service qui vous permet d’échanger des fichiers de n’importe quel PC ou appareil mobile, directement via l’appli dédiée ou par le web !

Pour mettre ceci en place, il vous faudra :

  • Une caméra IP (et ses identifiants)
  • Un compte dropbox (gratuit ou pas)
  • Un serveur php (vous pouvez l’installer sur une RaspberryPi, ou utiliser un hébergement)
  • Éventuellement une box domotique pour lancer la prise de photo à distance

Je vous conseille de lire l’article en entier avant de choisir votre méthode, car sur la fin nous indiquons la méthode la plus simple, et c’est peut-être celle qui vous conviendra le mieux !

Le numéro d’API Dropbox

Identifiez-vous à votre compte Dropbox et créez une Application en allant sur la pagehttps://www.dropbox.com/developers/apps

Acceptez les conditions d’utilisation et cliquez sur Create App :

Sauvegarde Camera IP sur Dropbox - créer application

Ensuite, configurez l’application comme suit :


Sauvegarde Camera IP sur Dropbox - configuration

  • What type of app do you want to create? : Dropbox API app
  • What type of data does your app need to store on Dropbox? : Files and Datastores
  • Can your app be limited to its own, private folder? : No
  • What type of files does your app need access to? : All File Types
  • Provide an app name, and you’re on your way. :Camera_Save

Validez, et gardez la page de l’application sous la main.

Le script

Récupérez le script « Camera Dropbox » sur le Github de Planète Domotique (script réalisé par les bons soins de Mickael, et avec un script d’identification Dropbox par Fabian Schlieper) :

Script Camera IP/Dropbox sur le Github de Planète Domotique

Faire une copie du fichier config_sample.php que vous appellez config.php.

Ouvrez-le dans un éditeur de texte, et indiquez les paramètres demandés.

Pour les identifiants d’API DropBox :

1
2
define("DROPBOX_APP_KEY", "xxxxxxxxxx");
define("DROPBOX_APP_SECRET", "xxxxxxxxxxx");

Référez-vous à l’onglet « Settings » de votre application, où ils sont présents :

Sauvegarde Camera IP sur Dropbox - Clé d'api dropbox

 

Pour chaque caméra, vous devez spécifier nom d’utilisateur, mot de passe, adresse IP et port.

Sur la ligne suivante, vous pouvez spécifier le répertoire dans lequel les images seront placées. L’adresse est basée sur le répertoire Public, ce qui signifie qu’avec la valeur par défaut « Camera/ », l’image est placée dans le répertoire /Public/Camera/ de la Dropbox. Il faut au préalable créer le répertoire ou les répertoires en question pour que l’envoi fonctionne.

1
define("DROPBOX_UPLOAD_DIR", "Camera/");

Il est possible d’envoyer l’image de la caméra dans un autre répertoire que le répertoire public, cela dit, on ne pourra pas faire de lien vers l’image dans l’e-mail envoyé par le script. Pour ce faire, allez dans mail_camera.php et modifiez la ligne suivante :

$dropbox->UploadFile($tmpfilename, "Public/".DROPBOX_UPLOAD_DIR.$img_name[$i]);

Encore une fois, il est nécessaire d’indiquer un chemin de répertoires qui existe sur la Dropbox

Le fichier de base vous propose une section pour Edimax et une section pour Foscam. Notez que selon la caméra, la ligne $full_url est à adapter :

Code selon le type de caméra

 

Envoyez le tout (fichiers du script et config.php paramétré correctement) sur votre serveur php. Créez également, au même niveau que les scripts, un répértoire « tokens » qui servira à stocker  les jetons d’authentification à Dropbox, et un repertoire « tmp » qui servira à stocker les photos avant leur envoi sur Dropbox. Mettez les droits d’accès en écriture au groupe (chmod 757 ou 777) pour ces deux dossiers.

Chargez une première fois la page http://[adresse de votre serveur web]/mail_camera.php : une authentification du script vous sera demandé (il faut être identifié au compte Dropbox créateur de l’application pour l’accepter).

Et voilà, c’est opérationnel !

Le petit oiseau va sortir !

Il ne vous reste plus qu’à charger la page http://[adresse de votre serveur web]/mail_camera.php, et la photo prise par la caméra apparaîtra directement dans la Dropbox (plusieurs photos si vous avez indiqué plusieurs caméras), tout en vous envoyant un e-mail pour vous donner le lien des photos envoyées.

Une autre petite astuce en complément de cette méthode : vous pouvez très bien utiliser un déclencheur http dans votre box domotique (ou un scénario qui lance la requête http) pour y faire un composant d’interface sur lequel il suffit de cliquer pour prendre une photo.

 

Enregistrer directement l’image sur le même serveur que le script

Si le script est hébergé lui-même sur l’espace web où vous voulez stocker vos photos, vous pouvez directement y enregistrer les photos en ne gardant que la partie du script où le fichier récupère l’image et créée un fichier temporaire (avant l’envoi sur la Dropbox).

Ça se situe à cet endroit dans mail_camera.php :

1
2
3
4
$content = file_get_contents($full_url[$i]);
$tmpfilename = dirname(__FILE__) ."/tmp/".$img_name[$i];
file_put_contents($tmpfilename, $content);

Il suffit de remplacer /tmp/ par un répertoire de votre cru. La photo est directement sous la forme image avec un numéro de caméra, une date l’heure. Bien sûr, le repertoire en question doit avoir les droits d’écriture (chmod 777 comme vu ci-dessus).

À la place de la fonction de classe $dropbox->UploadFile() appelée juste en-dessous (qu’on peut enlever si on n’envoie pas les fichiers sur Dropbox), vous pouvez par exemple faire un affichage de l’image qui vient d’être envoyée (voir code ci-dessous), ou un message de statut qui pourra être utilisé comme capteur HTTP dans certaines box.

1
2
3
4
if (file_exists($tmpfilename))
{
  echo '<h1> Image enregistrée sur la caméra '.$i.' :</h1><br/><img src="tmp/'.$img_name[$i].'"/><br/>';
}

Gardez le reste du code, il vous préviendra si l’image n’a pas été envoyé et enverra un e-mail avec les liens vers les photos. Il faudra cependant l’adapter un peu pour qu’il fasse un lien non pas vers les images de la dropbox, mais les images ftp.

Et pour l’envoi par FTP ?

En plus d’envoyer sur une DropBox, vous pouvez directement envoyer le fichier sur un serveur ftp. Pour ce faire, copiez le contenu ci-dessous dans un fichier ftp_upload.php à mettre à côté des autres fichiers du script.

Pensez à changer les lignes $ftp_server, $ftp_user_name et $ftp_user_pass respectivement par l’adresse ftp de votre serveur, votre nom d’utilisateur et votre mot de passe.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
function envoi_ftp($src_file, $dst_file)
{
  $ftp_server='adresse.fr';
  $ftp_user_name='login';
  $ftp_user_pass='mot de passe';
  // Mise en place d'une connexion basique
  $conn_id = ftp_connect($ftp_server);
  // Identification avec un nom d'utilisateur et un mot de passe
  $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
  // Verification de la connexion
  if ((!$conn_id) || (!$login_result))
  {
      echo "La connexion FTP a &eacute;chou&eacute; !";
      echo "Tentative de connexion au serveur $ftp_server pour l'utilisateur $ftp_user_name";
      exit;
  }
  else
  {
    echo "Connexion au serveur $ftp_server, pour l'utilisateur $ftp_user_name";
  }
  $destination_file = '/'.$dst_file;
  // Chargement d'un fichier
  $upload = ftp_put($conn_id, $destination_file, $src_file, FTP_BINARY);
  // Verification du status du chargement
  if (!$upload) {
      echo "Le chargement FTP a echoue";
    } else {
      echo "Chargement de $source_file vers $ftp_server en tant que $destination_file";
    }
  // Fermeture du flux FTP
  ftp_close($conn_id);
}
?>

Dans ce fichier, à la ligne $destination_file = ‘/’.$dst_file;, vous pouvez indiquer tout un chemin de répertoires de la forme /Repertoire1/Repertoire2/Repertoire3/. Par exemple :

1
$destination_file = '/Cameras/Photos/'.$dst_file;

Il va sans dire qu’il vous faudra aussi faire un chmod 777 sur le repertoire cible pour que notre script puisse y accéder en écriture !

Ouvrez le fichier mail_camera.php et ajoutez un appel à ce fichier avec la fonction require_once() :

1
2
3
4
5
<?php
require_once("DropboxClient.php");
require_once("config.php");
require_once("upload_ftp.php");

Ensuite, recherchez la ligne  if (file_exists($tmpfilename, « )) et ajoutez l’appel de la fonction envoi_ftp(); comme suit :

1
2
3
4
5
if (file_exists($tmpfilename, "))
  {
    $dropbox->UploadFile($tmpfilename, "Public/".DROPBOX_UPLOAD_DIR.$img_name[$i]);
    envoi_ftp($tmpfilename, $img_name[$i]);
  }

Désormais, le script enverra pour chaque caméra l’image à la fois sur la Dropbox et par FTP.

Sur le même principe, vous pouvez faire en sorte que l’image prise par la caméra soit uniquement envoyée par FTP en enlevant tout ce qui concerne Dropbox dans les scripts. Il est cependant important de conserver la partie sur la configuration des caméras et la partie du script qui récupère l’image auprès des caméras.

Sur ces bases, à vous d’accommoder votre enregistrement d’image à distance sur Caméra IP à votre bon plaisir : on peut par exemple imaginer une page complète montrant les dernières photos prises par la/les caméra(s), et avec un bouton de déclenchement qui appelle le script de capture d’image.

 

source : http://www.planete-domotique.com/