dimanche, octobre 06, 2013

Android / App / Automagic

Automagic'

Le grafcet vous connaissez ?

Automaticien de formation et de carrière pendant 15 ans, j'ai mangé du grafcet un bon moment... je vous explique.




Pour simplifier le grafcet est une façon (graphique) de décrire un automatisme, Il est constitué de différentes case qui sont des étapes (avec les chiffres de 0 à 6)

reliées entre elle avec un trait et un tiret, le tiret c'est une condition pour passer d'une étape à la suivante. et dans l'étape il y a dans le cartouche de droite une (ou plusieurs) actions.
Voilà pour la théorie.
A partir du grafcet on peut coder en langage machine un automate programmable pour qu'il "écoute" des capteurs, fait des mesures (connecté sur ses entrées) et si les conditions sont remplis exécute une action (connecté aux sorties). Les connaisseurs se retrouveront. 

Mais quel rapport avec Android me direz-vous ?. Et bien c'est là qu'Automagic entre en scène. Il permet de faire des petits programmes sympa qui réagissent au "triger/déclencheurs/entrée" et exécutes des actions et tout cela sans avoir besoin de connaitre la programmation Android.

Par exemple.

Je cherchais un moyen sur ma GNote 10.1 de regrouper les images dispersées dans différents répertoires en un seul endroit sur la carte SD. 
Selon le programme utilisé, chacun fait comme il a envie, du coup pour retrouver ce qu'on vient de photographier ou retoucher, c'est la jungle. 
Photoshop-Touch par ex. stock les images dans 
/sdCard0/Pictures/Adobe@photoshopTouch/
or je voulais que ça se retrouve dans 
/ExSd/DCIM/Camera 
de même que mes copies écrans pour illustrer mes articles.

Comme déclencheur j'ai pris le lancement de l'appli QuickPic (nommé aussi PicFolder et qui remplace avantageusement Gallery)


voici le "grafcet" correspondant : 






Donc, 
Quand je lance QuickPic (c'est le déclencheur),
voici les actions:
je stop Quickpic (Kill)
Je déplace les fichiers présent des 5 répertoires (en 5 étapes) en un seul sur la sdcard/dcim/camera
Je relance Quickpic pour visualiser le résultat, 
Je vibre.

Autre exemple perso:
Toutes les heures , entre 8h et 22h, je change le fond d'écran aléatoirement de ma tablette, images puisées dans un répertoire défini, celui de Zedge.


L'insertion d'étape, ou la modification de l'existant est super simple, faut essayer pour s'en rendre compte.
Quand vous cliquez sur une des cases du graphe, d'autres icônes apparaisses pour modifier, supprimer etc etc.

Un autre point important selon moi, est que vous pouvez "programmer" onboard, c'est a dire directement sur votre tablette ou votre téléphone sans avoir besoin d'un ordinateur, tester les résultats ou le débugger (en consultant les log intégré) est tout aussi possible. 

Dernier point intéressant vous pouvez créer vos propres Widget qui affichent ce que vous souhaitez, ou qui vous permet d'agir sur le graphe que vous avez créé.

Une fois testé vous pourrez comme moi vous affranchir de plusieurs programmes qui peuvent faire qu'une partie des possibilités offerte par Automagic comme les "changeurs de profils" oui les petits programmes qui font qu'à tel heure je coupe ceci ou j’allume cela, Exit Timeriffic par exemple que j'utilisé.

Télécharger Automagic' sur Google Play
version payant à 2€90 complète (largement rentabilisé), et une version d'évaluation avec moins de possibilité.

Documentation :
Consulter l'aide en ligne (en anglais)
Le forum contient plein d'exemples de l'auteur mais aussi plein de contributions plus ou moins élaboré, en faisant inter-agir d'autres logiciels par exemple.


En Annexe:
Voici la liste des 3 types d'opérateurs: Trigger, conditions et Actions, pour vous donner l'eau à la bouche et vous montrer le large pannel d'automatisme réalisable.


Trigger (Déclencheurs) Conditions Actions


Active Network Type
Airplane Mode
App Package Event
App Task Ended
App Task Started
Assist
Audio Volume
Auto Sync State
Automagic Startup
Battery Level
Battery Low Condition
Bluetooth Device Connected
Bluetooth Device Disconnected
Bluetooth State
Calendar
Calendar Event
Car UI Mode
Clipboard Changed
Compass
Daydream State
Desk UI Mode
Device Orientation
Device Storage Space Low
Display State
Dock Event
File Observer
General Broadcast
Gleeo Recording Started
Gleeo Recording Stopped
Global Variable
Global Variable Date/Time
Gmail Unread Conversation Count
HTTP Request (Experimental)
Incoming Call
K-9 Mail Received
Light Sensor
Locale Adjusted
Location
Location Provider State
Mobile Datanetwork Type
Next Alarm
NFC Tag
Notification on Screen Displayed
Notification on Statusbar Displayed
Notification on Statusbar Selected
Outgoing Call
Periodic Location Update
Periodic Timer
Periodic Timer Inexact
Phone Cell CDMA
Phone Cell GSM
Phone Service State
Phone Signal Strength
Plugin (Experimental)
Power Source
Proximity Sensor
Screen Orientation
Shake
Shortcut
Shutdown
SMS Received
SMS Sent
Storage Media Event
Time
Time Adjusted
Timezone Adjusted
User Present
WiFi Connected
WiFi Disconnected
WiFi Scan Results Available
WiFi State
Wired Headset Plugged
Active Network Type
Airplane Mode On
App Process Running
App Task Running
Audio Manager Mode
Audio Volume
Auto Sync Enabled
Battery Level
Bluetooth Device Connected
Bluetooth Enabled
Bluetooth SCO On
Calendar Event
Call State
Confirmation Dialog
Debug Dialog
Device Orientation
Device Storage Space
Device Storage Space Low
Dock State
Execution Count
Expression
Flow Enabled
Flow Executing
Gleeo is Recording
Gmail Unread Conversation Count
Host Reachable
Light Sensor
Location
Location Entering
Location Provider Enabled
Microphone Mute
Mobile Datanetwork Enabled
Mobile Datanetwork Type
Music Active
Network Connected
NFC Enabled
Night Mode
Phone Cell CDMA
Phone Cell GSM
Phone Service State
Phone Signal Strength
Plugin (Experimental)
Power Source Connected
Proximity Sensor
Ringer Mode
Roaming
Screen On
Screen Orientation
Service Running
Speakerphone On
Telephony Radio Enabled
Time Range
UI Mode
Vibrate on Ring Enabled
WiFi Access Point Enabled
WiFi Available
WiFi Connected
Wifi Signal Level
WiFi State
Wired Headset Plugged
Answer Ringing
Call
Call Number
Connect/Disconnect Bluetooth Device
Control Audio Player
Control UI
Copy File
Copy Files
Copy Text from Clipboard
Copy Text to Clipboard
Create Directories
Delete Files
Download URL
Dropbox Delete Files
Dropbox Download Files
Dropbox Upload File
Dropbox Upload Files
Enable WiFi Access Point
End Call
Execute Command
Execute Flows
Execute Root Command
Export Flows/Widgets
Flashlight
FTP Delete Files
FTP Download Files
FTP Upload File
FTP Upload Files
Gleeo Create Entry
Gleeo Filesystem Export
Gleeo Start Recording
Gleeo Stop Recording
HTTP Request
Import Flows/Widgets
Init Variable File List
Init Variable Location
Init Variable Random Number
Init Variable Text File
Init Variables Call Log
Init Variables Device Orientation
Init Variables Gleeo Recording
Init Variables Phone Info
Input Dialog
Input Speech (Experimental)
Kill App
Kill App Process
Launch App
Launch Shortcut
Lock Device
Mail with Gmail
Map Values
Message Dialog
Modify Call Log
Move Files
Notification on Screen
Notification on Statusbar
Open URL in Browser
Plugin (Experimental)
Post Tweet
Post Twitter Direct Message
Reboot
Remove Notification Missed Calls
Remove Notification on Statusbar
Request Sync
Restore Audio Volumes
Scan Barcode
Script
Send Broadcast
Send SMS
Send Wake on LAN Packet
Set Airplane Mode
Set Alarm
Set Audio Manager Mode
Set Audio Volume
Set Auto Sync State
Set Auto-rotate Screen State
Set Bluetooth SCO State
Set Bluetooth State
Set Bluetooth Tethering State
Set Car UI Mode
Set Data Roaming State
Set Default Input Method
Set Default Ringtone
Set Flow State
Set GPS State
Set Keyguard State
Set Lock Pattern State
Set Lock PIN/Password
Set Microphone Mute
Set Mobile Datanetwork State
Set Network Location State
Set NFC State
Set Night Mode
Set Ringer Mode
Set Screen Brightness
Set Screen Orientation
Set Screen Timeout
Set Speakerphone State
Set Telephony Radio State
Set USB Debugging State
Set USB Tethering State
Set Vibrate on Ring State
Set Wallpaper
Set WiFi Access Point Priority
Set WiFi Sleep Policy
Set WiFi State
Set Wifi Tethering State
Show Call Log
Show Home Screen
Show Input Method Selector
Shutdown
Silence Ringer
Sleep
Sound
Speech Output
Start Activity
Start Daydream
Start Recording Audio
Stop Action Sound
Stop Action Speech Output
Stop Flows
Stop Recording Audio
Store Audio Volumes
Take Picture
Turn Screen On
Unzip Files
Vibrate
Voice Search (Experimental)
WiFi Reassociate
WiFi Scan
Write HTTP Response File (Experimental)
Write HTTP Response Text (Experimental)
Write to File
Write to Log
Zip Files