Des raccourcis clavier pour les nouveaux bureaux virtuels
Pour les raccourcis clavier, commençons par tout ce qui touche aux manipulations des fenêtres :
Windows + flèche du haut : maximiser la fenêtre
Windows + flèche du bas : rabattre la fenêtre dans la barre des tâches
Windows + flèche gauche/droite : la fenêtre occupe la moitié gauche ou droite de l’écran, et se déplace
Windows + flèche gauche/droite, puis haut ou bas : la fenêtre occupe la moitié de l’écran puis le quart
Passons ensuite aux raccourcis vers les fonctionnalités principales :
Windows + A : ouvrir le centre de notifications
Windows + S : ouvrir Cortana en mode saisie (recherche classique au clavier)
Windows + Q : ouvrir Cortana en mode écoute (requête vocale)
Windows + I : ouvrir le centre de paramètres
Windows + L : verrouiller la machine ou changer d’utilisateur
Windows + R : lancer une commande
Windows + E : lancer l’explorateur
Windows + D : rabat toutes les fenêtres dans la barre des tâches. Refaire le raccourci les remet en place
Windows + Impr écran : enregistre une capture de l’écran dans le dossier Captures d’écran du répertoire Images
Windows + Tab : Afficher les tâches en cours (Task View) et l’interface de gestion des bureaux virtuels
Alt + Tab : afficher les tâches en cours avec la vue classique
Des raccourcis spécifiques ont par ailleurs été ajoutés pour contrôler spécifiquement les nouveaux bureaux virtuels :
Windows + Ctrl + D : crée un nouveau bureau virtuel
Windows + Ctrl + flèche gauche/droite : permet de se déplacer au sein des bureaux virtuels
Windows + Ctrl + F4 : ferme le bureau virtuel en cours d’utilisation
Gestes tactiles : un pavé tactile de précision est obligatoire
Si l’on possède un pavé tactile de précision (c’est le cas sur certains portables récents ou des claviers vendus pour la Surface 3/Pro 3), certaines manipulations sont plus simples à réaliser :
Toucher avec trois doigts : ouvre Cortana
Mouvement de trois doigts vers le haut : active les tâches en cours (Task View)
Mouvement de trois doigts vers le bas : rabat toutes les fenêtres dans la barre des tâches. Si on refait ensuite le même mouvement, mais vers le haut, les fenêtres reviennent à leur position initiale.
Mouvement de trois doigts vers la gauche ou la droite : change de fenêtre active. Si l’appui est prolongé, cela permet de choisir la fenêtre qu’on veut afficher au premier plan, dans une vue qui rappelle l’ancien Windows + Tab.
Dans les paramètres des périphériques, dans la section « Souris et pavé tactile » vous pourrez savoir si votre machine est équipée ou non d’un pavé tactile de précision mais aussi remplacer certains effets comme le toucher avec trois doigts qui peut servir à ouvrir le centre de notifications :
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 !
Acceptez les conditions d’utilisation et cliquez sur Create App :
Ensuite, configurez l’application comme suit :
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) :
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 :
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 :
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).
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
functionenvoi_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
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 :
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.