Risk of Rain 2 a revêtu un nouveau défi avec le Collective Alloyed, introduisant des ennemis redoutables, mais parvenir au boss final, Solus Wing, peut être un véritable défi. Que vous soyez un joueur expérimenté ou nouveau dans le jeu, connaître les étapes pour atteindre Solus Wing peut vous donner un avantage dans cette aventure […]
Google a YouTube Music ave un budget illimité, des équipes entières de devs, des serveurs partout dans le monde… et pourtant une autre app Android open source fait mieux le job ! Cette app c’est SimpMusic et vous allez l’adorer !
Car oui,
YouTube Music officiel
, c’est bridé à mort. Y’a pas lecture possible en tâche de fond sans l’option premium, y’a des pubs et des trackers partout et pas de canvas comme sur Spotify (canvas, ce sont les petites vidéos qui tournent en boucle quand vous lisez une chanson). Bref, c’est pas ouf.
Du coup, le dev de
SimpMusic
a eu pour idée de balancer tout ce que YouTube Music officiel refuse de vous donner : De la lecture sans pub ET en tâche de fond (vous pouvez sortir de l’app et la musique continuera à jouer), de quoi vous balader dans les nouveaux podcasts et les tubes du moment et autres playlists et y’a même du cache offline et la possibilité de vous lancer dans la lecture de paroles synchronisées avec la musique. SimpMusic offre aussi un SponsorBlock intégré, et des fonctionnalités comme le retour des dislike, le support Android Auto, des suggestions et traduction IA, et un timer qui coupe tout au bout d’un moment si vous vous endormez en musique… Bref, que des bonnes idées !
Et tout cela est codé en Kotlin et utilise les API cachées de YouTube Music. C’est donc du bon gros reverse engineering pur et simple. D’où le côté beta de l’app qui peut parfois se comporter bizarrement. Mais si ça vous dit de tester, vous pouvez choper ça sur F-Droid, IzzyOnDroid, ou directement sur les releases GitHub. Évidemment, vous ne la trouverez pas sur le Play Store puisque Google n’aime pas ce genre d’app. Ils ont même banni
Spotube
de leur store officiel.
Quoiqu’il en soit, si un jour Google peut décider de couper les API “cachées” ou de bannir l’app, ça sera très facile pour eux. Comme d’hab, c’est un jeu du chat et de la souris entre les devs et le géant de la tech.
Merci à Lorenper de m’avoir signalé ce projet et chapeau à maxrave-dev pour avoir osé coder ce que Google refuse de donner.
Call of Duty : Black Ops 7 a fait la une pour toutes les mauvaises raisons. Officiellement qualifié de jeu Call of Duty le moins bien noté de l’histoire sur Metacritic, il affiche un score utilisateur décourageant de seulement 1,6 sur 10. Les joueurs expriment leur déception principalement en raison de la campagne mal exécutée […]
Il est tout joufflu et son regard enfantin lui confère des airs de gros jouet. Le nouveau Citroën C5 Aircross se renouvelle de la tête aux pieds et adopte une inédite version électrique. Prise en mains de ce matelas aux 680 km d’autonomie.
Citroën essaie de faire un effort sur les mensualités de location de son nouveau SUV électrique. Il est sensiblement moins cher qu’un BMW iX1 déjà plutôt bien équipé et se positionne très bien parmi les modèles des marques généralistes.
Moins de 35 000 €, voici l’un des arguments du dernier Citroën C5 Aircross. Pour ce prix, pas de moteur 100% électrique, ni de version hybride rechargeable, mais un simple moteur essence microhybridé de 145 ch. Suffisant ou non ?
Nouveau fer de lance de la marque aux chevrons, la deuxième génération du Citroën C5 Aircross hérite d’une toute nouvelle plateforme. Il offre en ce sens des technologies inédites et une autonomie solide.
Citroën décline pour la première fois son petit SUV en 7 places. Moyennant 850 € de plus le nouveau C3 Aircross se positionne en prime comme l’un des petits transporteurs les moins chers à l’heure actuelle sur le marché.
Après avoir remporté le titre lors des deux dernières éditions, une Renault est à nouveau dans la dernière ligne droite. Mais elle doit faire face à six autres prétendantes. Qui remportera le titre de Car of the Year 2026 ?
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 !
We help you find European-made and European-supported digital solutions, including cloud services, open source technologies, and interoperable tools, all designed to promote technological sovereignty and innovation.
SwitchToOpen a pour ambition de devenir une référence centralisée d’outils open source, permettant aux particuliers, professionnels et organisations de s’affranchir des solutions propriétaires dans de nombreux domaines : cybersécurité, infrastructure, bureautique, développement, gestion, etc.