Le 1/1000ème de seconde est sans doute superflu, mais il illustre bien la précision qu’il est possible d’obtenir avec un microcontrôleur moderne comme le Raspberry Pi Pico. Ce projet vous propose de réaliser un chronomètre autonome, pensé pour des jeux ou activités scolaires, doté d’un écran OLED bien lisible et alimenté par une batterie LiPo. […]
À l'ère du tout-numérique, la confidentialité et la sécurité en ligne sont devenues des préoccupations majeures pour la plupart des internautes. Google Street View, bien que pratique pour naviguer et explorer virtuellement des endroits partout dans le monde, peut également poser des problèmes de confidentialité.
Ah, les install parties… On y vient pour respirer le parfum du libre, réanimer de vieux PC et prouver qu’un pingouin bien motivé vaut mieux qu’un écran bleu. 🐧Cette fois, c’est un Acer Aspire ES15 équipé d’un vaillant Pentium N4200 qui a décidé de jouer les rebelles. Tout semblait prêt : clé Rufus, ISO officielle, […]
Ce qui est super relou avec les IA qu’on peut utiliser en local, genre avec Ollama, c’est que si on lui demande des infos un peu trop récente, ça nous sort des vieux chiffres de 2023 avec la confiance d’un vendeur de voitures d’occasion. Bon bah ça, c’est fini puisqu’
Ollama vient de sortir une API de recherche web
qui permet enfin à vos modèles locaux d’accéder à des infos fraîches dispo sur le net.
Woohoo \o/ !
Baptisée Ollama Web Search, cette API REST permet donc à vos modèles de faire des recherches sur le web en temps réel comme ça plus besoin de se contenter des données d’entraînement figées dans le temps.
Selon la doc officielle
, l’API fournit “les dernières informations du web pour réduire les hallucinations et améliorer la précision”. En gros, votre IA locale devient aussi à jour que ChatGPT, mais sans envoyer vos données perso à OpenAI.
Les modèles compatibles avec cette nouvelle fonctionnalité incluent qwen3, LLama, gpt-oss (la version open source d’OpenAI), deepseek-v3.1, et plein d’autres.
Et d’après les premiers tests de la communauté
, qwen3 et gpt-oss sont même plutôt doués pour exploiter cette fonctionnalité. Le modèle comprend qu’il lui manque une info, fait sa recherche, analyse les résultats et nous sort une réponse documentée !
C’est trop incrrrr ! Vous allez pouvoir booster vos scripts / bots / outils d’IA locale pour qu’ils puissent surveiller des choses dispo en ligne, les comparer, générer des résumés à partir de sites web, fact checker ou compléter des infos…etc.
Mais alors comment s’en servir ? Bon, on est vendredi soir et j’ai la flemme de tourner un tuto vidéo, donc même si je risque de détailler tout ça bientôt à
mes Patreons d’amour
, voici quand même quelques explications.
D’abord, il faut créer une
clé API Ollama
. La doc explique que vous avez un essai gratuit généreux pour commencer, mais s’il vous en faut plus, il faudra prendre un petit abonnement
Ollama Cloud
…
Une fois votre clé en poche, exportez-la dans votre environnement comme ceci :
export OLLAMA_API_KEY="votre_clé_ici"
Le plus simple ensuite pour tester, c’est avec curl :
Mais bon, soyons honnêtes, on va plutôt utiliser Python car c’est quand même plus cool ;-) . Voici donc un exemple de script basique qui compare une réponse avec et sans recherche web :
importollamafromollamaimportchat,web_search,web_fetchmodel="qwen3:4b"# 1. Sans recherche webresponse_classic=chat(# pas ollama.chatmodel=model,messages=[{"role":"user","content":"Quelles sont les features de React 19?"}])print("Sans recherche web:",response_classic.message.content[:500])# .message.content# 2. Avec recherche websearch_results=web_search("React 19 features dernières nouveautés")print("Résultats:",search_results)# 3. Avec outilsavailable_tools={'web_search':web_search,'web_fetch':web_fetch}messages=[{"role":"user","content":"Utilise la recherche web pour me dire les dernières features de React 19"}]response_with_tools=chat(model=model,messages=messages,tools=[web_search,web_fetch],think=True)# Accès aux tool_callsifresponse_with_tools.message.tool_calls:fortool_callinresponse_with_tools.message.tool_calls:function_to_call=available_tools.get(tool_call.function.name)iffunction_to_call:args=tool_call.function.argumentsresult=function_to_call(**args)print(f"Outil utilisé: {tool_call.function.name}")print(f"Résultat: {str(result)[:500]}...")print("Réponse finale:",response_with_tools.message.content)
Les performances varient ensuite selon les modèles. Qwen3:4b est parfait pour du temps réel avec environ 85 tokens/seconde. GPT-OSS:120b est plus lent mais donne des résultats de qualité idéaux pour de la production. Pour du dev local, je vous recommande qwen3:8b, c’est le bon compromis entre vitesse et intelligence.
Le truc cool, c’est que vous pouvez maintenant créer des agents spécialisés. Genre un agent DevOps qui surveille les CVE de vos dépendances, un agent Marketing qui analyse les tendances de votre secteur, ou un agent Support qui maintient une base de connaissances à jour.
Voici un exemple :
import ollama
from ollama import chat, web_search
class SecurityAgent:
def __init__(self):
self.model = "qwen3:4b"
def check_vulnerabilities(self, technologies):
rapport = "🛡️ RAPPORT SÉCURITÉ\n\n"
for tech in technologies:
# Recherche directe des CVE récentes
results = web_search(f"{tech} CVE vulnerabilities 2025 critical")
# Demande au modèle d'analyser
response = chat(
model=self.model,
messages=[{
"role": "user",
"content": f"Résume les vulnérabilités critiques de {tech}: {results}"
}]
)
rapport += f"### {tech}\n{response.message.content}\n\n"
return rapport
# Utilisation
agent = SecurityAgent()
rapport = agent.check_vulnerabilities(["Node.js", "PostgreSQL", "Docker"])
print(rapport)
Maintenant, pour optimiser un peu tout ça et ne pas flamber votre quota API, voici quelques astuces assez classiques… D’abord, mettez en cache les résultats. Ensuite, soyez spécifique dans vos requêtes. Par exemple “React hooks” va chercher plein de trucs inutiles, alors que “React 19 nouveaux hooks useActionState” sera plus efficace.
On peut vraiment réduire la quantité de requêtes en étant malin sur le prompt engineering. Par exemple, au lieu de laisser le modèle chercher tout seul, guidez-le : “Vérifie uniquement sur la doc officielle de React” plutôt que “Cherche des infos sur React”.
Et comme Ollama supporte MCP Server, Cline, Codex et Goose, c’est royal car vous pouvez aussi brancher votre assistant IA directement dans votre IDE, Slack, ou Discord. Hé oui, vous allez enfin pouvoir coder un bot Discord qui va fact-checker automatiquement les affirmations douteuses et foireuses de vos collègues. Le rêve !
Pour aller plus loin, vous pouvez aussi combiner la recherche web avec le fetching de pages spécifiques. L’API web_fetch permet ainsi de récupérer le contenu d’une URL précise. Pratique pour analyser en profondeur une doc ou un article :
from ollama import web_search, web_fetch, chat
# 1. Recherche d'articles pertinents
search_results = web_search("React 19 vs Vue 3 comparison 2025")
top_url = search_results.results[0]['url'] # ou .url selon le type
print(f"📰 Article trouvé: {search_results.results[0]['title']}")
# 2. Récupération du contenu complet de la page
page_content = web_fetch(top_url)
print(f"📄 {len(page_content.content)} caractères récupérés")
# 3. Analyse approfondie du contenu
response = chat(
model="qwen3:4b", # ou "gpt-oss" si disponible
messages=[{
"role": "user",
"content": f"""
Analyse cette comparaison technique:
{page_content.content[:4000]}
Donne-moi:
1. Les points clés de chaque framework
2. Le gagnant selon l'article
3. Les cas d'usage recommandés
"""
}]
)
print(f"\n🔍 Analyse:\n{response.message.content}")
Alors bien sûr, des fois la recherche retournera des trucs pas pertinents, surtout si votre requête est vague et de son côté, le modèle peut aussi mal interpréter les résultats s’il est trop petit. Mais bon, comparé à une IA qui vous sort que Windows 11 n’existe pas encore, on a fait quand même pas mal de chemin, vous ne trouvez pas ??
J’espère qu’à terme, Ollama ajoutera aussi le support de sources personnalisées car ce serait vraiment cool de pouvoir indexer par exemple sa propre doc ou ses propres emails pour y faire des recherches… Mais bon, en attendant cette nouvelle API permet enfin de contrebalancer ce problème des modèles pas à jour en terme de connaissances, et ça c’est déjà énorme !
Si vous cherchez un moyen de récupérer vos fichiers perdus sans vendre un rein, je vous invite à regarder ma dernière vidéo où j’explique comment j’ai sauvé le cul d’un ami photographe avec PhotoRec. L’ami en question (salut Miquel !) avait perdu toutes ses photos RAW qui étaient sur un SSD de 480 Go et avait déjà claqué un peu de fric dans un logiciel Windows tout pourri qui n’avait rien récupéré du tout. Alors forcément, quand il m’en a parlé l’air de rien pendant mes vacances, j’ai sorti mon chapeau de magicien pour l’aider !
Dans la vidéo, je vous montre donc toute la procédure : comment faire une copie bit par bit de votre disque avec DD (parce que oui, on travaille TOUJOURS sur une copie, jamais sur l’original), comment lancer PhotoRec, naviguer dans ses menus ASCII old school et surtout comment ne pas paniquer quand vous voyez défiler les lignes de commande. Et voilà…
Maintenant si vous voulez vous entrainer avant le prochain drame, créez-vous un petit environnement de test avec une vieille clé USB. Mettez quelques fichiers dessus, formatez-la, et essayez de tout récupérer avec PhotoRec… C’est le meilleur moyen d’être prêt le jour où ça vous arrivera pour de vrai, parce que croyez-moi, ça vous arrivera.
Voilà, maintenant vous savez comment j’ai sauvé les photos de Miquel et comment vous pouvez sauver les vôtres.
Vous cherchez à transformer votre Raspberry Pi 5 ou votre Jetson Orin Nano en véritable mini-ordinateur ? Le Pitower Gen 1 Elecrow est un boîtier compact et élégant qui intègre tout ce qu’il faut : écran OLED 1,3″, refroidissement actif, support SSD PCIe M.2 et une connectique complète (USB, HDMI, Ethernet, GPIO). Pensé pour les […]
📅 Le 26 juin 2025 à 19h (heure de Paris), Make: Magazine et D-Robotics organisent un événement en ligne à ne pas manquer : la présentation officielle du RDK X5, un kit de développement dédié à la robotique et à l’intelligence artificielle embarquée. Et comme on dit chez nous… y’a du lourd ! Je vous […]