yt

mardi 25 août 2026

Guide pratique : écrire des articles en Markdown pour Odysee

``` Guide pratique : écrire des articles en Markdown pour Odysee ```

Guide pratique : écrire des articles en Markdown pour Odysee

Apprendre simplement à structurer un article avec le langage Markdown.

1. Qu'est-ce que le Markdown ?

Le Markdown est un langage de balisage léger qui permet de mettre en forme un texte à l'aide de caractères très simples.

Son principal avantage est sa simplicité : on peut rédiger un document structuré sans devoir utiliser un éditeur HTML complexe.

Le texte reste également très lisible lorsqu'on regarde directement son code source.

Conseil : avant de rédiger un long article, il est utile de construire d'abord son plan avec les différents titres et sous-titres.

2. Créer un titre

Un titre Markdown commence par un ou plusieurs caractères #.

Markdown :
# Mon premier article

## Première partie

### Un sous-chapitre
Résultat :

Mon premier article

Première partie

Un sous-chapitre

Plus il y a de #, plus le niveau du titre est profond.

3. Écrire des paragraphes

Il suffit d'écrire normalement son texte. Pour créer un nouveau paragraphe, laissez simplement une ligne vide.

Voici mon premier paragraphe.

Voici mon deuxième paragraphe.

Et voici un troisième paragraphe.

4. Mettre du texte en forme

Markdown Résultat
**texte** texte
*texte* texte
***texte*** texte
`code` code

Exemple :

Voici du **texte important**.

Voici du *texte en italique*.

Et voici du ***texte très important***.

5. Créer des listes

Liste à puces

- Premier élément
- Deuxième élément
- Troisième élément

Ce qui donne :

  • Premier élément
  • Deuxième élément
  • Troisième élément

Liste numérotée

1. Première étape
2. Deuxième étape
3. Troisième étape

Les listes sont particulièrement pratiques pour réaliser des tutoriels.

6. Créer des liens

La syntaxe d'un lien est :

[Texte du lien](https://exemple.com)

Par exemple :

[Visiter Odysee](https://odysee.com)

Le lecteur pourra alors cliquer sur le texte pour accéder au site.

7. Ajouter une image

Une image utilise une syntaxe proche de celle d'un lien.

![Description de l'image](https://exemple.com/image.jpg)

Le texte entre crochets correspond à la description de l'image. L'adresse entre parenthèses correspond à l'URL de l'image.

Bon réflexe : utilisez une description pertinente. Elle améliore l'accessibilité et permet de comprendre le contenu de l'image lorsque celle-ci ne peut pas être affichée.

8. Créer une citation

Une citation commence par le caractère >.

> Le savoir n'a de valeur que lorsqu'il est partagé.

Exemple de résultat :

Le savoir n'a de valeur que lorsqu'il est partagé.

9. Insérer du code

Le Markdown permet également de présenter proprement du code informatique.

Pour un morceau de code très court, utilisez des accents graves :

`echo "Bonjour";`

Pour plusieurs lignes, utilisez trois accents graves.

```php
<?php

echo "Bonjour !";

?>
```

On peut généralement indiquer le langage après les trois accents graves :

```php
```html
```javascript
```python

10. Comment structurer un véritable article ?

Un bon article ne consiste pas simplement à accumuler du texte. Il est préférable de construire une hiérarchie logique.

Par exemple :

# Titre de l'article

Introduction.

## Première partie

Explication de la première partie.

### Un point particulier

Explication complémentaire.

## Deuxième partie

Nouvelle explication.

### Exemple

Un exemple concret.

## Conclusion

Résumé et conclusion de l'article.
Astuce : pensez à votre article comme à un petit livre. Le titre présente le sujet, les titres de niveau 2 représentent les grandes parties et les titres de niveau 3 permettent de détailler ces parties.

11. Exemple complet d'article

Voici maintenant un petit article complet écrit en Markdown.

# Découvrir le journalisme indépendant

Internet permet aujourd'hui à chacun de publier et de partager
des informations.

## Pourquoi publier ses propres articles ?

La publication indépendante permet de présenter des sujets qui
ne trouvent pas toujours leur place dans les médias traditionnels.

### Les avantages

- Liberté éditoriale
- Publication rapide
- Possibilité de travailler en équipe
- Contact direct avec les lecteurs

## Utiliser la vidéo

Une vidéo peut compléter efficacement un article.

[Voir la chaîne sur Odysee](https://odysee.com)

## Conclusion

La publication indépendante permet à chacun de développer
ses propres moyens d'information.

> Informer, vérifier et partager.

12. Modèle Markdown prêt à utiliser

Vous pouvez copier le modèle suivant et le modifier pour créer votre propre article.

# TITRE DE MON ARTICLE

Introduction de mon article.

## Première partie

Texte de la première partie.

### Sous-partie

Explication complémentaire.

## Deuxième partie

Voici les informations importantes.

### Liste

- Premier élément
- Deuxième élément
- Troisième élément

## Une image

![Description de l'image](URL-DE-L-IMAGE)

## Une vidéo ou un lien

[Voir la vidéo](URL-DE-LA-VIDEO)

## Conclusion

Résumé de l'article.

> Une citation ou une phrase importante.

13. Quelques conseils avant de publier

  • Choisissez un titre clair et précis.
  • Utilisez des sous-titres pour séparer les grandes parties.
  • Évitez les paragraphes trop longs.
  • Ajoutez des liens vers les sources utilisées.
  • Utilisez des images lorsque celles-ci apportent réellement quelque chose.
  • Relisez les liens avant de publier.
  • Vérifiez que les images sont accessibles publiquement.
  • Conservez une copie locale de votre article.
Attention : toutes les plateformes n'interprètent pas exactement les mêmes fonctionnalités Markdown. Il est donc préférable de faire un petit test avec un article court avant de publier un long document.

14. Markdown ou HTML ?

Le Markdown et le HTML ne sont pas concurrents : le Markdown est une manière beaucoup plus simple d'écrire un document structuré, tandis que le HTML donne un contrôle beaucoup plus précis sur la présentation d'une page Web.

Un article peut donc être rédigé en Markdown puis converti en HTML avant d'être publié sur un blog.

C'est particulièrement pratique pour les personnes qui souhaitent écrire leurs articles dans un simple éditeur de texte tout en obtenant ensuite une page Web correctement structurée.

Conclusion

Le Markdown est relativement simple à apprendre. Une dizaine de syntaxes suffisent déjà pour rédiger des articles propres et structurés.

Pour commencer, retenez surtout :

  • # pour les titres
  • **gras** pour le texte important
  • *italique* pour l'italique
  • - pour les listes
  • [texte](URL) pour les liens
  • ![description](URL) pour les images
  • > pour les citations
  • ``` pour les blocs de code

Avec ces quelques éléments, il est déjà possible de construire un article complet, lisible et bien organisé.

Guide Markdown — Tutoriel librement adaptable pour votre blog.

dimanche 26 juillet 2026

Liste d'hébergeurs web HORS UE pour la liberté d'expression

Liste d'hébergeurs web HORS UE pour la liberté d'expression

Analyse des juridictions recommandées Suisse 🇨🇭 : Le choix de l'équilibre. Bien que l'UE la reconnaisse comme "adéquate" (facilitant les transferts), la Suisse n'est pas membre de l'UE et refuse souvent les demandes d'assistance judiciaire automatique pour des délits mineurs ou des questions de copyright. Sa loi sur la protection des données (nLPD) est l'une des plus strictes au monde. C'est idéal pour la confidentialité des données, moins pour l'hébergement de contenus "illégaux" au sens européen (la coopération existe pour le pénal grave). Russie 🇷🇺 : Le choix de la rupture totale. Juridiquement hors de portée de l'UE et des États-Unis (pas de traités d'extradition ou d'entraide faciles pour le web). Les hébergeurs ignorent systématiquement les DMCA et les injonctions européennes. Risque majeur : instabilité géopolitique, sanctions, et lois internes russes strictes sur le contenu (censure locale). À réserver aux projets nécessitant une immunité totale face à l'Occident. États-Unis 🇺🇸 : Le paradoxe. Le Premier Amendement offre la protection de liberté d'expression la plus puissante au monde (bien supérieure à l'Europe). Cependant, le CLOUD Act permet aux autorités US de saisir des données où qu'elles soient si l'hébergeur est américain. De plus, la surveillance (NSA) y est omniprésente. C'est un bon choix pour la liberté d'expression "légale", mais un mauvais choix pour l'anonymat et la non-traçabilité. Moldavie 🇲🇩 & Panama 🇵🇦 : Les alternatives "Offshore". La Moldavie (hors UE) est devenue un hub pour l'hébergement "bulletproof" (ignorer les plaintes) à bas coût. Le Panama utilise le dollar et n'a pas de traités d'extradition faciles, offrant un bon refuge juridique. Voici le bloc HTML complémentaire intégrant ces juridictions et les hébergeurs associés (US, Russes, Suisses) :

Hébergeurs Web en Islande

Confidentialité, Énergie Verte et Liberté d'Expression

1. 1984 Hosting

Profil : Fondé en 2006 par des activistes du logiciel libre, cet hébergeur est une référence pour la protection de la vie privée et les droits civiques.

  • Localisation : Reykjavík
  • Offres : VPS Linux, Serveurs Dédiés.
  • Prix de départ : ~5,00 $/mois.
  • Particularité : Politique stricte de non-surveillance.

2. Orange Website

Profil : Opérateur historique axé sur l'anonymat et l'hébergement "offshore" sécurisé.

  • Localisation : Hafnarfjörður
  • Offres : VPS, Mutualisé, Dédiés.
  • Prix de départ : ~29,90 €/mois.
  • Particularité : Paiements anonymes acceptés.

3. FlokiNET

Profil : Hébergeur de niche spécialisé dans la protection des ONG et journalistes.

  • Localisation : Reykjavík
  • Offres : VPS KVM, Dédiés, Offshore.
  • Prix de départ : ~3,77 $/mois.
  • Particularité : Création de compte quasi-anonyme.

4. Advania

Profil : Le plus grand fournisseur de services cloud et data centers en Islande.

  • Localisation : Reykjavík
  • Offres : Cloud Entreprise, Colocation.
  • Prix de départ : Sur devis.
  • Particularité : Infrastructure Tier III, haute disponibilité.

Autres fournisseurs :

Note : Les liens ouvrent les sites officiels dans un nouvel onglet.

Hébergement Hors UE : Juridictions & Acteurs

Suisse, Russie, USA & Offshore

🇨🇭 Suisse

Hébergeurs Recommandés :

🇷🇺 Russie

Hébergeurs Recommandés (Ignore DMCA) :

  • HostKey : Basé à Moscou, accepte Bitcoin.
  • Aeza : Infrastructure robuste, ignore plaintes étrangères.
  • SpringHost : Spécialisé anonymat.

🇺🇸 États-Unis

Hébergeurs "Free Speech" :

  • Njalla : Prête-nom pour anonymat (serveurs US dispo).
  • Koddos : Anti-DDoS et liberté d'expression (USA/Anguilla).
  • 1984.is : Propose aussi des serveurs US.

🌍 Alternatives Offshore

⚠️ Avertissement : L'hébergement de contenus criminels reste poursuivi internationalement.

dimanche 22 mars 2026

Top 10 des distributions Linux légères (2026)

Top 10 des distributions Linux légères (2026)

  1. Tiny Core Linux - Ultra minimal (11-16 Mo)
  2. Puppy Linux - Très rapide, fonctionne en RAM
  3. SliTaz - Léger avec interface graphique
  4. Damn Small Linux - Pour très vieux PC
  5. antiX - Basé Debian, ultra léger
  6. Q4OS - Léger avec interface Windows
  7. SparkyLinux - Léger et moderne
  8. Lubuntu - Ubuntu léger
  9. Linux Lite - Simple pour débutants
  10. MX Linux - Léger et complet

jeudi 27 novembre 2025

NOchatcontrol un chat privé en php,sqlite3 optimisé par CHATGPT

NOchatcontrol un chat privé crypté AES256 en php,sqlite3 optimisé par CHATGPT



ZIP COMPLET AVEC EXPLICATIONS dans readme.md

- ultra léger 40 ko !!!
- à mettre sur son serveur local wamp,lamp privé derrière une box et ou avec une ip dynamique ...
- à mettre sur un serveur externe,tiers sécurisé ou site ...

mardi 11 novembre 2025

Annuaire des IA Gratuites

Annuaire des IA Gratuites

Liens à la productivité et générateur de prompts


Faire des clips https://www.clipfly.ai/fr/ai-image-generator/google-gemini-ai-photo-prompt/
200 prompt copier coller par sujet https://www.almera.one/blog/top-200-prompts-a-copier-coller-pour-exploiter-tout-le-potentiel-de-chatgpt?8998d603_page=2
Utiliser Midjourney et les images https://promptsref.com/fr/guide/midjourney-prompts-for-background-20-free-copy-paste-prompts-1760448108514
Toutes les IA par thèmes https://www.chatgpt.fr/ia/productivite

1. IA Généralistes

2. IA pour la Création d'Images

3. IA pour la Création de Vidéos

4. IA pour la Création de Musique

5. IA pour la Science, Mathématiques et Chimie

6. IA pour la Médecine

7. IA pour le Droit

8. IA pour la Politique et les Actualités

9. IA pour la Programmation et le Développement

Cliquez sur un logo pour aller plus loin ...

Logo Google Logo Yandex Logo DuckDuckGo Logo Bing Logo Yahoo! Search Logo Baidu Logo Ecosia Logo Qwant Logo Brave Search Logo StartPage Logo Ask.com Logo AOL Search Logo WolframAlpha Logo Naver Logo SearXNG Logo Lilo Logo Mojeek Logo Gibiru Logo Metacrawler Logo Exalead

mercredi 5 novembre 2025

ImgInn - Naviguez anonymement sur Instagram #Instagram #ViePrivée #TechTips #Cybersécurité

ImgInn - Naviguez anonymement sur Instagram #Instagram #ViePrivée #TechTips #Cybersécurité




SANS PUBLICITES






Découvrez ImgInn pour aller sur Insta en anonyme

💬 Votre avis ? Partagez en commentaire !

👉 Suivez-moi sur Instagram : korben00

Korben

lundi 3 novembre 2025

Un site d'annonces PERSO en quelques clics avec CHATGPT

Un site d'annonces PERSO en quelques clics avec CHATGPT



TELECHARGER LE ZIP FONCTIONNEL V1


le login,pass après installation admin et admi123 donc à personnaliser dans le code ...

 

Bonjour je voudrais fabriquer un site de petites annonces php avec sqlite3 je voudrais pouvoir l'héberger sur mon propre serveur wamp en local ... - il faudrait un formulaire html de contact protéger traiter par la function native mail() de php Une protection par un token ou un captcha maison pour le formulaire de contact et pas de service tiers comme recaptcha de google la function mail() sera doublée par un stockage des messages des contacts dans un fichier txt ou csv si le serveur est en local donc avec un file_put_contents par exemples dans un repertoire clients une liste date,ip,message donc une page contacter.php avec captcha.php maison et traitement_envoi.php dans un repertoire admin/ - un CRUD php pour administrer ma table annonces - un formulaire de dépôt d'annonces avec gestion des images par upload - lors du lancement du crud la table doit se créer automatiquement, la première fois - le driver pdo est souhaité id,titre description,urls_images,prix,annonce_active,date_creation amelioration possible un champs categorie txt, simple saisie depuis un un select dans le formulaire de saisie d'annonce une gestion des images avec thumbs via une class php de traitement d'images pour mettre des miniatures dans la listes des annonces sur le frontend voir plus tard une v2 avec une foreign_id pour la categorie et une table categorie mais restons simple id auto increment le titre de l'annonces la description de l'annonces 5 images le prix en euros annonce_active 0 ou 1 comme en ligne la date de la création pour faire un classement par date sur le front end donc un front end avec la liste des titres des annonces (index.php) avec une pagination. le clic sur le titre ouvre une page detail.php avec l'ensemble de l'annonce et un bouton retour à l'index.php sur la page detail.php?a=xxx si l'annonce est à 1 comme active dans la table sinon message comme désactivé un repertoire admin avec le crud avec une protection par $_SESSIONS et un login.php et logout.php ... le script doit se pouvoir s'installer sur n'importe serveur php du monde externe ou local pour l'installation sur un serveur wamp sous windows 10 et la mise en oeuvre de la redirection sur une box perso voir le cryptage des messages cela sera discuter dans un autre prompt merci pour ton aide

ChatGPT a dit :

Bonjour ! Ce projet de site de petites annonces avec PHP et SQLite3 semble super intéressant. Voici comment nous pourrions organiser cela et les étapes pour réaliser tout ce que tu souhaites.

1. Structure du projet

Voici un schéma de l'architecture de base pour ton projet :

/projet
    /admin
        - login.php
        - logout.php
        - crud_annonces.php
    /clients
        - contact.txt (ou contact.csv)
    /uploads
        - (images des annonces)
    - index.php
    - detail.php
    - contacter.php
    - captcha.php
    - traitement_envoi.php
    - config.php
    - database.php

2. Base de données SQLite

Nous allons commencer par créer une base de données SQLite3. Le fichier sera créé automatiquement lors de la première exécution. Voici un exemple de script pour créer la table annonces :

<?php
// database.php
try {
    $db = new PDO('sqlite:annonces.db');
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // Création de la table 'annonces' si elle n'existe pas
    $db->exec("CREATE TABLE IF NOT EXISTS annonces (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        titre TEXT,
        description TEXT,
        urls_images TEXT,
        prix REAL,
        annonce_active INTEGER DEFAULT 1,
        date_creation TEXT
    )");

    // Création de la table 'contacts' pour stocker les messages du formulaire de contact
    $db->exec("CREATE TABLE IF NOT EXISTS contacts (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        message TEXT,
        ip TEXT,
        date_creation TEXT
    )");

} catch (PDOException $e) {
    echo "Erreur de connexion à la base de données : " . $e->getMessage();
}
?>

3. Formulaire de Contact avec Protection (Token ou Captcha Maison)

Pour le formulaire de contact (contacter.php), nous allons créer un token simple qui sera validé lors de l'envoi du message.

Exemple de contacter.php :

<?php
session_start();

// Générer un token unique pour chaque session
if (!isset($_SESSION['token'])) {
    $_SESSION['token'] = bin2hex(random_bytes(32)); // 64 caractères hexadécimaux
}

?>
<form action="traitement_envoi.php" method="post">
    <input type="hidden" name="token" value="<?php echo $_SESSION['token']; ?>" />
    <textarea name="message" required></textarea>
    <input type="submit" value="Envoyer">
</form>

Exemple de traitement_envoi.php :

<?php
session_start();

// Vérifier que le token est valide
if ($_POST['token'] !== $_SESSION['token']) {
    die("Token invalide.");
}

// Traitement du message
if (!empty($_POST['message'])) {
    $message = $_POST['message'];
    $ip = $_SERVER['REMOTE_ADDR'];
    $date = date('Y-m-d H:i:s');

    // Sauvegarde du message dans un fichier texte
    file_put_contents('clients/contact.txt', "$date | $ip | $message\n", FILE_APPEND);

    // Envoi du mail
    $to = 'contact@tonsite.com';
    $subject = 'Nouveau message de contact';
    $headers = 'From: webmaster@tonsite.com' . "\r\n" . 'Reply-To: webmaster@tonsite.com';

    mail($to, $subject, $message, $headers);

    echo "Message envoyé !";
} else {
    echo "Le message ne peut pas être vide.";
}
?>

4. CRUD pour Annonces

Dans le répertoire admin/, nous allons créer un CRUD pour gérer les annonces. Le CRUD pourra gérer l'ajout, la modification, la suppression et la liste des annonces.

Exemple de crud_annonces.php :

<?php
session_start();

// Vérifier que l'utilisateur est connecté
if (!isset($_SESSION['admin_logged_in'])) {
    header("Location: login.php");
    exit;
}

require_once('../database.php');

// Liste des annonces
$stmt = $db->query("SELECT * FROM annonces ORDER BY date_creation DESC");
$annonces = $stmt->fetchAll(PDO::FETCH_ASSOC);

// Ajouter une annonce
if (isset($_POST['add_announcement'])) {
    // Récupérer les données du formulaire
    $titre = $_POST['titre'];
    $description = $_POST['description'];
    $prix = $_POST['prix'];
    $urls_images = implode(',', $_FILES['images']['name']); // Liste des URLs des images

    // Insertion de l'annonce dans la base de données
    $stmt = $db->prepare("INSERT INTO annonces (titre, description, urls_images, prix, date_creation) VALUES (?, ?, ?, ?, ?)");
    $stmt->execute([$titre, $description, $urls_images, $prix, date('Y-m-d H:i:s')]);

    echo "Annonce ajoutée !";
}

// Afficher le formulaire d'ajout
?>
<form method="POST" enctype="multipart/form-data">
    <input type="text" name="titre" placeholder="Titre de l'annonce" required>
    <textarea name="description" placeholder="Description" required></textarea>
    <input type="number" name="prix" placeholder="Prix" required>
    <input type="file" name="images[]" multiple>
    <button type="submit" name="add_announcement">Ajouter l'annonce</button>
</form>

5. Gestion des Images

Tu peux utiliser la fonction move_uploaded_file() pour gérer les uploads d'images. Pour créer des miniatures, tu peux utiliser une classe PHP pour le redimensionnement, comme par exemple la bibliothèque GD.

Voici un exemple simple de fonction de création de miniature :

function createThumbnail($src, $dest, $width, $height) {
    list($original_width, $original_height) = getimagesize($src);
    $thumb = imagecreatetruecolor($width, $height);

    $source = imagecreatefromjpeg($src); // Si l'image est au format JPEG
    imagecopyresampled($thumb, $source, 0, 0, 0, 0, $width, $height, $original_width, $original_height);

    imagejpeg($thumb, $dest);
    imagedestroy($thumb);
    imagedestroy($source);
}

6. Front-End

Pour afficher les annonces et leur détail, voici un exemple de structure pour index.php et detail.php.

index.php :

<?php
require_once('database.php');

$stmt = $db->query("SELECT * FROM annonces WHERE annonce_active = 1 ORDER BY date_creation DESC LIMIT 10");
$annonces = $stmt->fetchAll(PDO::FETCH_ASSOC);
?>
<ul>
    <?php foreach ($annonces as $annonce): ?>
        <li>
            <a href="detail.php?a=<?php echo $annonce['id']; ?>"><?php echo $annonce['titre']; ?></a>
        </li>
    <?php endforeach; ?>
</ul>

detail.php :

<?php
require_once('database.php');

$annonce_id = $_GET['a'];
$stmt = $db->prepare("SELECT * FROM annonces WHERE id = ?");
$stmt->execute([$annonce_id]);
$annonce = $stmt->fetch(PDO::FETCH_ASSOC);

if (!$annonce || $annonce['annonce_active'] == 0) {
    echo "Cette annonce n'est pas disponible.";
    exit;
}
?>
<h1><?php echo $annonce['titre']; ?></h1>
<p><?php echo $annonce['description']; ?></p>
<p>Prix: <?php echo $annonce['prix']; ?>€</p>
<!-- Affichage des images -->
<?php
$images = explode(',', $annonce['urls_images']);
foreach ($images as $image) {
    echo "<img src='uploads/$image' alt='Image de l'annonce'>";
}
?>
<a href="index.php">Retour à l'index</a>

7. Authentification Admin

Pour la gestion des annonces dans le répertoire admin/, il faut créer un système de connexion avec login.php et logout.php.

login.php :

<?php
session_start();

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    // Vérification des identifiants
    if ($_POST['username'] == 'admin' && $_POST['password'] == 'admin123') {
        $_SESSION['admin_logged_in'] = true;
        header("Location: crud_annonces.php");
    } else {
        echo "Identifiants incorrects.";
    }
}
?>
<form method="POST">
    <input type="text" name="username" placeholder="Nom d'utilisateur" required>
    <input type="password" name="password" placeholder="Mot de passe" required>
    <button type="submit">Se connecter</button>
</form>

logout.php :

<?php
session_start();
session_destroy();
header("Location: login.php");
?>

Conclusion

Ce code te donne une bonne base pour ton projet. Une fois que tu as tout configuré, tu pourras héberger ton site localement avec WAMP. Pour déployer en ligne, il te suffira de transférer les fichiers sur ton serveur via FTP et de configurer SQLite pour fonctionner avec le serveur.

N'hésite pas si tu as besoin de plus de détails ou d'aide supplémentaire !

Cliquez sur un logo pour aller plus loin ...

Logo Google Logo Yandex Logo DuckDuckGo Logo Bing Logo Yahoo! Search Logo Baidu Logo Ecosia Logo Qwant Logo Brave Search Logo StartPage Logo Ask.com Logo AOL Search Logo WolframAlpha Logo Naver Logo SearXNG Logo Lilo Logo Mojeek Logo Gibiru Logo Metacrawler Logo Exalead