Inizia qui la serie di articoli di programamzione per convertire i vostri testi in podcast.
In questo primo articolo parlerò brevemente degli strumenti che voglio usare per ottenere questo risultato.
Cos’è curl e che sono le API

CURL è una libreria software utilizzata per trasferire dati su diverse piattaforme. Può essere utilizzato per inviare e ricevere dati tramite vari protocolli, tra cui HTTP, FTP, SMTP, POP3, IMAP, LDAP, SMB, e molti altri. In pratica, CURL permette di effettuare richieste HTTP da un programma o uno script e di gestire le risposte.
Le API (Application Programming Interface) sono invece un insieme di procedure, protocolli e strumenti utilizzati per integrare diverse applicazioni e permettere lo scambio di dati e funzionalità. In pratica, le API permettono a diverse applicazioni di comunicare tra loro in modo standardizzato e predefinito.
Nel contesto delle richieste HTTP, le API sono spesso utilizzate per fornire un’interfaccia standardizzata per accedere ai servizi web. Ad esempio, molte applicazioni utilizzano le API di Facebook per accedere ai dati degli utenti o per pubblicare contenuti sulla piattaforma. Le API di Google Maps vengono invece utilizzate per integrare le mappe e le funzionalità di geolocalizzazione in diverse applicazioni.
cosa sono gli oggetti
In programmazione, un oggetto è un’istanza di una classe, che rappresenta un’entità o un concetto del mondo reale o virtuale. In pratica, un oggetto è una collezione di dati (proprieta’) e di metodi (funzioni) che operano su questi dati, in grado di interagire con altri oggetti e di svolgere un’attività specifica all’interno del programma.
Ad esempio, consideriamo un’applicazione di gestione di un negozio. Potremmo definire una classe Prodotto
che rappresenta un prodotto in vendita, con alcune proprietà come il nome, il prezzo, la quantità disponibile, la descrizione, etc.
class Prodotto {
// questo è un commento
/* questò è un commento
su più linee */
/* queste in basso sono proprietà dell'oggetto
e sono pubbliche ovvero posso accedere a questi dati esternamente
*/
public $nome;
public $prezzo;
public $quantita;
public $descrizione;
//
private $quantità_disponibile;
//* questo è un metodo, in particolare
__construct è definito
mmetodo magico è viene avviato quando avvio l'istanza di una classe
*/
public function __construct($nome, $prezzo, $quantita, $descrizione) {
$this->nome = $nome;
$this->prezzo = $prezzo;
$this->quantita = $quantita;
$this->descrizione = $descrizione;
}
// questo è un altro metodo in sempre pubblico
public function calcolaTotale($quantita) {
return $this->prezzo * $quantita;
}
}
In questo caso, abbiamo definito una classe Prodotto
con quattro proprietà e due metodi. Il metodo __construct
è il costruttore della classe, che viene eseguito quando viene creato un nuovo oggetto Prodotto
. Il metodo calcolaTotale
calcola il costo totale di un certo numero di prodotti, moltiplicando il prezzo per la quantità.
Quando creiamo un oggetto Prodotto
, possiamo specificare i valori delle proprietà nel costruttore:
$prodotto = new Prodotto("Maglietta", 19.99, 10, "Maglietta in cotone con logo stampato");
In questo caso, abbiamo creato un oggetto Prodotto
con il nome “Maglietta”, il prezzo 19.99, la quantità disponibile 10 e la descrizione “Maglietta in cotone con logo stampato”.
Gli oggetti sono molto utili nella programmazione orientata agli oggetti perché permettono di organizzare il codice in modo modulare e di rappresentare in modo intuitivo concetti complessi del mondo reale o virtuale. Inoltre, permettono di creare codice più riutilizzabile, riducendo la duplicazione di codice e semplificando la manutenzione del programma.
cosa sono gli oggetti in javascript
In JavaScript, gli oggetti sono simili a quelli delle altre lingue di programmazione orientate agli oggetti, ma hanno alcune caratteristiche uniche. Gli oggetti in JavaScript sono strutture dati che consentono di memorizzare collezioni di coppie nome/valore, chiamate proprietà, dove il nome è una stringa e il valore può essere di qualsiasi tipo di dato JavaScript, come numeri, stringhe, booleani, funzioni, array e persino altri oggetti.
Ad esempio, si può definire un oggetto “Persona” come segue:
let persona = {
nome: "Mario",
cognome: "Rossi",
età: 30,
salute: function() {
console.log("Ciao, sono " + this.nome + " " + this.cognome + " e sto bene!");
}
};
In questo esempio, abbiamo creato un oggetto persona
con quattro proprietà, nome
, cognome
, età
e salute
. nome
, cognome
e età
sono proprietà semplici che contengono rispettivamente il nome, il cognome e l’età della persona. salute
è una proprietà che contiene una funzione, chiamata metodo, che stampa una frase di saluto con il nome e il cognome della persona.
Per accedere alle proprietà dell’oggetto, si può usare la notazione a punto (.
):
console.log(persona.nome); // "Mario"
console.log(persona.età); // 30
persona.salute(); // "Ciao, sono Mario Rossi e sto bene!"
È anche possibile aggiungere nuove proprietà all’oggetto in qualsiasi momento, come ad esempio:
persona.sesso = "maschio";
console.log(persona.sesso); // "maschio"
Inoltre, gli oggetti in JavaScript possono essere passati come argomenti alle funzioni, possono essere restituiti dalle funzioni e possono essere creati dinamicamente in modo da poter costruire strutture dati complesse.
cosa sono i file json
JSON (JavaScript Object Notation) è un formato di dati molto diffuso e utilizzato soprattutto nel contesto delle applicazioni web e delle API. Si tratta di un formato di testo leggero che permette di rappresentare dati strutturati in modo facile da leggere e scrivere per gli esseri umani, ma anche facile da elaborare da parte delle macchine.
In pratica, un file JSON rappresenta un oggetto o una collezione di oggetti, definiti utilizzando una sintassi simile a quella degli oggetti JavaScript. Ogni oggetto è composto da una serie di coppie chiave-valore, separate da una virgola e racchiuse tra parentesi graffe. Ad esempio, un oggetto JSON che rappresenta una persona potrebbe avere il seguente formato:
{
"nome": "Mario",
"cognome": "Rossi",
"età": 35,
"indirizzo": {
"via": "Via Roma, 1",
"città": "Milano",
"paese": "Italia"
}
}
In questo caso, abbiamo un oggetto che rappresenta una persona con nome, cognome, età e indirizzo. L’indirizzo è a sua volta un oggetto con tre proprietà: via, città e paese.
I file JSON sono molto utilizzati nelle API perché permettono di trasferire dati strutturati in modo semplice e leggero, riducendo il traffico di rete e semplificando l’elaborazione dei dati da parte delle applicazioni. Inoltre, molti linguaggi di programmazione hanno librerie native per la gestione dei file JSON, semplificando l’elaborazione dei dati in modo trasparente per gli sviluppatori.
interroghiamo il nostro oracolo
Ecco infine la prima richiesta con curl, per ottenere una risposta dalla nostra intelligenza artificiale
<?php
// URL dell'endpoint OpenAI da contattare
$url = "https://api.openai.com/v1/engines/davinci-codex/completions";
// API key per l'autenticazione
$api_key = "inserisci qui la tua API key";
// Testo dell'input per il completamento
$input = "Dieci domande da porre a Marilyn Monroe:";
// Parametri della richiesta
$data = array(
'prompt' => $input,
'temperature' => 0.7, // livello di casualità del testo generato
'max_tokens' => 20, // massimo numero di parole nel testo generato
'n' => 10 // numero di completamenti da generare
);
// Conversione dei parametri in formato JSON
$post_data = json_encode($data);
// Configurazione dell'header della richiesta
$headers = array(
'Content-Type: application/json',
'Authorization: Bearer ' . $api_key
);
// Configurazione dell'opzione CURL per la richiesta
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
// Esecuzione della richiesta
$response = curl_exec($ch);
// Chiusura della sessione CURL
curl_close($ch);
// Decodifica del JSON di risposta
$result = json_decode($response, true);
// Stampa delle domande generate
foreach ($result['choices'] as $choice) {
echo $choice['text'] . "\n";
}
?>
A breve la seconda parte del nostro tutorial per creare un plugin che crea automaticamente un podcast a partire da una nostra richiesta.
Penso di fare anche dei video a riguardo quindi restate sintonizzati sul canale…


Se il post ti è piaciuto e non vuoi perderti le news e gli ultimi articoli di puragoia.it scriviti al gruppo telegram accessibile a questo link