2016-02-06 17:01:16 +01:00
|
|
|
|
|
|
|
# Freebox v6 PHP API v3
|
|
|
|
|
2016-03-06 20:33:56 +01:00
|
|
|
Implementation PHP de l'API de la freebox (dans sa version 3).
|
2016-02-06 17:01:16 +01:00
|
|
|
|
|
|
|
## Prérequis
|
|
|
|
|
2016-03-06 20:33:56 +01:00
|
|
|
Ce projet est basé sur **composer**. Pensez à installer les dependences :)
|
2016-02-06 17:01:16 +01:00
|
|
|
|
2016-03-06 20:43:58 +01:00
|
|
|
## Fonctionnalités
|
|
|
|
|
|
|
|
Jusqu'a présent, les fonctionalités suivantes ont été implémentées :
|
|
|
|
|
2016-05-15 19:47:14 +02:00
|
|
|
- AirMedia
|
|
|
|
- FileSystem
|
|
|
|
- FileSystem (Core)
|
2016-05-16 13:21:21 +02:00
|
|
|
- FsTask
|
|
|
|
- FsOperation
|
|
|
|
- FsListing
|
|
|
|
- FileSharing
|
2016-03-06 20:43:58 +01:00
|
|
|
- Downloads
|
|
|
|
- Download
|
|
|
|
- Configuration
|
|
|
|
- DHCP
|
|
|
|
- FTP
|
2016-05-19 21:00:10 +02:00
|
|
|
- LAN
|
|
|
|
- Lan (Core)
|
|
|
|
- Lan Browser
|
|
|
|
- Wake On Lan
|
2016-03-06 20:43:58 +01:00
|
|
|
- System
|
2016-05-17 12:38:03 +02:00
|
|
|
- LCD
|
2016-05-14 13:40:37 +02:00
|
|
|
- NAT
|
|
|
|
- Dmz
|
|
|
|
- Port Forwarding
|
|
|
|
- Incoming Port
|
2016-03-06 20:43:58 +01:00
|
|
|
|
|
|
|
|
2016-02-06 17:01:16 +01:00
|
|
|
## Utilisation
|
|
|
|
|
|
|
|
### Application
|
|
|
|
|
|
|
|
La premiere étape est de créer une application.
|
|
|
|
La seconde est de demander l'autorisation de connexion a la freebox (cf: cadrant led du Freebox Server)
|
|
|
|
La derniere est de récuperer une session pour utiliser les divers services de l'API
|
|
|
|
|
|
|
|
```php
|
|
|
|
$App = new \alphayax\freebox\utils\Application( 'com.alphayax.freebox.example', 'Freebox PHP API Exemple', '0.0.1');
|
|
|
|
$App->authorize();
|
|
|
|
$App->openSession();
|
|
|
|
```
|
|
|
|
|
|
|
|
### Services
|
2016-03-06 20:33:56 +01:00
|
|
|
Les appels aux services de l'API se font par l'intermédiaire de services.
|
|
|
|
Ces derniers possedent les méthodes pour récuperer, ajouter ou mettre a jour des données.
|
|
|
|
|
2016-05-21 11:03:05 +02:00
|
|
|
Voici un exemple d'utilisation de l'API System :
|
|
|
|
|
2016-02-06 17:01:16 +01:00
|
|
|
1. Nous créons un nouveau service "System"
|
|
|
|
2. Nous demandons de récuperer la configuration actuelle
|
2016-05-21 11:03:05 +02:00
|
|
|
3. Affichage du modele retourné
|
2016-02-06 17:01:16 +01:00
|
|
|
|
|
|
|
```php
|
|
|
|
$System = new \alphayax\freebox\api\v3\services\config\System( $App);
|
|
|
|
|
|
|
|
/** @var \alphayax\freebox\api\v3\models\SystemConfig $SystemConfig */
|
|
|
|
$SystemConfig = $System->getConfiguration();
|
|
|
|
|
2016-05-21 11:03:05 +02:00
|
|
|
print_r( $SystemConfig);
|
|
|
|
```
|
|
|
|
|
|
|
|
Résultat :
|
|
|
|
```php
|
|
|
|
alphayax\freebox\api\v3\models\SystemConfig Object
|
|
|
|
(
|
|
|
|
[firmware_version:protected] => 3.3.1
|
|
|
|
[mac:protected] => 77:77:77:77:77:77
|
|
|
|
[serial:protected] => 7777777777777777
|
|
|
|
[uptime:protected] => 44 jours 16 heures 35 minutes 16 secondes
|
|
|
|
[uptime_val:protected] => 3861316
|
|
|
|
[board_name:protected] => fbxgw2r
|
|
|
|
[temp_cpum:protected] => 63
|
|
|
|
[temp_sw:protected] => 52
|
|
|
|
[temp_cpub:protected] => 58
|
|
|
|
[fan_rpm:protected] => 2253
|
|
|
|
[box_authenticated:protected] => 1
|
|
|
|
)
|
2016-03-06 20:33:56 +01:00
|
|
|
```
|
|
|
|
|
2016-03-06 20:43:58 +01:00
|
|
|
## Exemples
|
2016-03-06 20:33:56 +01:00
|
|
|
|
2016-05-14 13:40:37 +02:00
|
|
|
Les exemples sont disponibles dans le repertoire `exemple`. Ils sont classés par services :
|
2016-05-14 15:54:59 +02:00
|
|
|
- `AirMedia` : Exemple de lancement d'une video sur le Freebox Player
|
2016-05-16 13:21:21 +02:00
|
|
|
- `FileSystem`
|
|
|
|
- `fileSharing` : Un exemple de partage de fichier sur le net
|
|
|
|
- `fsListing` : Un exemple de scan de repertoires de la freebox
|
|
|
|
- `fsOperation` : Un exemple d'operations sur le fichiers (copies, déplacement, renommage, par2..)
|
2016-05-14 13:40:37 +02:00
|
|
|
- `config`
|
|
|
|
- `check_dns` : Un script pour récuperer la configuration courrante du DHCP
|
2016-05-21 11:03:05 +02:00
|
|
|
- `DMZ` : Récupération de la configuration de votre zone démilitarisée
|
2016-05-19 21:00:10 +02:00
|
|
|
- `Freeplug` : Affichage de votre configuration de Freeplug
|
2016-05-14 13:40:37 +02:00
|
|
|
- `IncomingPort` : Retourne la configuration actuelle du port d'entrée HTTP
|
2016-05-17 12:38:03 +02:00
|
|
|
- `LCD` : Exemple de modification de la luminosité du cadrant LCD de la freebox server
|
2016-05-19 21:00:10 +02:00
|
|
|
- `LAN` : Configuration du LAN et exploration des machines en réseau
|
|
|
|
- `PortForwarding` : Exemple d'ajout d'une redirection de port
|
2016-05-21 11:03:05 +02:00
|
|
|
- `System` : Affichage de la configuration système de la freebox
|
2016-05-14 13:40:37 +02:00
|
|
|
- `download`
|
|
|
|
- `dl_rss` : Un script qui parse les flux RSS et qui rajoute en téléchagement les items correspondant a une expression réguliere
|
|
|
|
|
2016-03-06 20:33:56 +01:00
|
|
|
|