Télécharger au format docx, pdf ou txt
Télécharger au format docx, pdf ou txt
Vous êtes sur la page 1sur 7

There are two main ways to integrate the Proxmox API with PHP:

1. Using a dedicated PHP library

There are several PHP libraries available that make it easier to interact with
the Proxmox API. These libraries typically provide a higher-level abstraction
over the raw API calls, making it easier to write code that is more readable
and maintainable.

One popular option is the Corsinvest/cv4pve-api-php library


(https://github.com/Corsinvest/cv4pve-api-php). This library provides a
comprehensive set of methods for interacting with all aspects of the
Proxmox API, including nodes, VMs, containers, and storage.

Here is an example of how to use the cv4pve-api-php library to create a new


VM:

PHP
<?php

require 'vendor/autoload.php';

use Proxmox\Api\Client;

$client = new Client('proxmox.example.com', '443', 'root@proxmox',


'mypassword');

$vmId = $client->nodes()->createVm('my-vm', 1024, 2, 'vdisk0:local-lvm:vm-


101:disk-1', 'cloudinit:http://cloud.example.com/init.iso');

echo "VM created with ID: " . $vmId;


Utilisez ce code avec précaution.
content_copy

2. Using the raw API calls

If you prefer more control over your code, you can also interact with the
Proxmox API directly using the raw HTTP calls. This involves making HTTP
requests to the Proxmox API endpoints and parsing the JSON responses.

Here is an example of how to create a new VM using the raw API calls:

PHP
<?php

$url = 'https://proxmox.example.com/api/v2/nodes/node1/vm';
$data = json_encode([
'name' => 'my-vm',
'memory' => 1024,
'cpus' => 2,
'storage' => [
'vdisk0' => [
'storage' => 'local-lvm',
'file' => 'vm-101:disk-1',
],
'cloudinit' => [
'url' => 'http://cloud.example.com/init.iso',
],
],
]);

$options = [
'http' => [
'header' => [
'Content-Type: application/json',
'Authorization: Basic ' .
base64_encode('root@proxmox:mypassword'),
],
'method' => 'POST',
'content' => $data,
],
];

$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);

$response = json_decode($result, true);

if ($response['error']) {
echo "Error creating VM: " . $response['error'];
} else {
echo "VM created with ID: " . $response['data']['vmid'];
}
Utilisez ce code avec précaution.
content_copy

Which method should you use?

The best method for you will depend on your specific needs and
preferences. If you are new to the Proxmox API, or if you need a library that
provides a higher-level of abstraction, then a dedicated PHP library is a
good option. However, if you prefer more control over your code, or if you
need to perform more complex operations, then using the raw API calls
may be a better choice.

Here is a table summarizing the pros and cons of each method:

Method Pros Cons

Dedicated PHP Easier to use, more readable


Can be less flexible
library and maintainable code

More flexible, more control Can be more difficult to


Raw API calls
over your code use, requires more code
drive_spreadsheetExporter vers Sheets

I hope this helps!

Sources
info

1. github.com/AlinaRinn/ArchiVision

share
more_vert

donnés mois les bibliothèques PHP disponibles qui


facilitent l’interaction avec l’API Proxmox
volume_up

Bibliothèques PHP pour l'API Proxmox


Voici quelques bibliothèques PHP populaires qui facilitent l'interaction avec
l'API Proxmox:

1. Proxmox/ProxmoxVE-API-PHP
(https://github.com/MrKampf/proxmoxVE)

 C'est la bibliothèque officielle de Proxmox pour interagir avec l'API.


 Elle offre une prise en charge complète de toutes les fonctionnalités de
l'API.
 Elle est bien documentée et facile à utiliser.

2. Corsinvest/cv4pve-api-php (https://github.com/topics/proxmox-api)

 Une autre bibliothèque populaire avec une large communauté d'utilisateurs.


 Elle offre des fonctionnalités similaires à la bibliothèque officielle Proxmox.
 Elle est connue pour sa flexibilité et sa facilité d'utilisation.

3. imbo/pve-api (https://github.com/MrKampf/proxmoxVE)
 Une bibliothèque plus légère et plus simple.
 Elle est idéale pour les projets qui n'ont pas besoin de toutes les
fonctionnalités de l'API Proxmox.
 Elle est facile à installer et à utiliser.

4. PVE-Manager-API (https://github.com/topics/proxmox-api)

 Une bibliothèque conçue pour simplifier la gestion des serveurs Proxmox.


 Elle offre un ensemble d'outils pour effectuer des tâches courantes telles
que la création de VM, la gestion du stockage et la surveillance du réseau.
 Elle est facile à utiliser et ne nécessite aucune connaissance approfondie
de l'API Proxmox.

5. proxmox-api-php (https://packagist.org/packages/zzantares/proxmoxve)

 Une bibliothèque simple et minimaliste.


 Elle offre une interface de base pour effectuer des appels API Proxmox.
 Elle est idéale pour les projets qui ont besoin d'un contrôle précis sur les
requêtes API.

Choisir la bonne bibliothèque

La meilleure bibliothèque pour vous dépendra de vos besoins spécifiques.


Si vous avez besoin d'une prise en charge complète de l'API et d'une
documentation complète, la bibliothèque officielle Proxmox est un bon
choix. Si vous recherchez une bibliothèque flexible et facile à utiliser,
Corsinvest/cv4pve-api-php est une bonne option. Si vous avez besoin
d'une bibliothèque légère et simple, imbo/pve-api est un bon choix. Si vous
souhaitez simplifier la gestion de vos serveurs Proxmox, PVE-Manager-API
est un bon choix. Enfin, si vous avez besoin d'un contrôle précis sur les
requêtes API, proxmox-api-php est un bon choix.

En plus des bibliothèques mentionnées ci-dessus, il existe de


nombreuses autres bibliothèques PHP disponibles pour l'API
Proxmox. Vous pouvez trouver une liste plus complète sur Packagist
(https://packagist.org/).

J'espère que cela vous aidera à choisir la bonne bibliothèque PHP pour vos
besoins d'interaction avec l'API Proxmox!

share
more_vert
comment utiliser les bibliothèques PHP disponibles qui
facilitent l’interaction avec l’API Proxmox
edit
Afficher les suggestions












volume_up

L'utilisation des bibliothèques PHP pour interagir avec l'API Proxmox varie
en fonction de la bibliothèque spécifique que vous choisissez. Cependant,
les étapes générales sont les suivantes:

1. Installer la bibliothèque

La plupart des bibliothèques PHP peuvent être installées à l'aide de


Composer. Par exemple, pour installer la bibliothèque
Proxmox/ProxmoxVE-API-PHP, vous pouvez exécuter la commande
suivante dans votre terminal:

Bash
composer require proxmox/proxmoxve-api-php
Utilisez ce code avec précaution.
content_copy

2. Inclure la bibliothèque
Une fois la bibliothèque installée, vous devez l'inclure dans votre fichier
PHP. Par exemple, pour inclure la bibliothèque Proxmox/ProxmoxVE-API-
PHP, vous pouvez ajouter la ligne suivante au début de votre fichier PHP:

PHP
<?php

require 'vendor/autoload.php';

use Proxmox\Api\Client;
Utilisez ce code avec précaution.
content_copy

3. Créer une instance du client API

Une fois la bibliothèque incluse, vous pouvez créer une instance du client
API. Cela vous permettra d'effectuer des appels à l'API Proxmox. Par
exemple, pour créer une instance du client API Proxmox/ProxmoxVE-API-
PHP, vous pouvez utiliser le code suivant:

PHP
$client = new Client('proxmox.example.com', '443', 'root@proxmox',
'mypassword');
Utilisez ce code avec précaution.
content_copy

4. Effectuer des appels à l'API

Une fois que vous avez une instance du client API, vous pouvez effectuer
des appels à l'API Proxmox. La bibliothèque que vous utilisez fournira des
méthodes pour effectuer différentes opérations API. Par exemple, pour
créer une nouvelle VM avec la bibliothèque Proxmox/ProxmoxVE-API-PHP,
vous pouvez utiliser le code suivant:

PHP
$vmId = $client->nodes()->createVm('my-vm', 1024, 2, 'vdisk0:local-lvm:vm-
101:disk-1', 'cloudinit:http://cloud.example.com/init.iso');

echo "VM created with ID: " . $vmId;


Utilisez ce code avec précaution.
content_copy

5. Gérer les réponses de l'API

Les appels à l'API Proxmox renvoient des réponses JSON. Vous devez
analyser ces réponses pour obtenir les données dont vous avez besoin. La
bibliothèque que vous utilisez fournira des outils pour analyser les réponses
JSON. Par exemple, pour obtenir l'ID de la VM à partir de la réponse de
création de VM ci-dessus, vous pouvez utiliser le code suivant:

PHP
$response = json_decode($vmId, true);

$vmId = $response['data']['vmid'];
Utilisez ce code avec précaution.
content_copy

Ressources supplémentaires

 Documentation de la bibliothèque Proxmox/ProxmoxVE-API-


PHP: https://github.com/MrKampf/proxmoxVE
 Documentation de la bibliothèque Corsinvest/cv4pve-api-
php: https://github.com/Corsinvest/cv4pve-api-php
 Documentation de la bibliothèque imbo/pve-
api: https://github.com/MrKampf/proxmoxVE
 Documentation de la bibliothèque PVE-Manager-
API: https://github.com/proxmox/pve-ha-manager
 Documentation de la bibliothèque proxmox-api-
php: https://github.com/MrKampf/proxmoxVE

En suivant ces étapes générales, vous devriez être en mesure


d'utiliser l'une des nombreuses bibliothèques PHP disponibles pour
interagir avec l'API Proxmox.

Vous aimerez peut-être aussi