API Documentation

Bienvenue dans la documentation de l'API Citation.lecog.fr. Cette API vous permet d'intégrer nos citations dans votre site web ou application.

Note: Toutes les requêtes API renvoient des données au format JSON.

Endpoints disponibles

GET /public/api/random-quote.php

Récupère une citation aléatoire de la base de données.

Paramètres optionnels:
  • category - ID de la catégorie pour filtrer les citations par catégorie
Exemples de requêtes:
  • Citation aléatoire: /public/api/random-quote.php
  • Citation aléatoire de la catégorie Philosophie (ID 7): /public/api/random-quote.php?category=7
Exemple de réponse:
{
    "success": true,
    "data": {
        "id": 42,
        "text": "Je pense, donc je suis.",
        "author": {
            "id": 23,
            "name": "Descartes",
            "forename": "René"
        },
        "source": {
            "id": 15,
            "title": "Discours de la méthode",
            "year": 1637
        },
        "categories": [
            {
                "id": 7,
                "name": "Philosophie"
            }
        ]
    }
}
Catégories disponibles

Utilisez ces IDs de catégories avec le paramètre category de l'endpoint /public/api/random-quote.php

ID Nom Citations
19 bonheur 7
6 cinéma 1
4 espace 9
14 feu 1
22 folie 5
12 géographie 4
21 humour 1
15 mathématiques 5
17 mémoire 1
16 morale 40
3 nature 24
9 philosophie 61
24 physique 1
5 poésie 34
18 pouvoir 1
11 psychogéographie 0
20 raison 5
10 religion 17
2 rève 12
13 science 5
7 science-fiction 8
1 technologie 11
23 vérité 1
8 voyage 13

GET /public/api/quote-of-the-day.php

Récupère la citation du jour (change quotidiennement).

Exemple de réponse:
{
    "success": true,
    "data": {
        "id": 17,
        "text": "Un jour sans rire est un jour perdu.",
        "author": {
            "id": 9,
            "name": "Chaplin",
            "forename": "Charlie"
        },
        "source": {
            "id": 11,
            "title": "My Autobiography",
            "year": 1964
        },
        "category": {
            "id": 3,
            "name": "Humour"
        }
    }
}

Exemples d'utilisation

Avec JavaScript (Fetch API)

fetch('https://citation.lecog.fr/public/api/random-quote.php')
  .then(response => response.json())
  .then(data => {
    if (data.success) {
      const quote = data.data;
      console.log(`"${quote.text}" - ${quote.author.forename} ${quote.author.name}`);
    }
  })
  .catch(error => console.error('Error fetching quote:', error));

JavaScript pour citation par catégorie

// Récupérer une citation aléatoire de la catégorie "Philosophie" (id: 7)
fetch('https://citation.lecog.fr/public/api/random-quote.php?category=7')
  .then(response => response.json())
  .then(data => {
    if (data.success) {
      const quote = data.data;
      // Insérer la citation dans l'élément avec l'ID "philosophy-quote"
      document.getElementById('philosophy-quote').innerHTML = `
        

"${quote.text}"

${quote.author.forename} ${quote.author.name} — ${quote.source.title}
`; } }) .catch(error => console.error('Error fetching category quote:', error));

Avec PHP

<?php
$url = 'https://citation.lecog.fr/public/api/quote-of-the-day.php';
$response = file_get_contents($url);
$data = json_decode($response, true);

if ($data['success']) {
    $quote = $data['data'];
    echo "<blockquote>";
    echo htmlspecialchars($quote['text']);
    echo "<footer>";
    echo htmlspecialchars($quote['author']['forename'] . ' ' . $quote['author']['name']);
    echo "</footer>";
    echo "</blockquote>";
}
?>

PHP pour citation par catégorie

<?php
// Récupérer une citation aléatoire de la catégorie "Philosophie" (id: 7)
$categoryId = 7;
$url = 'https://citation.lecog.fr/public/api/random-quote.php?category=' . $categoryId;
$response = file_get_contents($url);
$data = json_decode($response, true);

if ($data['success']) {
    $quote = $data['data'];
    echo "<blockquote class=\"philosophy-quote\">";
    echo "<p>" . htmlspecialchars($quote['text']) . "</p>";
    echo "<footer>";
    echo htmlspecialchars($quote['author']['forename'] . ' ' . $quote['author']['name']) . " — ";
    echo "<cite>" . htmlspecialchars($quote['source']['title']) . "</cite>";
    echo "</footer>";
    echo "</blockquote>";
}
?>

Widget Citation du jour

Pour intégrer facilement la citation du jour sur votre site web, copiez simplement le code HTML ci-dessous :

Code d'intégration
<div id="citation-lecog-widget">
    <style>
        #citation-lecog-widget blockquote {
            padding: 1rem;
            border-left: 4px solid #007bff;
            background-color: #f8f9fa;
            margin: 1rem 0;
        }
        #citation-lecog-widget footer {
            margin-top: 0.5rem;
            font-style: italic;
        }
    </style>
    <div id="citation-lecog-content">Chargement...</div>
    <script>
        fetch('https://citation.lecog.fr/public/api/quote-of-the-day.php')
            .then(response => response.json())
            .then(data => {
                if (data.success) {
                    const quote = data.data;
                    const html = `
                        <blockquote>
                            <p>"${quote.text}"</p>
                            <footer>
                                ${quote.author.forename || ''} ${quote.author.name}
                                ${quote.source.title ? `- ${quote.source.title}` : ''}
                            </footer>
                        </blockquote>
                        <p class="text-right">
                            <small>
                                <a href="https://citation.lecog.fr" target="_blank">
                                    Citation.lecog.fr
                                </a>
                            </small>
                        </p>`;
                    document.getElementById('citation-lecog-content').innerHTML = html;
                }
            })
            .catch(error => {
                document.getElementById('citation-lecog-content').innerHTML = 
                    'Impossible de charger la citation.';
            });
    </script>
</div>
Le widget affichera automatiquement la citation du jour et sera mis à jour chaque jour. Il inclut un style par défaut que vous pouvez personnaliser.

Codes d'état HTTP

  • 200 OK - La requête a réussi
  • 404 Not Found - La citation demandée n'existe pas
  • 500 Internal Server Error - Erreur serveur

Limites d'utilisation

Notre API est gratuite mais limitée à 100 requêtes par heure par IP. Veuillez respecter cette limite.