FreshRSS

🔒
❌ À propos de FreshRSS
Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierTech Généraliste

Guide d’achat : quelle souris gaming acheter en 2023 ?

Bardées de boutons à personnaliser, équipées des poids modulable, avec ou sans fil à la patte, les souris spécialisées gaming sont l’indispensable compagnon de tout joueur qui se respecte !

souris

full

souris

thumbnail

Une triplette de jeux offerts sur l’Epic Games Store

Deux jeux multijoueurs, l'un de combat, l'autre plutôt orienté coopération, et un jeu qui propose une aventure solo dans monde cyberpunk. L'un de ces jeux vient de sortir et n'a pas de prix, les deux autres valent 45 euros (15 et 30 euros).

jeux

full

jeux

thumbnail

GFN Thursday : cinq jeux ajoutés cette semaine, dont les versions Steam de titres Ubisoft

Pas de sorties majeures cette semaine, avec seulement cinq jeux, et surtout des versions Steam de titres déjà pris en charge sur d'autres lanceurs. Aucun nouveau SuperPOD RTX 4080 non plus, même si NVIDIA prévient que celui de Londres sera bientôt prêt.

gfn

full

gfn

thumbnail

Surfshark Antivirus + VPN à un prix imbattable pour le Black Friday

11 novembre 2022 à 09:30
Par : Korben

— En partenariat avec Surfshark

Vous connaissez tous le VPN de Surfshark qui permet de naviguer sur Internet en masquant son point d’origine et en protégeant sa vie privée et sa sécurité lorsqu’on utilise des réseaux wifi publics.

Mais Surfshark, c’est un peu plus que cela, puisqu’au travers de son offre Surfshark One, l’outil propose une suite complète de sécurité qui comprend :

  • Le VPN Surfshark en illimité
  • Alert – Un système d’alerte en cas de fuite de mots de passe
  • Search – Un moteur de recherche qui respecte votre vie privée

C’est de ce dernier dont je vais vous parler aujourd’hui. Si vous utilisez déjà Surfshark pour surfer, vous n’aurez rien de plus à installer pour profiter de l’antivirus. Celui-ci est intégré au logiciel et ça permet d’alléger votre machine en ayant un seul outil qui fait tout.

Notez que pour le Black Friday, vous pouvez profiter d’un an d’Antivirus + du VPN Surfshark (et ses services associés Alert et Search) pour seulement 2,32 $ par mois avec 2 mois offerts soit un abonnement à l’année ramené à 28,70 $, ce qui fait environ 27,7 euros.

Disponible sous Windows, macOS et Android, l’antivirus Surfshark est vraiment très facile à utiliser. Comme vous pouvez le voir sur les captures écran, l’interface est plutôt limpide et épurée à destination des débutants et des gens qui ne veulent plus se prendre la tête avec un antivirus lourdingue. Au contraire, Surfshark a mis un point d’honneur à rendre son antivirus très léger aussi bien pour votre RAM que pour votre processeur même lors des scans approfondis.

Au niveau des fonctionnalités, l’antivirus propose tout le nécessaire que nous sommes en droit d’attendre d’un antivirus. Tout d’abord, il est possible de lancer des analyses manuelles de vos disques dès que vous en ressentez le besoin. Mais le mieux c’est encore de programmer tout cela, avec des analyses régulières (par exemple 1 fois par semaine), ce qui permet de tout simplement l’oublier tout en restant protégé.

Évidemment, il sécurise et surveille votre ordinateur avec une surveillance en temps réel, là où d’autres antivirus (gratuits la plupart du temps) se contentent d’un scan passif.

Et si vous téléchargez un fichier sur lequel vous avez un doute, vous pouvez également le glisser-déposer sur l’outil pour que celui-ci analyse son contenu.

Concernant le moteur de l’antivirus, ce dernier repose sur le célèbre Avira et peut prévenir les attaques de type Zéro Day (exploitant des failles nouvelles non corrigées) grâce au système Surfshark Cloud Protect qui mutualise toutes les détections de virus à l’échelle de tous leurs clients.

Alors bien sûr, c’est un antivirus encore jeune, mais solide puisqu’il repose sur un moteur déjà bien éprouvé. De plus, Surfshark est connu pour fournir un service de qualité, que ce soit pour son VPN ou les autres produits de la gamme Surfshark One.

L’avantage avec l’antivirus Surfshark, c’est que si vous utilisez déjà leur VPN, vous n’aurez rien à installer de plus (il faut juste prendre l’abonnement Surfshark One). Et si vous hésitiez à choisir un VPN ou un Antivirus, grâce à l’offre de Surfshark, vous pourrez combiner les deux sans alourdir votre machine.

Je vous invite à en découvrir plus en cliquant ici.

Résumez un texte rapidement avec cet outil

20 octobre 2022 à 09:00
Par : Korben

Si vous devez rédiger un texte mais que vous n’êtes pas à l’aise à l’écrit et que l’inspiration ne vient pas, j’imagine que vous faites comme tout le monde. Vous allez sur Google et vous tapez « Exemple de discours pour un mariage », « Rédiger une critique cinéma » ou encore « Comment résumer un livre qu’on n’a pas lu ».

Ensuite, vous copiez collez et vous adaptez. C’est très cool mais ça peut prendre un peu de temps. Alors pour accélérer encore un peu plus la machine, il existe un site nommé Resoomer, qui comme son nom l’indique est capable de rédiger des résumés de texte voire également de réécrire / paraphraser un contenu écrit.

D’un côté, vous collez un pavé et de l’autre, vous aurez une version bien raccourcie qui devrait correspondre à vos attentes. Attention, soyez quand même vigilant car parfois, quand le texte d’origine est complexe, le résumé n’a n’y queue ni tête. De plus, on ne sait pas qui est derrière ce service donc, rien ne garantie que vos textes ne sont pas utilisés à d’autres fins. Faites donc bien attention de ne rien écrire de sensible là dedans.

Je ne sais pas si cela utilise du Deep Learning mais quoi qu’il en soit, c’est l’un des rares outils qui parle français et qui donne un résultat correct. Rien de parfait évidemment mais rien ne vaut (pour le moment), votre bon vieux cerveau dégénéré pour pondre un texte.

Et si j’avais un conseil à vous donnez, quand vous écrivez quelque chose, arrêtez de le faire avec un style « journalistique » ou pire un style « Administration française ». C’est barbant et robotique au possible.

A tester ici !

Comment coder une API RESTful ?

20 octobre 2022 à 09:01
Par : Korben

— Article en partenariat avec talent.io —

Certains pensent que le monde se divise en deux avec d’un côté le bien et de l’autre le mal. Mais la vérité est ailleurs surtout pour les développeurs qui savent que le monde se divise en réalité entre le Frontend et le Backend.

Et pour que ces 2 faces d’une même pièce puissent « discuter », il nous faut des API. API, ça veut dire Application Programming Interface et c’est tout simplement un ensemble d’instructions permettant aux applications de communiquer entre elles. Maintenant des types d’API, il y en a des tonnes, mais je vous propose qu’aujourd’hui on s’intéresse aux API qui respectent le standard architectural REST.

En effet, quand on travaille en tant que développeur, on ne peut pas passer à côté des API REST, tant cette pratique est très répandue. Si vous débutez dans votre métier, c’est forcement quelque chose que vous devez apprendre et maitriser. De la même manière, quand on débute sa carrière de développeur ou qu’on a déjà beaucoup d’années au compteur mais qu’on ne connaît pas sa valeur sur le marché de l’emploi, il est bon de connaître la grille des salaires en France. Ça tombe bien puisque talent.io a mis en ligne une étude des salaires de la tech en 2022 pour que vous puissiez déterminer si votre salaire est correct ou sous évalué.

Je vous invite à vous plonger dedans afin de savoir où vous vous situez sur cette grille des salaires.

C’est quoi une API RESTful ?

REST, ça veut dire « Representational State Transfer ». Lorsqu’une API respecte les contraintes de REST, on parle alors d’une API RESTful.

Quand un développeur veut créer une API RESTful, il doit alors respecter les contraintes édictées par REST, notamment sur le fait que son API doit fonctionner au travers du protocole HTTP et de ses verbes (GET, POST…etc.) et que les requêtes et les réponses de l’API soient dans un format texte tels que JSON, HTML, XML…etc.

Les API RESTful sont alors mises à disposition des applications via ce qu’on appelle des endpoints. Un endpoint est un assemblage de 2 choses : une URI et un verbe HTTP.

Admettons que j’ai une API qui permette de lister des utilisateurs, mais également d’en créer des nouveaux.

L’URI de mon API est la suivante :

https://url.com/api/user

Le but du jeu, c’est d’appeler par exemple ce endpoint avec le verbe GET pour obtenir une liste de tous les utilisateurs.

GET: /user/

Ou pour ajouter un nouvel utilisateur, on peut utiliser le verbe POST comme ceci, en transmettant un bout de JSON contenant toutes les informations liées à l’utilisateur qu’on souhaite créer (nom, prénom…etc.) :

POST: /user/

L’idée là, c’est de vous montrer qu’on peut interagir avec l’API à l’aide de différents verbes HTTP. Get peut être assimilé au verbe « lire », POST au verbe « créer », PUT et PATCH au verbe « Mettre à jour » et DELETE au verbe « supprimer ». C’est aussi simple que cela. Et en retour le serveur peut alors répondre avec des codes de status HTTP classiques comme 200, 201, 2002…etc. pour dire que tout est OK, ou des codes de redirection 3xx, d’erreur client 4xx ou d’erreur serveur 5xx.

En ce qui concerne le format utilisé par les requêtes et les réponses, vous pouvez utiliser du texte, peu importe son format (html, xml.etc.), mais par convention, on utilise surtout du JSON (JavaScript Object Notation).

Et JSON ?

Le JSON a la particularité d’être facile à lire et à écrire pour les humains et est utilisé pour enregistrer des données dans des bases de données, mais également pour transmettre ces données entre les applications. C’est pourquoi on l’utilise dans les API RESTful.

Le JSON est une collection de paires nom / valeur qui sont ordonnées dans une liste. Ainsi les valeurs contenues dans le JSON peuvent être une chaine de caractère (string), un nombre, mais également des objets JSON, des tableaux de valeurs (Array), des booléens (true / false) ou la fameuse valeur null.

Les contrôles hypermedia

Je ne vais pas les aborder en détail pour ne pas alourdir cette initiation débutant mais sachez que pour qu’une API soit RESTful, elle doit en plus de tous ces aspects, intégrer également la notion de contrôle hypermedia (Hypermedia as the Engine of Application State – HATEOAS). C’est un attribut de REST qui permet de renvoyer des liens hypertextes afin d’indiquer les actions disponibles directement dans les réponses JSON

Voilà concernant les grands principes des API RESTful.

Comment créer votre première API RESTful ?

Maintenant je vous propose qu’on apprenne à en créer une de zéro. Vous allez voir, c’est super simple.

Pour cette démo, j’ai choisi d’utiliser Python comme d’habitude. Et je vais importer dans mon code le framework Flask qui va me permettre de faire monter mon API RESTful très facilement. Installez Flask comme ceci :

pip3 install flask-restful

Pour tester l’API, nous allons utiliser un outil qui permet à la fois de balancer nos requêtes et de voir si les réponses correspondent bien. L’un des plus connus s’appelle Postman et c’est gratuit en version de base pour tester. L’application Desktop de Postman est disponible ici.

Ensuite, nous allons définir ce que va faire notre API. Ce sera quelque chose d’assez simple permettant de créer, supprimer, lire et mettre à jour des données. Admettons que j’ai un site sur lequel je dois référencer des produits. Chacun de ces produits aura un id, un nom, un prix et une catégorie.

Le code de votre première API

Je vais donc créer un fichier productAPI.py et je vais importer Flask comme ceci avec ses imports spécifiques aux API et au parsing JSON :

from flask import Flask
from flask_restful import Resource, Api, reqparse

app = Flask(__name__)
api = Api(app)

Puis je vais créer une espèce de mini base de données JSON directement dans mon code afin d’y référencer mes produits :

products = [
    { "id": 1, "name": "Stylo 4 couleurs", "price": 10, "category": "Papeterie" },
    { "id": 2, "name": "Cahier vert", "price": 20, "category": "Papeterie" },
    { "id": 3, "name": "Télévision 4K", "price": 30, "category": "Tech" },
    { "id": 4, "name": "Souris sans fil", "price": 40, "category": "Tech" },
    { "id": 5, "name": "Ananas", "price": 50, "category": "Alimentaire" },
    { "id": 6, "name": "Kinder Bueno", "price": 60, "category": "Alimentaire" },
    { "id": 7, "name": "Chemise de président", "price": 70, "category": "Textile" },
    { "id": 8, "name": "T-shirt de punk", "price": 80, "category": "Textile" },
    { "id": 9, "name": "Tournevis bleu", "price": 90, "category": "Bricolage" },
    { "id": 10, "name": "Marteau rouge", "price": 100, "category": "Bricolage" }
    ]

Maintenant on va créer une classe Product qui sera vu comme un endpoint au niveau de notre API. Et dans cette class, nous allons placer nos 4 fonctions correspondantes aux 4 verbes HTTP dont je vous ai parlé plus haut.

class Product(Resource):

    def get(self, id):

    def post(self, id):

    def put(self, id):

    def delete(self, id):

La structure de base de notre API est OK. Maintenant, on va définir chacune de ces fonctions en commençant par la fonction get utilisée pour récupérer les informations d’un produit à partir de son ID. Comme vous pouvez le voir, on fait une boucle « for » qui va parcourir l’ensemble des produits et si l’ID correspond à ce qui spécifié dans la requête, on renvoie l’objet « product » avec son code HTTP 200 et si ce n’est pas le cas, on renvoie un message « Produit introuvable » accompagné d’un code d’erreur HTTP 404 qui correspond à une ressource non trouvée.

    def get(self, id):
        for product in products:
            if (id == product["id"]):
                return product, 200
        return "Produit introuvable", 404

La fonction suivante va nous permettre de créer un nouveau produit. La donnée utilisée dans la requête étant structurée en JSON, cette fonction va utiliser le parseur de Flask pour extraire toutes les données du JSON et les ajouter à notre tableau de produits :

    def post(self, id):
        parser = reqparse.RequestParser()
        parser.add_argument("name")
        parser.add_argument("price")
        parser.add_argument("category")
        args = parser.parse_args()

        for product in products:
            if (id == product["id"]):
                return "Ce produit {} existe deja".format(id), 400

        product = {
            "id": id,
            "name": args["name"],
            "price": args["price"],
            "category": args["category"]
        }
        products.append(product)
        return product, 201

Une fois que le produit est créé, on retourne le code 201 qui veut dire que la création s’est bien déroulée. Et si le produit existait déjà avec cet ID, on renvoie le code 400 avec un message d’erreur.

La fonction put suivante est assez similaire puisqu’elle permet à la fois de créer un nouveau produit (si l’id n’est pas encore utilisé) ou de mettre à jour un produit existant.

    def put(self, id):
        parser = reqparse.RequestParser()
        parser.add_argument("name")
        parser.add_argument("price")
        parser.add_argument("category")
        args = parser.parse_args()

        for product in products:
            if (id == product["id"]):
                product["name"] = args["name"]
                product["price"] = args["price"]
                product["category"] = args["category"]
                return product, 200

        product = {
            "id": id,
            "name": args["name"],
            "price": args["price"],
            "category": args["category"]
        }
        products.append(product)
        return product, 201

Enfin, vous l’aurez compris, la fonction delete permettra de supprimer un enregistrement à partir de son ID.

    def delete(self, id):
        global products
        products = [product for product in products if product["id"] != id]
        return "{} is deleted.".format(id), 200

Une fois ces fonctions définies, il ne reste plus qu’à spécifier le format de l’URI qui sera utilisé pour appeler l’API et lancer l’API (en mode debug pour démarrer). Le paramètre <int:id> permet d’indiquer que dans le chemin du endpoint, on peut ajouter une variable acceptée par l’API (ici l’ID du produit).

api.add_resource(Product, "/product/<int:id>")
app.run(debug=True)

Tester l’API avec Postman

Enfin, il ne reste plus qu’à lancer le script python à l’aide de la commande suivante :

python3 productAPI.py

Le serveur web de Flask se lancera alors et vous verrez apparaitre une URL locale que vous pourrez appeler dans Postman pour ensuite tester votre API.

Voici le code complet du script pour information.

from flask import Flask
from flask_restful import Resource, Api, reqparse

app = Flask(__name__)
api = Api(app)

products = [
    { "id": 1, "name": "Stylo 4 couleurs", "price": 10, "category": "Papeterie" },
    { "id": 2, "name": "Cahier vert", "price": 20, "category": "Papeterie" },
    { "id": 3, "name": "Télévision 4K", "price": 30, "category": "Tech" },
    { "id": 4, "name": "Souris sans fil", "price": 40, "category": "Tech" },
    { "id": 5, "name": "Ananas", "price": 50, "category": "Alimentaire" },
    { "id": 6, "name": "Kinder Bueno", "price": 60, "category": "Alimentaire" },
    { "id": 7, "name": "Chemise de président", "price": 70, "category": "Textile" },
    { "id": 8, "name": "T-shirt de punk", "price": 80, "category": "Textile" },
    { "id": 9, "name": "Tournevis bleu", "price": 90, "category": "Bricolage" },
    { "id": 10, "name": "Marteau rouge", "price": 100, "category": "Bricolage" }
    ]

class Product(Resource):
    def get(self, id):
        for product in products:
            if (id == product["id"]):
                return product, 200
        return "Product not found", 404

    def post(self, id):
        parser = reqparse.RequestParser()
        parser.add_argument("name")
        parser.add_argument("price")
        parser.add_argument("category")
        args = parser.parse_args()

        for product in products:
            if (id == product["id"]):
                return "Ce produit {} existe deja".format(id), 400

        product = {
            "id": id,
            "name": args["name"],
            "price": args["price"],
            "category": args["category"]
        }
        products.append(product)
        return product, 201

    def put(self, id):
        parser = reqparse.RequestParser()
        parser.add_argument("name")
        parser.add_argument("price")
        parser.add_argument("category")
        args = parser.parse_args()

        for product in products:
            if (id == product["id"]):
                product["name"] = args["name"]
                product["price"] = args["price"]
                product["category"] = args["category"]
                return product, 200

        product = {
            "id": id,
            "name": args["name"],
            "price": args["price"],
            "category": args["category"]
        }
        products.append(product)
        return product, 201

    def delete(self, id):
        global products
        products = [product for product in products if product["id"] != id]
        return "{} is deleted.".format(id), 200

api.add_resource(Product, "/product/<int:id>")
app.run(debug=True)

Côté Postman, un simple GET se forme ainsi et renvoie l’intégralité du JSON propre au produit (grâce à son ID) :

Pour faire un POST, il faut bien penser à indiquer qu’on souhaite transmettre un contenu de type « RAW » au format JSON et appeler le endpoint avec l’ID de notre nouveau produit (ce n’est pas l’idéal bien sûr, car le principe d’un nouvel ID c’est qu’il soit généré directement par le code de l’API, mais c’est pour illustrer mon exemple).

Ensuite pour la mise à jour avec le verbe PUT, ça donne ça…

Et pour la suppression, on obtient ce genre de retour :

Et ensuite ?

Vous l’aurez compris, ce n’est vraiment pas compliqué à développer. Ici on est sur un exemple simple, mais ensuite, vous devrez pourquoi pas sortir vos données d’une base de données, penser à correctement gérer les erreurs et faire preuve de rigueur dans la structure de vos endpoints. Par exemple, dans mon endpoint, l’URI est xxxx/product/. J’aurais pu faire mieux en respectant la convention et en mettant/products/ au pluriel. Car en cas de GET, je peux aussi demander à récupérer l’ensemble des produits existants. Dans ce cas, je dois modifier ma fonction GET comme ceci :

    def get(self, id):
        if (id == 0):
            return products, 200
        else:
            for product in products:
                if (id == product["id"]):
                    return product, 200
            return "Product not found", 404

Ainsi, en passant l’id 0 lors de mon GET, je récupérerai alors tous les produits.

N’oubliez pas également de documenter l’ensemble de votre API afin de vous y retrouver et surtout d’indiquer à d’autres développeurs, comment l’intégrer. Penchez vous également sur l’aspect HATEOAS pour intégrer les actions disponibles dans les réponses de l’API REST. Pour notre exemple, on pourrait ainsi avoir quelque chose qui ressemble à ça :

"links": [ 
    {"rel": "product", "method":"post", "href":"http://example.org/product/1"},
    {"rel": "product", "method":"put", "href":"http://example.org/product/1"}, ... 
]

Voilà, j’espère que cette petite initiation et explications aux API RESTful vous aura intéressé et donné envie de vous y mettre plus sérieusement. Peut-être changer un peu votre façon de coder, voire carrément changer de job pour trouver une équipe plus agile et plus au fait des pratiques de dev modernes. Et pourquoi pas en profiter pour continuer à évoluer dans les technologies, ou obtenir un meilleur salaire. C’est une démarche qui peut s’avérer assez compliquée, stressante parfois, tant on a envie de trouver un travail qui nous corresponde. On peut souhaiter avoir un travail plus proche de chez soi voire en télétravail complet, un meilleur salaire, une meilleure ambiance au travail, ou même tout ça à la fois (mais ce n’est pas forcément facile à trouver).

Heureusement, talent.io est là pour vous aider. Il vous suffit de créer un compte sur la plateforme talent.io en quelques clics pour ensuite recevoir des offres de la part d’entreprises qui correspondent à vos critères précis et qui affichent un salaire d’entrée de jeu. talent.io est vraiment le moyen le plus simple de trouver son prochain job tech, d’ailleurs les inscrits trouvent leur emploi en 20 jours en moyenne.

Redonnez un visage humain à vos créations Midjourney

21 octobre 2022 à 09:00
Par : Korben

Si comme moi, vous passez vos journées sur Midjourney au détriment de toute productivité et en détruisant à tout jamais les précieuses heures qu’il reste de votre vie tel Frida Kahlo se changeant en NFT, alors j’ai un outil qui devrait vous intéresser.

Vous l’aurez remarqué sur Midjourney mais également Dall-E ou ce genre d’outils d’art (dé)génératif, on peut arriver à d’excellents résultats. Sauf que le plus souvent, les visages font un peu « fake ».

Alors pour remettre de la vie dans vos images, il y a l’algo de ARC qui permet de faire de la restauration de visages. A la base destiné à améliorer de vieilles photos de famille, on peut également s’en servir pour corriger les petites errances de Midjourney ou d’autres, notamment au niveau des yeux.

Prenons par exemple cette image que j’ai créé de Gal Gadot en Viking :

Comme vous pouvez le voir, il y a un petit bug dans son oeil gauche, et un ratage au niveau de sa lèvre supérieure. Pas de souci… Un petit passage dans l’outil de ARC et le tour est joué…

Et voilà ce que ça donne d’un peu plus près ! Pas mal non ?

Bref, de quoi redonner un semblant d’humanité à des images générées par des algos sans foi ni loi.

Slick Inbox – Le Feedly de newsletter

22 octobre 2022 à 09:00
Par : Korben

J’aime bien les newsletters. Ça a quelque chose de rassurant. Quand on sait les choisir, ça permet de recevoir à « domicile » tout ce qu’on aime, un peu comme une Voix Du Nord déposée délicatement sur le paillasson ou un tête avec son créateur de contenu préféré.

Mais le soucis, c’est qu’on est souvent noyé d’emails, et les newsletters passent le plus souvent à la trappe ?

Alors que faire ? Abandonner ce plaisir coupable ? Ou se laisser submerger par le spam ?

Et bien, comme Bob, je vous montre une troisième voie : Celle de Slick Inbox.

Il s’agit d’une application pour Android et iOS qui permet de centraliser toutes vos newsletters. Le concept est simple : Vous vous inscrivez sur Slick Inbox, ainsi vous obtenez une adresse mail en …[email protected]

Puis c’est vigoureusement armé de cette boite mail que vous pouvez aller vous inscrire sur toutes vos newsletters favorites. Slick Inbox reçoit alors les missives électroniques pour les centraliser dans son application !

Et si vous ne connaissez pas de bonnes newsletters auxquelles vous abonner, ne vous inquiétez pas puisque Slick Inbox propose un kiosque avec des tonnes de newsletters classées par catégories : Design, Marketing, Développement Personnel, Technologie, Jeux Vidéos, Musique, Développement, Finance et j’en passe…

Ainsi l’application vous permet également de recevoir des motifs, de mettre en favori certaines newsletters, mais également d’archiver ce que vous voulez…etc.

Bref, un nouveau moyen bien pratique pour conjuguer ce moyen de communication archaïque qu’est la newsletter avec nos vies trépidantes d’hommes et de femmes modernes qui n’ont pas de temps à perdre avec leur boite mail (genre moi).

ps : Je crois également que Feedly fait ça aussi.

PixelFed – Le clone fédéré d’Instagram

23 octobre 2022 à 09:00
Par : Korben

Vous adorer le concept d’Instagram, partager de jolies photos et recueillir de gentils commentaires. Seulement voilà, Instagram c’est Facebook et Facebook c’est comme Satan pour baby-boomers.

Alors si votre but c’est de simplement mettre en ligne de jolies photos et que vous abandonnez le côté « Je vais faire grossir ma communauté pour vivre de ma passion », il existe une alternative libre et open source qui va vous plaire.

Il s’agit de PixelFed qui n’est ni plus ni moins qu’un clone web d’Instagram permettant de partager vos photos de manière fédérée (via le Fediverse) avec d’autres outils comme Mastodon, Nextcloud ou encore Peertube. L’astuce c’est que vous pouvez installer votre propre instance sur votre propre serveur et ainsi ne dépendre d’aucune société pour le stockage et la modération de vos photos. Toutes les instances étant liées les unes aux autres, chaque utilisateur peut via son instance accéder à l’ensemble des photos de son instance et de toutes les autres instances.

L’outil permet ainsi de présenter les timelines des inscrits au service, mais également d’explorer le contenu d’autres créateurs. Comme on reste dans l’esprit Instagram, PixelFed met également à disposition une série de filtres que vous pourrez appliquer sur vos images et même si ça va de soi, l’outil est conçu pour respecter votre vie privée et n’embarque aucun tracker.

Si ça vous chauffe d’essayer, il y a une liste d’instances ici et si vous voulez l’installer sur une machine, c’est par ici que ça se passe.

Créez des animations facilement avec Motionity

24 octobre 2022 à 09:00
Par : Korben

Vous aimez créer des trucs avec votre ordinateur et vous avez besoin de faire une petite animation pour le boulot ou simplement faire marrer les copains (ou tout Twitter) et bien sûr l’exporter en vidéo ou en Gif animé ?

Seulement voilà, la flemme d’installer un gros logiciel et surtout la flemme de vous former à ce logiciel. Et bien ça tombe bien car le site Motionity va vous permettre d’arriver à vos fins facilement.

Ce site vous permet de créer des animations à partir d’images, de texte, de vidéos et même des objets basiques (carrés, cercles, étoiles…etc) ou des emojis. Une fois votre objet placé, une timeline est créée et vous allez pouvoir faire évoluer cet objet tout au long de votre timeline.

Ainsi, vous pouvez le faire changer de position, de taille, d’angle, d’opacité, d’ombre, et si vous intégrez du texte, vous pouvez même l’animer.

Tout se passe au travers du navigateur et bien sûr pour sublimer le tout, vous pouvez même rajouter un peu de musique.

Ensuite, y’a plus qu’à exporter en vidéo ou Gif animé.

Si ce site vous intéresse, vous pouvez cliquer ici et les explications (en anglais) sont là.

Guide d’achat : Quel est le meilleur clavier gamer ? Janvier 2023?

Une configuration PC gaming complète s’accompagne nécessairement d’un clavier performant. Quel que soit votre critère, largeur du clavier, contacteurs silencieux ou modèle mécaniques, notre guide vous guidera pour que vous puissiez faire le meilleur choix.

razer-blackwidow-elite-gallery-04

full

razer-blackwidow-elite-gallery-04

thumbnail

Copy Dialog Lunar Lander – Pour s’amuser discrètement au boulot

25 octobre 2022 à 09:00
Par : Korben

Vous êtes au boulot et vous avez des tonnes de fichiers à copier sous Windows… Et ça prend du temps…

… C’est super long …

… Mais vous ne pouvez rien faire à part regarder cette jolie barre verte …

Mais en êtes-vous bien sûr ?

Avec ce projet disponible sur Github, vous allez pouvoir copier vos fichiers tout en vous amusant. Le projet consiste à intégrer à la fenêtre de copie un clone de « Luna Lander »

Le graphique représentant le volume de la copie sera utilisé comme un paysage escarpé dans lequel vous devrez atterrir avec votre module lunaire. Autant dire qu’il y a autant de niveaux que de fichiers à copier. Et différents paysages sont disponibles. En vert, c’est une copie de fichier classique, mais si vous mettez la copie en pause, vous irez dans la version désertique.

Pour faire tourner le jeu, vous aurez besoin de minimum Windows 10.

Bonne idée en tout cas 🙂

Le binaire est téléchargeable ici.

Comment tout retrouver grâce à Curiosity ?

26 octobre 2022 à 09:00
Par : Korben

Je ne sais pas si vous vous souvenez de Google Desktop, mais au fond de mon petit coeur, je suis sûr que oui. C’était un freeware mis au point par Google qui permettait de rechercher des fichiers sur son ordinateur à la vitesse de l’éclair.

C’était un genre de moteur de recherche Google, mais 100% local. Google Desktop créé en fait une base de données de tous les fichiers présents sur le PC, ce qui permettait ensuite de rapidement retrouver n’importe quel fichier à partir de n’importe quel mot clé.

C’était vraiment cool surtout pour les gens bordéliques comme moi. Puis un jour, les systèmes d’exploitation comme Windows ou macOS ont intégré cette fonctionnalité.

Et bien si vous êtes un peu nostalgique de cet outil, je vous présente Curiosity qui reprend un peu le concept, à savoir vous permettre de faire des recherches rapides dans vos fichiers, emails et applications, mais également dans l’ensemble de vos services Cloud : Google Drive, Slack, Outlook, pCloud, Teams, Box, Notion, Github, Linkedin, Twitter et j’en passe.

Une fois installé, Curiosity s’appelle avec un raccourci clavier ⌥ + Espace et vous n’avez plus qu’à entrer les mots clés de ce que vous cherchez.

Ainsi, plus rien ne vous échappera. Ni un rendez-vous dans votre calendrier, ni un email, et encore moins un fichier ou une application enfouie au fond de votre disque dur. Enfin, rassurez-vous, tout ce que Curiosity collecte comme donnée (y compris ce qu'(il y sur vos services de cloud) est indexé uniquement en local sur votre machine. De leur côté, ils ne collectent rien.

Le service est gratuit jusqu’à 5 services cloud connectés, mais si vous en voulez plus, notamment la recherche dans le contenu des fichiers, il faudra mettre la main au portefeuille.

Dispo sous Windows, MacOS et Linux.

Comment créer des check-lists, des plannings et des trackers d’habitudes super facilement

27 octobre 2022 à 09:00
Par : Korben

Je ne sais pas où vous en êtes dans votre cheminement personnel, mais si vous êtes en plein dans votre phase « Développement Personnel », je suis certain que cet article va vous plaire.

En effet, un des grands principes du développement personnel et plus généralement de la productivité et/ou de l’organisation, c’est de créer des checklists pour à peu près tout et n’importe quoi. Les 20 trucs à faire avant de mourir, les 10 destinations de rêve où vous voulez aller, la liste de trucs à faire pour diminuer son stress, les bonnes résolutions pour 2022 ou plus triviales, un planning de remise en forme, un papier pour penser à boire de l’eau plusieurs fois par jour ou encore une checklist spéciale ménage dans l’appart ou la maison, histoire de ne rien oublier.

Bref, de la checklist et du traqueur d’habitude / planning à gogo !

Mais si vous ne savez pas comment créer ces merveilleuses listes, il y a le site Cheqmark qui peut vous y aider avec des dizaines de modèles que vous pouvez adapter à votre convenance. Non seulement vous y mettez le contenu que vous voulez, mais vous pouvez également personnaliser leur apparence.

Et une fois que c’est fait, y’a plus qu’à les exporter en PDF ou les imprimer. Et si vous êtes un de ces gourous du développement personnel, ça fera encore plus de trucs cools à proposer en téléchargement à vos adeptes dans le flou.

Amusez-vous bien !

Enfin un Alt Tab digne de ce nom sous macOS !

28 octobre 2022 à 09:00
Par : Korben

Tous les gens sous Windows vous le confirmeront : Le truc le plus cool sous Windows, c’est sa fonctionnalité Alt Tab qui permet de switcher entre les applications.

D’ailleurs, les gens sous Linux, mais surtout sous macOS ragent beaucoup lorsqu’ils découvrent que sur leur nouveau Macbook M2 à 9 999 milliards d’euros, le Alt Tab est tout moisi (et qu’on peut brancher qu’un seul écran max).

Bref, ça tombe bien, je vais vous consoler les gens sous macOS puisque je vous présente AltTab, une application qui amène sous macOS, toute la puissance de l’Alt Tab Windowsien.

Une fois installée, vous pourrez switcher d’application rapidement, mais surtout effectuer différentes actions comme minimiser, fermer ou passer en plein écran n’importe quelle fenêtre. Il vous sera également possible très facilement de masquer ou quitter l’application de votre choix.

Vous pourrez aussi personnaliser l’apparence des fenêtres pour afficher par exemple des vignettes, des titres, des numéros…etc. Et si vous ne voulez pas que certaines applications apparaissent dans la liste du Alt Tab, vous pouvez les mettre en liste de blocage.

Le plus magique là-dedans, c’est que vous pourrez même glisser-déposer des fichiers directement sur les vignettes des fenêtres.

C’est fou autant de bonheur dans une si petite application. Bref, si ça vous dit d’essayer, c’est libre et disponible ici.

Bon plan : Surfshark à quasi 2 €/mois pour le Black Friday 2022

28 octobre 2022 à 09:11
Par : Korben

Surfshark VPN

— En partenariat avec Surfshark

Depuis le temps vous devez savoir ce qu’est le Black Friday non ? La grande messe commerciale qui se tient le lendemain de Thanksgiving aux USA et durant laquelle les commerçants de tous poils font des rabais assez imposants. Très logiquement ces « soldes » avant l’heure se sont propagées au web et sont souvent l’occasion pour les boites Tech de proposer des tarifs intéressants, avec en tête de liste les VPNs. Cette année la promo Black Friday de Surfshark a lieu du 27 octobre au 27 novembre 2022.

Interface Surfshark

Surfshark, partenaire de longue date de korben.info (merci à eux !), ne déroge pas à la règle et vous propose chaque année des prix vraiment bluffants et qui valent le détour. Cette année par exemple vous pourrez bénéficier d’un tarif de 2.05 $ par mois (soit environ 2.05 €) sur un abonnement de 2 ans (24 mois) avec 2 mois offerts.

Je n’ai aucun mal à vous recommander Surfshark en tant que solution VPN à utiliser. Pas parce qu’ils sont partenaires, mais parce que la boite est l’une des plus sérieuses depuis son lancement en 2018. Et ne prenez pas mon avis comme argent comptant, je ne suis pas le seul à le dire. Encore dernièrement ils ont par exemple été récompensés lors de la 6e CyberSecurity Breakthrough Awards grâce à leur solution Nexus, reconnue comme étant la meilleure solution VPN du marché.

Surfshark Black Friday 2022

Toute la boite à outils pour protéger votre vie privée en ligne est bien entendu toujours présente. On ne change pas des fondations solides qui ont fait leurs preuves. Cela inclus de : 

  • cacher votre adresse IP (+ rotation régulière)
  • ne pas conserver de traces de votre activité en ligne
  • contourner la censure et les contenus géolimités
  • chiffrer vos informations de bout en bout (algo AES-256-GCM)
  • protection de votre identité
  • bloquer les publicités, cookies & co
  • se protéger des logiciels malveillants
  • protéger vos connexions sur les Wi-Fi publics
  • fonctionnalité Bypasser (leur fonction de split tunneling)

Toutes les fonctionnalités classiques sont de la partie. Et parmi les dernières nouveautés du service, on note qu’ils ont dorénavant un parc de plus de 3200 serveurs répartis dans plus de 100 pays différents ! Les nouveaux pays sont le Ghana, l’Arabie Saoudite et Puerto Rico.

L’interface pour Linux (souvent le parent pauvre des OS) a récemment été retravaillée pour plus de lisibilité et voit l’ajout d’un bouton Kill Switch plutôt pratique. Le mode camouflage est, lui aussi, toujours de la partie. Pour rappel c’est un mode assez sympa qui permet de cacher même à votre fournisseur d’accès Internet que vous utiliser un VPN.

Surfshark dans 100 pays
source : blog Surfshark

Cerise sur la tarte le nombre d’appareils qui peuvent être connectés sur un compte est … illimité. Ordinateur fixe/portable, téléphones perso et pro, téléviseur intelligent, Google Home ou Alexa, routeur … tout est couvert ! Que ces appareils tournent sur Windows, Linux, macOS, Android, iOS, s’utilisent via un navigateur web ou via une console (Xbox ou PlayStation) n’est pas un souci.

Mais si vous voulez jeter un oeil du côté des options payantes (et facultatives) il y a aussi de quoi faire. Un moteur de recherche (Surfshark Search) qui vous permet d’obtenir des résultats non traqués et impartiaux (pas des résultats faussés par votre historique et vos recherches précédentes). Un système de surveillance (Surfshark Alerts) qui permet d’être alerté si certaines de vos informations personnelles sont divulguées. Ou encore un antivirus (plus de détails dans mon article Antivirus Surfshark). Le pack des 3 est dispo pour 1.5€/mois.

Bon à savoir : le prix affiché est de 2.22 $ (ou 2.25 €), mais au paiement ce sera ramené vers le bas autour de 2.05 € (selon le taux de change du jour, pas merci à l’€ de se faire défoncer depuis quelques mois). Peut-être pas forcément le meilleur moment, mais le paiement par crypto est toujours présent.

Dans tous les cas, vous pouvez y aller sans sourciller de l’arcade. Moins de 64 € pour être protégé durant 2 ans ? … par une des références du domaine en termes de sécu ? … et pour toute la famille ? À part une dinde et des marrons, je ne vois pas ce qu’ils pourraient faire de plus 😉

Notez que si vous souhaitez également profiter du pack VPN + Antivirus + Alert + Search, ça vous coutera un peu plus de 110 € pour 2 ans avec la promo de -84%.

Profiter du Black Friday 2022 avec Surfshark

Distrobox – Faites appel à n’importe quelle distribution Linux depuis votre terminal

29 octobre 2022 à 09:00
Par : Korben

Distrobox est un excellent projet qui va vous permettre d’utiliser n’importe quel distrib Linux directement depuis votre terminal Linux.

Fonctionnant à l’aide de Podman ou Docker, Distrobox se charge tout simplement de créer et lancer un contenant de la release Linux de votre choix. Vous pourrez ainsi (et c’est un exemple) jouer avec Fedora, openSUSE, Alpine Linux, Rocky Linux… etc. sans quitter votre Debian ou Ubuntu.

Pour installer Distrobox, il suffit d’utiliser le gestionnaire de paquet de votre distrib et d’invoquer le paquet « distrobox » (La liste des distribs est ici). Autrement, cela peut se régler avec un petit coup de curl (c’est sale) :

curl -s https://raw.githubusercontent.com/89luca89/distrobox/main/install | sudo sh

Ensuite, y’a plus qu’à créer votre distrib avec la commande suivie du paramètre –image pour spécifier la distrib.

distrobox create --image alpine my-alpine-container

D’autres paramètres permettent également de partager des répertoires entre le système hôte et le Linux installé ou de lui passer des variables d’environnement. Les habitués à Docker ne seront pas dépaysés.

Ensuite pour se connecter au conteneur :

distrobox-enter my-alpine-container -- sh -l

D’autres commandes sont également disponibles dans la documentation que je vous invite à lire. Quoiqu’il en soit, ça donne un petit goût de WSL au pays de Linux (même si ce n’est pas du tout la même chose techniquement).

Distrobox est à découvrir ici.

FutureCoder – Des cours en ligne gratuits pour apprendre à coder en Python

30 octobre 2022 à 17:58
Par : Korben

J’adorerai coder les yeux fermés, mais j’ai toujours manqué de temps pour ça. Toutefois, quand l’envie me prend d’automatiser un petit bout de mon travail, je fais du Python. C’est simple, c’est rapide et il y a énormément de ressources en ligne et de bibliothèques. C’est un jeu d’enfant.

Je vous encourage d’ailleurs à vous y mettre, même si vous n’avez jamais développé de votre vie. Je suis certain que ça peut vous plaire. En tout cas, vous ressentirez la satisfaction du défi personnel relevé, c’est certain !

Il existe énormément de cours un peu partout en ligne pour que chacun puisse se former et je vous présente aujourd’hui FutureCoder, un projet libre dispo sur Github qui va vous permettre d’apprendre par vous-même la programmation en Python. FutureCoder se compose de cours 100% gratuits et interactifs, pensés pour les débutants et imaginés pour vous passionner et ne pas vous frustrer. Ainsi vous évoluerez dans les leçons, de vos premières variables, à vos premières boucles, en passant par la gestion des listes, ou la définition de vos premières fonctions pour au final déboucher sur un projet ludique de création d’un Morpion.

On est vraiment sur le BA-ba et l’enchainement des cours est conçu pour vous permettre d’apprendre à résoudre des problèmes en Python.

Bref, c’est génial ! Et comme c’est open source, j’imagine que chacun pourra s’approprier le script pour pourquoi pas étendre ces leçons de base à des cours plus complexes pour les codeurs plus confirmés.

En tout cas, c’est super cool ! FutureCoder est dispo en anglais et en français et je vous encourage vraiment à tenter l’aventure !

❌