script>
async function fetchJobs() {
const API_URL = "https://functions.prod.jarvi.tech/v1/public-api/rest/v2/projects";
const API_KEY = "1ff6d433-cc96-4565-9e85-1e6c0b97f616"; // ⚠️ remplace par ta clé privée
try {
const response = await fetch(API_URL, {
method: "GET",
headers: {
"accept": "application/json",
"Authorization": `Bearer ${API_KEY}`
}
});
if (!response.ok) {
throw new Error("Erreur API Jarvi : " + response.statusText);
}
const data = await response.json();
console.log("Toutes les offres :", data);
// Filtre uniquement les jobs diffusés sur HelloWork
const jobs = data.data.filter(job =>
job.projectJobBoards &&
job.projectJobBoards.some(board => board.jobBoard === "HelloWork" && board.status === "published")
);
console.log("Offres HelloWork :", jobs);
const jobList = document.getElementById("job-list");
jobList.innerHTML = "";
if (jobs.length === 0) {
jobList.innerHTML = "
Aucune offre diffusée sur HelloWork pour le moment.
";
return;
}
jobs.forEach(job => {
const jobEl = document.createElement("div");
jobEl.className = "job-item";
jobEl.innerHTML = `
${job.name}
Lieu : ${job.location || "Non précisé"}
Contrat : ${job.contractType || "Non précisé"}
Voir l’offre sur HelloWork
`;
jobList.appendChild(jobEl);
});
} catch (error) {
console.error("Erreur :", error);
document.getElementById("job-list").innerHTML = "
Impossible de charger les offres.
";
}
}
fetchJobs();