Comment créer un site professionnel en 2025 sans écrire une seule ligne de code

 

Créer un site web n’a jamais été aussi simple

Jadis on ne peut pas créer un site web sans maîtriser le HTML, le CSS et parfois même le PHP.
Mais en 2025, les choses ont radicalement changé.
Grâce aux outils no-code (ou Constructeurs de sites web visuels), n’importe qui peut lancer un site professionnel — portfolio, boutique, blog ou site vitrine — sans jamais toucher au code.
Et le plus beau : certains de ces outils sont gratuits ou très abordables.

Dans cet article, Filtrenet.com t’explique comment construire un site moderne, rapide et design, même si tu n’as aucune expérience technique.

 

1. Le “no-code” : L’évolution silencieuse du numérique

Le mouvement no-code a explosé ces dernières années.
Son principe : permettre à tous de créer des sites, des apps et des automatisations à l’aide d’interfaces visuelles et de modèles prêts à l’emploi. (il y’en a des gratuits et des payantes )

Résultat : plus besoin de développeur, plus de délais interminables — tu construis ton site en quelques heures.
Et avec les IA génératives intégrées (Intelligences artificielles de génération de contenu), la création devient encore plus rapide : tu décris ton idée, et l’outil fait le reste.

 


2. Les outils incontournables pour lancer ton site sans coder

🟦 I . Framer (framer.com)

L’un des outils les plus élégants du moment.
Framer permet de concevoir des sites ultra modernes, avec des animations fluides et une mise en page pixel-perfect.
Tu écris une simple description (Par exemple :“site portfolio pour photographe minimaliste”) et l’IA de Framer te produit un parfait design complet, et c’est idéal pour les freelances, designers, et créateurs de contenu.

Cette plateforme est divisé en celle gratuite et celle payante ( Basique , Pro et Pro de niveau supérieur )

 

🟪 II . Durable.co

L’outil parfait pour les entrepreneurs pressés pour créer des sites web professionnels en moins d’une minute.
Durable te crée un site professionnel complet en 30 secondes grâce à l’intelligence artificielle.
Tu ajoutes ton logo, ton activité, et c’est prêt.
Le résultat est moderne, responsive et optimisé SEO, c’est un outil  idéal pour les indépendants, les entrepreneurs et les services locaux.

 

🟩 III. Notion Sites / Super.so

Si tu utilises déjà Notion, tu peux transformer tes pages en un site public avec des templates et ton propre nom de domaine.
C’est minimaliste, rapide et très simple à mettre à jour. Il est excellent pour les portfolios, blogs, et les CV en ligne.

 

🟧 IV . Webflow

L’un des pionniers du no-code.
Webflow combine design visuel et puissance technique : tu contrôles les animations, le SEO et la structure du site sans écrire une ligne de code, c’est une plateforme qui permet de concevoir, publier et héberger des sites professionnels depuis un éditeur graphique. Elle est excellente pour les agences, les créatifs et les startups.

 

🟨 V . Wix AI Website Builder

L’outil classique, mais désormais boosté par l’intelligence artificielle.
Tu réponds à quelques questions, et Wix te génère un site complet avec design, textes et images en quelques minutes. Une fois terminé tu peux ajuster librement certains détails comme le thème , la mise en page et le contenu de ton nouveau site. L’outil est impeccable pour les débutants absolus et les boutiques en ligne.

 

3. Les IA qui accélèrent la création

En 2025, les outils d’intelligence artificielle sont devenus des assistants créatifs indispensables.
Voici quelques-uns que vous devez connaitre :

  • Leonardo AI / Ideogram : pour créer des visuels cohérents avec ton thème.
  • ChatGPT ou Gemini : pour rédiger les textes de ton site.
  • Durable AI : pour tout faire en une seule étape.

Un petit conseil : pour obtenir un site complet en moins de 2 heures , combine un outil no-code avec une IA de génération de contenu.

 

4. Comment lancer ton site web dès maintenant, étape par étape

  1. Choisis ta niche → (blog, portfolio, boutique, etc.)
  2. Sélectionne ton outil no-code (Framer, Wix, Durable, etc.)
  3. Génère ton contenu avec ChatGPT ou une IA intégrée.
  4. Configure ton design avec tes couleurs et ton logo.
  5. Publie ton site et connecte ton nom de domaine.

Et voilà , enfin  ton site est en ligne, sans code, sans développeur, et prêt à accueillir tes visiteurs.

 

 5. SEO et performance : deux piliers à ne pas négliger

Même avec un outil no-code, ton site doit être :

  • rapide à charger (évite les images trop lourdes)
  • optimisé pour le référencement (titres, balises, mots-clés)
  • mobile friendly (design responsive)

Heureusement, la plupart des plateformes comme Framer ou Webflow gèrent déjà ces aspects automatiquement.

 

Conclusion : en 2025, la réussite passe par la simplicité

Créer un site professionnel n’est plus réservé aux développeurs.
Les outils no-code ont démocratisé la création web, que tu sois freelance, créateur de contenu, commerçant ou blogueur, tu peux désormais avoir ton propre site en quelques clics.

Le plus difficile maintenant, ce n’est plus de coder … mais simplement de commencer.

 

-----------------------------------------------------------------------------------------------------------

Rédigé par l'auteur du Filtrenet.com

Sur Filtrenet.com, nous partageons souvent des guides, outils et astuces pour t’aider à tirer le meilleur du web, de l’IA et des technologies créatives.
🔗 Découvre d’autres articles sur : https://filtrenet.com

 

PHP: Introduction, utilisations et caractéristiques

Je vous propose aujourd'hui, un intéressant article sur PHP, je vais le diviser en 3 parties: 

 I- Introduction: 

 PHP, qui est l'acronyme de "Hypertext Processor (PHP)" est un langage de de programmation qui permet aux professionnels (développeurs) de créer un contenu dynamique qui interagit avec les bases de données, pour une définition plus précise cliquez sur PHP. PHP est utilisé surtout pour développer des applications web logicielles. 

 Le début du PHP était un petit projet open source qui a évolué au fur et à mesure que les internautes s'y intéressent. 

 Les points clés du PHP: 

 #- PHP est un acronyme alternatif du "PHP: Hypertext Processor". 

 #- Côté serveur, PHP est un langage de script qui s’intègre au HTML.Il est utilisé pour administrer le contenu dynamique, le suivi des sessions,gérer les bases de données, et aussi créer des sites e-commerce complets. 

 #- Il peut etre intégré à un certains types de bases de données populaires comme MySQL, Sybase, PostgreSQL, Informix, Microsoft SQL Server et Oracle. 

 #- L'exécution du PHP est compilé comme un module Apache du côté Unix.Une fois démarré,le serveur MySQL exécute aussi des requêtes très complexes avec des grands ensembles de résultats en un temps bref. 

 #- PHP prend en charge un grand nombre de protocoles fondamentales comme IMAP, LDAP et POP3.A savoir que PHP4 a ajouté la prise en charge de Java et de l'informatique distribuée (CORBA et COM). 

 II- Utilisations du PHP: 

 PHP est maintenant devenu un langage de script le plus populaire chez la majorité des développeurs Web, cette popularité est due à plusieurs raisons: 

 #- PHP exécute des fonctions système, c'est-à-dire à partir de fichiers qui existent dans un système, il peut les créer,les écrire,les lire, les ouvrir et les fermer. 

 #- Vous pouvez modifier,supprimer,ajouter des éléments dans votre base de données via PHP. 

 #- vous pouvez toujours restreindre l'accès des utilisateurs à certaines pages de votre site Web grace à PHP. 

 #- PHP peut gérer des formulaires, cela veut dire qu'il peut enregistrer des données dans un fichier ou collecter des données à partir de fichiers, vous pouvez aussi envoyer des données ou les renvoyer à l'utilisateur via un e-mail. 

 #- Les données peuvent être cryptées via PHP. 

 #- Vous pouvez aussi accéder aux variables des cookies comme vous pouvez les définir. 

 III- Les caractéristiques du PHP: 

 Il existe 5 caractéristiques qui rendent possible la pratique normale du PHP: 

 Simplicité-flexibilité-Sécurité-Efficacité-Familiarité. 

 Un exemple simple du PHP: Script "Salut tout le monde" en PHP: Pour avoir une petite idée sur ce que c'est PHP, essayez d'utiliser les scripts PHP simples.Maintenant, nous allons créer un petit script du "Salut tout le monde".Sachant que PHP est intégrable au HTML, vous pouvez trouver des instructions PHP intégrées dans du HTML normal ou dans XHTML.Le résultat est le suivant: 

 <html>

   <head>
      <title>Hello World</title>
   </head>
      
   <body>
      <?php echo "Salut, tout le monde!";?>
   </body>
      
</html>
Le résultat sera le suivant:

Salut, tout le monde! 

Si vous constatez l'exemple ci-dessus, vous allez voir que le code PHP est totalement absent dans le résultat affiché. C'est à dire que tout le code PHP présent dans la page Web est traité puis supprimé de cette page; la seule chose renvoyée et affichée au client par le serveur Web est la sortie HTML pure. A savoir que la totalité du code PHP doit être inclus dans l'une des trois balises spéciales de balisage ,ces dernières sont reconnues par l'analyseur PHP.

<?php PHP code goes here ?>
<?    PHP code goes here ?>
<script language="php"> PHP code goes here </script>

Comment créer un fichier à partir d'une ligne de commande

Avant de commencer je me rappelle que j'avais déjà posté un article concernant quelques commandes sur le réseau : "10 commandes utiles de réseau que vous devez connaître" . 

Aujourd'hui je vous propose autre option de commandes, il s'agit de création de fichier, comment les créer donc?!
 D'abord, On peut créer ces fichiers de deux façons; la première consiste à utiliser la commande fsutil, la deuxième utilise la commande echo

Donc si vous voulez écrire certaines données dans un fichier, utilisez la commande echo, mais si vous souhaitez tout simplement créer un fichier d'une taille spécifique (sans tenir compte du data qui s'y trouve) utiliser la commande fsutil

 Commençons alors:

 Créer un fichier grace à la commande "echo": 

 echo some-text > filename.txt 

 exemple:
 
C:\>echo This is a sample text file > sample.txt 
C:\>type sample.txt 
This is a sample text file 
C:\>

Créer un fichier grace à la commande "fsutil": 

fsutil file createnew filename number_of_bytes

exemple:

C:\data>fsutil file createnew sample2.txt 2000 
File C:\data\sample2.txt is created 
C:\data>dir 
02/01/2019 01:14 PM 2,000 sample2.txt 
C:\data>

Limites :

La commande fsutil peut être utilisée seulement par les administrateurs.

c:\>fsutil file /? 
The FSUTIL utility requires that you have administrative privileges. 
c:\>

Comment démarquez-vous sur les réseaux sociaux en utilisant l'Unicode

Voici une petite astuce pour surprendre un de vos amis en transformant un texte dans votre bio instagram ou Twitter par exemple. 

 Il s'agit d'un site nommé CoolSymbol, il vous propose des émotions en textes, des codes ASCII ou des picto unicode.Donc cet outil est surnommé "Cool Fancy Text Generator".Il vous suffit d'y insérer un texte pour avoir plusieurs styles de textes, puis vous allez copier-coller celui qui vous convient. 
 Vous pouvez jouer avec ces styles et d'en choisir par exemple un difficile à lire, ou avec des petites décorations et le poster sur votre profil Facebook, Instagram ou Twitter. Comme vous le constatez en haut du site, l'outil vous généré des Fonts pour Instagram, Facebook, WhatsApp, Twitter, Snapchat, Tiktok ou autres... 
 Bien sur n'utilisez pas tout votre contenu texte pour ne pas affecter votre SEO ;). 
 Pour accéder au site je vous donne le lien ici CoolSymbol 

Nodes.io: Créez votre idée en ligne et visuellement

Dans cet article, je vous présente un outil qui peut etre intéressant pour tous les développeurs, c'est le Nodes . 
 Il s'agit d'un outil développée par une certaine société nommée Variable.io et fonctionne sous divers systèmes d'exploitation connus: Windows, Linux et macOS. Grace à Nodes.io, vous pouvez pratiquer du JavaScript visuellement en utilisant les technos web et via aussi un système appelé NPM. 

 L'idée de ce projet est de connecter les blocs de fonction entre eux avec l'observation de nos yeux sur ce qui passe à l'écran en temps réel. L'opération se fait en modifiant les paramètres à la souris. 

 L'outil présente un ensemble de blocs à interconnecter où se présentent aussi les déclencheurs et les paramètres. 
 Si vous êtes intéressé au mind-mapping, je vous cette solution avec une imagination arborescente virtuelle, enfin c'est un moyen très efficace pour les débutants qui aiment le JavaScript du fait que le résultat d'un test s'affiche synchroniquement avec votre travail, à savoir aussi que le résultat est exportable. 

Clipboard Checker: Face à des insertions JavaScript astucieuses visant votre presse papier

Si vous surfez souvent sur la toile, vous risquez d'infecter votre PC via des sites malicieux. Dans certains cas, il peuvent toucher aussi votre presse papier .
 
Imaginez par exemple si vous faites une transaction infectée pour payez quelqu'un en BITCOIN. C'est pourquoi les pentesteurs utilisent certains codes comme celui ci

 Pour rester donc à l'écart des contenus malicieux et dangereux, il existe une intéressante extension chrome qui fouille tous les textes copiés via votre navigateur afin de vous alerter s'il existe un contenu suspect. Cette extension fait une comparaison entre ce qui est déjà dans votre presse papier et ce qu'on a sélectionné sur une certaine page web. 

 Voici une petite idée en vidéo à quoi ressemble Clipboard  Checker:

SingleFile: Une extension pour sauvegarder une page web complète

Une page web complète est sa structure générale technique, elle est constitué d'un document rédigé en Hypertext Markup Language (HTML) comme structure de base, de feuilles de style en cascade (CSS), d'images, et de JavaScript. Pour plus d'informations, consultez les liens suivants: Page web 1 et Page web 2 

 L'outil SingleFile est une extension très intéressant du fait qu'il peut sauvegarder une page web que vous etes entrain de voir en y intégrant tout les CSS, les images...etc. C'est à dire avec toutes les ressources possibles connues d'une page web consultable sous internet mais sans aller aux autres liens externes. SingleFile vous permet aussi de faire une mise en page. 

 SingleFile vous offre plusieurs options comme la conservation aux choix d'une page web affichée, des liens sélectionnés, certains de vos onglets ouverts, l'enregistrement automatique de certaines page web dans l'historique, l'annotation d'un page web de votre choix avec vos remarques. 
 L'utilisation de SingleFile se fait par une ligne de commande, vous pouvez l'interfacer par des userscripts. C'est un outil très pratique pour ceux qui aiment sauvegarder des archives.
Vous avez la possibilité d'avoir un certificat de sauvegarde grace à Woolet . 

 Suivez ces liens pour l'installation du SingleFile (Selon les navigateurs):
  


Comment trouver des e-mails d'un temps précis dans Gmail

C'est un autre article technique à propos des emails hébergés par gmail. Vous allez y découvrir la façon de recherche par laps de temps les e-mails qui ont été envoyés ou reçus à une date et à un temps spécifique. 
 Gmail prend en charge plusieurs opérateurs concernant la recherche afin de vous aider à trouver rapidement un certain message électronique englouti dans votre boite de messagerie électronique. Il y a l'opérateur de recherche de taille comme: "like larger_than:5mb" pour trouver les gros messages de votre compte qui sont supérieurs à 5mb. 

Il y a aussi l'opérateur de recherche de fichiers comme: "has:attachment filename:doc" qui va vous livrer les messages électroniques contenant des pièces jointes spécifiques, dans ce cas les fichiers de type word. 

 Le graphique suivant vous montre la plus part des opérateurs de recherche Gmail connus et qui fonctionnent soit sur la version mobile ou web du site Gmail. 
La Recherche en utilisant l'option du temps dans Gmail: 

Cette recherche vous permet de localiser les e-mails envoyés ou reçus pendant une période donnée. Voici quelques exemples: 

 newer_than:7d from:me : Les E-mails envoyés au cours des 7 derniers jours. 
 after:2020/10/4 before:2020/10/29 from:uber : E-mails d'Uber reçus entre le 4 et le 29 octobre. 
 newer_than:60d older_than:30d : Tous les e-mails reçus au cours des 30 derniers jours. 

 A savoir que la date cherchée dans gmail elle meme est spécifiée au format AAAA / MM / JJ.

 La Rechercher des e-mails par un temps précis dans Gmail: 

 Gmail prend en charge une option de recherche temporelle qui vous permet de trouver les e-mails envoyés ou reçus pendant une heure, une minute ou une seconde spécifiques. Par exemple, on peut limiter notre recherche Gmail aux e-mails reçus entre le 10 octobre 20 h 15 et le 10 octobre 2020 20 h 45 
 Pour commencer, convertissez la date et l'heure en en secondes en utilisant le service Epoch Converter, puis utilisez l'horodatage avec l'opérateur de recherche standard "after" ou "before" de Gmail.
Donc vous devez convertir le temps en secondes pour chercher ces emails durant ce le laps de temps en secondes aussi. 

 Par exemple, l'heure du 10 octobre 20h30 est 1602774000 en utilisant le service, et celle du 10 octobre 20h45 est 1602774900. Utilisez la requête de recherche "after:1602774000 before:1602774900 to:me" dans Gmail et vous obtiendrez une liste de tous les e-mails reçus pendant cette période de 15 minutes, c.à.d de 900 secondes. 

 Epoch Time est le nombre de secondes qui se sont écoulées depuis le 1er janvier 1970 (UTC).Il est calculé par plusieurs services comme Epoch Converter ...etc. Utilisez donc le convertisseur Epoch pour représenter une date et une heure lisibles par l'homme dans Epoch et utilisez les avec l'opérateur de recherche "before" ou "after" de Gmail pour trouver cet e-mail caché. 

 La Recherche par date et par temps en utilisant Google Script: 

 Il s'agit d'un code qui peut vous aider à automatiser votre recherche Gmail par temps grace à l'API de gmail. Cela va récupérer tous les e-mails reçus entre 13h25 et 13h40.:

const emailReceived = () => {
  const secondsSinceEpoch = (date) => Math.floor(date.getTime() / 1000);
  const after = new Date();
  const before = new Date();
  after.setHours(13, 25, 0, 0);
  before.setHours(13, 40, 0, 0);
  const query = `after:${secondsSinceEpoch(after)} before:${secondsSinceEpoch(
    before
  )}`;
  const messages = Gmail.Users.Messages.list('me', {
    q: query,
  });
  Logger.log(messages);
};

Comment intégrer un code-barres et un code QR dans les notifications Google Forms

Cet intéressant tuto va vous expliquer la technique d'intégration des codes QR dynamiques et des images sous forme de codes-barres dans les e-mails destinés à être envoyés à partir Google Forms.Au cour de cette technique, les propriétés comme la taille, la couleur...etc de ces codes sont facilement éditables. 
 Le module complémentaire Notifications de Google formulaire , vous permet d'envoyer automatiquement des réponses Google Form de l'e-mail à un ou plusieurs destinataires.Les notifications par e-mail sont envoyées au moment où votre formulaire reçoit une nouvelle soumission. 

 La version à jour du module Google Formulaire inclut la prise en charge des symboles QR Code et Barcode que vous pouvez par la suite les insérer dans les e-mails.Les images peuvent être générées à partir d'un texte statique ou vous pouvez créer celles dynamiques basées sur les réponses imposées par l'utilisateur. 

 Alors, voici comment ajouter les images QR Code dans les messages électroniques: 

 D'abord, il faut savoir que la syntaxe de base pour ajouter des images QR Code dans les e-mails est la suivante:

 =QRCODE(Your Text Goes Here) 

 Vous avez la possibilité de personnaliser les couleurs et la taille de l'image du code QR en y ajoutant des paires key-value dans la fonction "QRCODE". 

 Exemple
Dans le cas où le QRCode avec un arrière-plan jaune et que le QRCode est lui-même de couleur blanche,la formule modifiée avec les codes de couleur hexadécimaux sera: 

 =QRCODE(TEXT textcolor=#FFFFFF backgroundcolor=#FFFF00) 

 Les images code-QR ont une largeur par défaut de 300px mais vous pouvez personnaliser la taille avec le paramètre de largeur comme indiqué ci-dessous:

 =QRCODE(TEXT width=225) 

 Comment inclure un texte dynamique dans les images QR Code? 

 Le cas étudié jusqu'à maintenant est celui concernant l'exemple d'un texte statique, mais l'autre cas concerne le module complémentaire Google Forms qui peut aussi créer des images QR Code à partir d'un texte dans Google Form Answers grace à des espaces réservés. 

 Par exemple, si votre Google a un titre de question "Quelle est l'adresse de votre chaine YouTube?", Vous pouvez utiliser une fonction QR Code comme la suivante.Elle va vous permettre de transformer la réponse de l'utilisateur en un code QR dynamique qui, au cours de la numérisation, vous mènera au chaine YouTube via un répondant du formulaire. 

 =QRCODE({{WWhat is your chanel YouTube address}} textcolor=#4B0082) 

 Comment intégrer le code-barres dans les notifications d'un e-mail? 

 Le module complémentaire "Notifications" par e-mail inclut aussi la prise en charge de la fonction BARCODE pour vous aider à intégrer des images de codes à barres au format PNG pour EAN, codes postaux, UPC, ISBN,base de données GS1, et tous les autres formats connus. Voici donc la syntaxe de base de la fonction de code à barres:

 =BARCODE(TEXT format=CODE39) 

 Prenons par exemple l'intégration de l'image de code-barres pour un livre dont le code ISBN-15 est 9231786440896, dans ce cas la fonction sera: 

 =BARCODE(9231786440896 format=EAN15 includetext=true) 

 Le paramètre "includetext=true" fera que le texte des données est inclus dans l'image du code-barres.

 Vous avez aussi la possibilité de changer les couleurs de l'image du code-barres via les codes hexadécimaux: 

 =BARCODE(9231786440896 format=EAN15 includetext=true barcolor=AA0000 textcolor=008888 backgroundcolor=FFFF60) 

Vous pouvez avec la meme méthode de modifier la largeur de l'image du code-barres,ajouter des bordures, la hauteur des barres,et plus encore.

Roll.js: Créez vos propres effets de défilement de page

La toile internet est pleine de dizaines de bibliothèques pour les effets de défilement. La majorité de ces bibliothèques sont éditées en JavaScript. Chacune a sa propre effet que vous pouvez éditer et modifier pour les mises en page d'une seule page, les animations de défilement...etc 
 Mais qu'en est-il si vous voulez coder vos propres effets de défilement?, ou qu'en est-il si vous souhaitez tout simplement avoir un moyen simple de suivre la distance parcourue par un utilisateur sur la page? 

 Roll.js est la bibliothèque qu'il vous faut.Cet outil open source est très petit et très facile à utiliser. Il peut fonctionner grace à quelques lignes de JavaScript, en plus, il vous aide à créer vos propres fonctionnalités de défilement personnalisées à l'aide de certains outils spécifiques.
 Le but essentiel de cette bibliothèque est de donner de l'aide pour les développeurs afin qu'ils puissent structurer facilement leurs effets de défilement . 

 Vous allez trouver un guide de configuration complet avec quelques exemples d'extraits dans référentiel GitHub principal que je vous propose de le voir.Vous pouvez par exemple ,exécuter des fonctions pour avoir la distance de défilement de l'utilisateur . 

 Ceux-ci fonctionnent parfaitement sur les mises en page d'une seule page, mais si vous voulez qu'il le fait sur plusieurs vous n'avez qu'à utiliser Roll.js 

 Un seul appel de fonction peut vous extraire des données avec chaque défilement qui comprend: 
  •  # nombre total d'étapes de page (le cas échéant). 
  •  # Position actuelle en pixels sur la page . 
  •  # Pourcentage total de la page déroulée. 
  •  # Hauteur totale de la fenêtre en fonction de la taille de l'appareil. 
 Les utilisateurs sont aussi amenés (par les liens de saut) vers certaines parties de la page en bas ou en haut. 
 Ces fonctionnalités existent abondamment dans d'autres bibliothèques, mais qu'est-ce qui rend Roll.js si spécial? 
 Le secret réside dans la syntaxe qui se réside en une taille totale de la bibliothèque de 8 Ko après sa réduction.Donc , c'est ausi petit pour une bibliothèque de défilement plus détaillée! 
 Je vous donne une page de démonstration principale où vous pouvez meme télécharger le code source de Roll.js pour vous aider aussi à faire et créer vos propres démos similaires. 

 A savoir qu'il est très facile de travailler avec tout ces des démos en direct et les fichiers de bibliothèque bruts qui peuvent etre extraits de GitHub

N'hésitez pas donc, de partager vos remerciements, des questions ou des suggestions à @williamngan  le créateur de cette merveilleuse bibliothèque.

Symphytum: Une base de données pas comme les autres

Si vous avez déjà utilisé Microsoft access pour sauvegarder vos données personnelles, je vous offre alors cette intéressante application. 

 Il s'agit de Symphytum qui fonctionne avec Windows comme avec macOS ou Linux.L'outil est crée avec C++ et Qt.En mode clickodrome, il vous permet de produire et de remplir les bases de données très simples. Prenant par exemple la variété d'insectes que vous avez dans votre petite jardin, vous pouvez en faire une petite base de données personnelles; grace à Symphytum vous pouvez créer vos propres formulaires en y remplissant les données à propos de ces insectes, vous pouvez aussi faire des recherches dans ces données.L'outil vous offre une autre option d'exportation et de la réorganisation.

 L'exemple qui suit concerne les plantes médicinales:

 L'outil se synchronise facilement avec le cloud ( Mega, Dropbox,OneDrive,Google Drive...etc), il est disponible en plusieurs langues comme le français. Pour éviter les conflits, Symphytum possède un lock pour l'édition lorsque la synchronisation est en cours.Cependant, l'outil est destiné essentiellement pour une utilisation personnelle (mono-utilisateur). 

 Le moteur de base de Symphytum s’appelle SQLite;cette technique vous permet d'exploiter cette base ou de l'ouvrir d'une autre façon. 

 Sous Windows, vous pouvez installer Syphytum en visitant ce lien Symphytum , mais sous Linux, vous n'avez qu'à visiter ce lien ou de détourner le .deb. 
A vous de l'essayer ;)

Comment avoir la position de votre visiteur à partir de son adresse IP

C'est un intéressant tutoriel qui va vous montrer une façon d'utiliser le JavaScript afin de déterminer le pays et la localité des visiteurs de votre site web à partir de leur adresse IP et par la suite de leur proposer différentes options de paiment.
 Selon le site Paypal, le nombre des pays où le service est officiellement disponible est de 200, il reste cependant environ 46 pays où les acheteurs ont des difficultés pour effectuer des transactions avec Paypal. 
IMAGE SOURCE: labnol.org

 Selon la carte ci dessous, les pays où PAYPAL n'est pas disponible sont:la Corée du Nord, l'Afghanistan,le Ghana, le Libéria,le Bangladesh, Cuba, l'Irak, l'Iran, le Liban, la Libye, l'Ouzbékistan, le Pakistan, la Syrie,la Palestine,la Turquie et le Soudan. 

 De nos jours et avec l'évolution de e-commerce, il y beaucoup des magasins de produits numériques qui utilisent uniquement le service Paypal pour effectuer les paiements, à ce titre vous risquez de perdre beaucoup de clients qui se localisent en Ouzbékistan, le Pakistan, la Syrie ou la Palestine, en effet, ces derniers ne peuvent pas effectuer des paiement via Paypal.

 Cependant, il existe d'autres alternatives qui vous permet de traiter certains paiements hors USA. Paddle et FastSpring sont de bonnes alternatives que vous pouvez les proposer comme options de paiement aux clients qui arrivent sur votre site Web (ou blog), parfois ces alternatives vous proposent une pré-inscription avant de les utiliser.

      Alors voici comment détecter le pays des visiteurs de votre site Web: 

 Vous pouvez masquer automatiquement le bouton Paypal si le visiteur vient de ces pays où le service Paypal est indisponible, il suffit d'utiliser une technique de modules complémentaires de Google qui fonctionne bien.Vous allez donc utiliser sur votre site web PayPal et Stripe comme gestionnaire de paiement par défaut. Si un visiteur vient de ces dites pays, le bouton Paypal sera automatiquement masqué laissant apparaître à sa place l'option de paiement avec Paddle.

 Pour avoir l’emplacement du visiteur de votre site web, l'utilisation du service ip2c.org trouve rapidement l'adresse IP du visiteur où il se trouve.Si vous utilisez le service ip2c.org/self,il va vous renvoyer le code ISO du pays où l'ordinateur a effectué la requête HTTP.
 A savoir que certains magasins qui sont en ligne suivent la théorie "Purchasing Power Parity” ( «parité de pouvoir d'achat») où les produits intangibles tels que les licences logicielles et les cours vidéo et sont tarifés de manière dynamique en fonction du pays des clients.

 L'approche ci dessus concernant le client pour détecter la localisation du visiteur (du site web) peut être aussi utile dans de tel cas.

Une astuce pour intégrer le mode sombre sur votre site

 Et oui, une petite astuce que j'ai trouvé dans la toile, il s'agit de transformer votre site web (Blog, Forum, ...) en mode sombre qui permet de réduire la luminosité de la page et ainsi de naviguer tranquillement pendant la nuit, aujourd'hui cette option est à la mode puisque qu'elle envahit meme la majorité des applications connues.
 Il s'agit d'un script JS annexé à une CSS afin de permuter les couleurs d'une page web (Le noir va se transformer en blanc et le blanc en noir).

 Ainsi, an ajoutant ce script ( ou code) sur votre page web, vous allez avoir un petit bouton magique vous permettant de switcher entre le mode clair et le mode sombre de votre blog (ou site).

L'astuce est d'ajouter ce bout de code suivant dans la section: :

<script src="https://binayak.codes/dark-theme-switcher
/app.js"></script> <link rel="stylesheet" href="https://binayak.codes/
dark-theme-switcher/styles/style.css" />

Pour avoir le bouton switch qui permet de permuter entre les deux modes, insérer ce petit code en choisissant l'endroit où il va apparaître sur la page web:

<script> window.ThemeSwitcher().Init(); </script>

 Je vous suggère de chercher ces codes dans leur site d'origine si vous craignez de les avoir à partit des sources externes (parfois suspectes de virus). Après avoir les télécharger vous pouvez les éditer à votre guise, les sources de ces codes sont:

 Méthode d'installation et usage du mode sombre
 Code sur Github

Comment créer un chargeur Javascript pour animé un favicon

Les favicons représentent un élément essentiel pour une stratégie de marque en ligne, ils donnent une idée générale visuelle aux clients et utilisateurs en les aident ainsi à distinguer votre site des autres. Meme si la majorité des favicons soient statiques, il est aussi possible de créer ceux animés.

 Un favicon continuellement en mouvement gene certainement la plupart des utilisateurs et défavorise aussi l'accessibilité à une page web, cependant lorsqu'il n'est animé que pendant une brève durée en réponse à une action faite par l'utilisateur, cela lui peut fournir un visuel plus informatif et lui améliore aussi l'expérience.

 On va prendre l'exemple d'un chargeur circulaire animé pris dans un canevas HTML pour lui donner l'apparence d'un favicon. Pour visualiser la progression de toute action effectuée sur une page comme le téléchargement de fichiers ou le traitement d'image, le chargeur de favicon animé se trouve un excellent moyen

     1- Comment créer l'élément <canvas>:

D'abord, nous allons prendre comme exemple la création d'une animation de canevas qui trace un cercle complet, à 100% au total.(il est très important si nous avons besoin d'incrémenter l'arc)

<button id=lbtn>Load</button>
<canvas id=cvl width=16 height=16></canvas>
Il y a des utilisateurs qui utilisent la taille standard pour un favicon (16 * 16 pixels) en utilisant
l’élément canvas, mais vous pouvez se servir d'une taille plus grande si vous le désirez, dans ce cas
l'image du canevas sera réduite à la surface de 162 pixels lorsqu'elle est exécutée comme un Favicon.

   2- Vérification de la prise en charge de <canvas>:

Dans le gestionnaire d'événements onload (), nous allons obtenir une référence pour l'élément canvas [cv] en utilisant la méthode querySelector (),et nous allons référer son objet de contexte de dessin 2D [ctx] via de la méthode getContext ().

onload = function() {
    cv = document.querySelector('#cvl'),
    ctx = cv.getContext('2d');

    if (!!ctx) {
        /* ... */
    }
};
Nous devons aussi faire une  vérification concernant la prise en charge de canevas par l'UA;nous devons s'assurer que l'objet de contexte de dessin [ctx] existe et n'est pas indéfini.Le code appartenant à l'événement load doit se placer dans cette condition if.

    3- Comment créer les variables initiales?:

On va créer maintenant trois variables globales; s pour l'angle de départ de l'arc, tc pour l'id du minuteur setInterval () et pct pour la valeur en pourcentage de ce même minuteur. Le code tc = pct = 0 donne 0 comme valeur initiale pour les variables tc et pct.

Le code JvaScript:

onload = function() {
    cv = document.querySelector('#cvl'),
    ctx = cv.getContext('2d');

    if (!!ctx) {
        s = 1.5 * Math.PI,
        tc = pct = 0;
    }
};

Pour savoir comment se calcule la valeur de s on va vous expliquer rapidement la fonction des angles d'arc.

Angle de l'arc

Un angle est composé de deux rayons qui définissent un arc, ce dernier appartient à une circonférence d'un cercle de 2p rad (rad est le symbole d'unité qui signifie le radian), donc l'angle qui représente un quart du cercle est égal à 0,5p rad.

On veut que le cercle sur le canevas soit dessiné à partir de la position supérieure plutôt que de la droite par défaut, lorsqu'on veut visualiser la progression du chargement.

A partir de la bonne position et dans le sens des aiguilles d'une montre, le point haut est atteint au bout de trois quarts, c'est-à-dire à un angle de 1,5p rad. Ainsi, on a créé la variable s = 1,5 * Math.PI pour désigner ultérieurement l’angle de départ des arcs à dessiner sur le canevas.

    4. Stylisation du cercle:

 Pour l'objet ordinaire pour contexte extraordinaire,on va définir les propriétés lineWidth et strokeStyle du cercle que nous allons dessiner dans l'étape suivante. A savoir que la propriété strokeStyle représente sa couleur.

Le code JavaScript:

onload = function() {
    cv = document.querySelector('#cvl'),
    ctx = cv.getContext('2d');
    if (!!ctx) {
        s = 1.5 * Math.PI,
        tc = pct = 0;
        ctx.lineWidth = 2;
        ctx.strokeStyle = 'fuchsia';
    }
};

   5- Le tracé du cercle:

Nous ajoutons un gestionnaire d'événements de clic au bouton Load [#lbtn] qui déclenche la minuterie setInterval de 60 millisecondes, qui exécute la fonction chargée de dessiner le cercle "[updateLoader ()] "toutes les 60ms jusqu'à ce que ce cercle soit complété.

La méthode setInterval () renvoie un ID de temporisateur pour identifier son temporisateur qui est assigné à la variable tc.

Le code JvaScript:

onload = function() {
    cv = document.querySelector('#cvl'),
    ctx = cv.getContext('2d');
    if (!!ctx) {
        s = 1.5 * Math.PI,
        tc = pct = 0,
        btn = document.querySelector('#lbtn');
        ctx.lineWidth = 2;
        ctx.strokeStyle = 'fuchsia';
        btn.addEventListener('click', function() {
            tc = setInterval(updateLoader, 60);
        });
    }
};

   6- Créer une fonction personnalisée updateLoader ():

Maintenant il faut créer la fonction custom updateLoader () qui doit être appelée par la méthode setInterval () lorsque le bouton sera cliqué (l'événement est activé). Allons voir le code avant
de continuer l'explication.

Le code JavaScript:

function updateLoader() {
    ctx.clearRect(0, 0, 16, 16);
    ctx.beginPath();
    ctx.arc(8, 8, 6, s, (pct * 2 * Math.PI / 100 + s));
    ctx.stroke();
    if (pct === 100) {
        clearInterval(tc);
        return;
    }
    pct++;
}

Alors la méthode clearRect () efface la partie rectangulaire du canevas définie par ses paramètres:les coordonnées (x, y) du détour supérieur gauche.La ligne clearRect (0, 0, 16, 16) efface tout dans le canevas 16 * 16 pixels que nous avons déjà créé.

La méthode beginPath () crée une nouvelle piste pour le dessin et la méthode stroke () peint sur cette nouvelle piste créée.

À la fin de la fonction updateLoader (), le nombre de pourcentages [pct] est augmenté de 1, et avant cette augmentation, nous vérifions s'il est égal à 100.Lorsqu'il atteint 100%, le minuteur setInterval () (identifié par l'ID du minuteur, tc) est effacé grace à la méthode clearInterval ()

Les trois premiers paramètres de la méthode arc () sont les coordonnées (x, y) du centre de l'arc et le rayon.Le quatrième et le cinquième paramètre représentent les angles de début et de la fin auxquels le dessin de l'arc se débute et se termine.

Nous avons déjà décidé le point de départ du cercle de chargement, qui se trouve à l’angle s, et ce sera le même dans toutes les itérations.

Cependant l'angle final augmentera  avec le nombre de pourcentages,nous pouvons donc calculer la taille de l'incrément de cette façon; Par exemple 1% (la valeur 1 sur 100) équivaut à l'angle a sur 2p dans un cercle (2p = angle de toute la circonférence), alors la même chose peut s'écrire comme ça:

1/100 = a/2p

Lors de la réorganisation de l'équation:

a = 1 * 2p / 100
a = 2p / 100

Ce qui veut dire que 1% est equivalent à l'angle 2p / 100 dans un cercle. Ainsi,l'angle d'extrémité pendant chaque augmentation de pourcentage est calculé en multipliant 2p/100 par la valeur de pourcentage. Après, le résultat est ajouté à s (angle de départ), de sorte que les arcs sont à chaque fois dessinés à partir de la même position de départ. C'est pourquoi nous avons utilisé la formule pct * 2 * Math.PI / 100 + s pour calculer l'angle de la fin dans ce bout de code ci-dessus.

     7- Ajouter un favicon:

Nous allons plaçé un élément de lien favicon dans la partie HTML <head>, soit directement, soit par JavaScript.
Le code HTML:

<link rel="icon" type="image/ico" >

Dans la fonction updateLoader (), nous reprendrons d'abord le favicon grace à la méthode querySelector (), et nous l'affectons à la variable lnk. Après, nous devons exporter l'image du canevas chaque fois qu'un arc est dessiné dans une image codée et ça grace à la méthode toDataURL (),et attribuer ce contenu URI de données comme une image favicon. Ceci va  créer un favicon animé qui est le même que le chargeur de canevas.

Le code JvaScript:

onload = function() {
    cv = document.querySelector('#cvl'),
    ctx = cv.getContext('2d');
    if (!!ctx) {
        s = 1.5 * Math.PI,
        tc = pct = 0,
        btn = document.querySelector('#lbtn'),
        lnk = document.querySelector('link[rel="icon"]');
        ctx.lineWidth = 2;
        ctx.strokeStyle = 'fuchsia';
        btn.addEventListener('click', function() {
            tc = setInterval(updateLoader, 60);
        });
    }
};
function updateLoader() {
    ctx.clearRect(0, 0, 16, 16);
    ctx.beginPath();
    ctx.arc(8, 8, 6, s, (pct * 2 * Math.PI / 100 + s));
    ctx.stroke();
    lnk.href= cv.toDataURL('image/png');
    if (pct === 100) {
        clearTimeout(tc);
        return;
    }
    pct++;
}

Et pour voir la totalité de ce code, je vous invite de voir ce lien: 
source HONGKIAT: Github 

   Comment utilisez le chargeur pour les événements asynchrones?

Si vous voulez utiliser cette animation de canevas en combinaison avec une action de chargement 
sur une page Web, adjoignez la fonction updateLoader () comme gestionnaire d'événements pour l'événement progress () de l'action.

Exemple, notre code JavaScript va changer comme ceci dans AJAX:
Le code JvaScript:

onload = function() {
    cv = document.querySelector('#cvl'),
    ctx = cv.getContext('2d');
    if (!!ctx) {
        s = 1.5 * Math.PI,
        lnk = document.querySelector('link[rel="icon"]');
        ctx.lineWidth = 2;
        ctx.strokeStyle = 'fuchsia';
    }
    var xhr = new XMLHttpRequest();
    xhr.addEventListener('progress', updateLoader);
    xhr.open('GET', 'https://xyz.com/abc');
    xhr.send();
};
function updateLoader(evt) {
    ctx.clearRect(0, 0, 16, 16);
    ctx.beginPath();
    ctx.arc(8, 8, 6, s, (evt.loaded*2*Math.PI/evt.total+s));
    ctx.stroke();
    lnk.href = cv.toDataURL('image/png');
}

Dans la méthode arc (), vous allez remplacer la valeur de pourcentage [pct] par la propriété 
loaded de l'événement - elle indique la quantité de fichier chargée, et au lieu de 100, vous devez utiliser la propriété total de ProgressEvent, qui indique le montant total à charger.

Il n'est pas nécessaire d'utiliser setInterval () dans de tels cas, car l'événement progress () est automatiquement activé à mesure que le chargement progresse.
:

HTML + CSS: fabriquer une couverture d'un livre

Il s'agit en fait d'un service très spécial, il est très pratique pour les rédacteurs qui vendent des eBooks ( sous formes PDF, EPUB,..etc) sur les plateformes spécialisées comme Amazon.
 Comment créer donc et générer les couvertures des livres numériques en PDF destinés aux lecteurs et aux utilisateurs en générale? Grace à 3D Book Image CSS Generator, vous pouvez des jolies couvertures pour vos livres et de récupérer en plus un code HTML + CSS qui peut être intégré dans votre sidebar.
 Grace à cet outil en ligne vous pouvez impressionner vos visiteurs, ensuite vous n'avez qu'à lier l'image d'illustration vers le vrai lien où se trouve votre livre, de fournir le lien absolu de l'image de la couverture, votre nom, le nom du livre, et d'éditer les autres paramètres restants ( largeur, animation, hauteur,...etc).

 C'est tout, pourquoi ne pas l'essayer ;)

Comment lire et jouer les GIF animés "onClick"

Le Gif animé est une façon très connue pour afficher et visualiser un design ou de montrer une courte vidéo. Cependant, il arrive parfois qu'une seule page contient quelques gifs animés qui pourront dévier l'attention du lecteur.
C'est une mauvaise nouvelle pour ce dernier cas (nombreux gifs animés qui bougent simultanément sur la meme page).

 Comment résoudre le problème alors:?
 Le concept en général est de servir l'utilisateur avec une image statique ( fixe) et n'autoriser le gif animé de bouger qu'après un clic dessus l'image. Suivez donc ce petit tutoriel expliquant la méthode pour faire ça:
 D'abord, on doit commencer par créer un projet contenant un fichier HTML, le jQuery et enfin un fichier JavaScript qui inclut notre code édité.On peut lier le fichier jQuery à un CDN ou on procède à la récupération de la copie et la lier ensuite à notre répertoire du projet. Vous pouvez jouer avec les styles CSS selon vos goûts. La partie la plus importante est celle qui contient la balise HTML, la voici:
<figure>
  <img src="img/mobile-wireframe.png" height="300" width="400" alt="Static Image" data-alt=
"img/mobile-wireframe.gif">
</figure>
<!-- add more images -->
Vous allez constater que la présence d'un attribut data-alt supplémentaire dans la section img. Après le code data-alt, il y a le code représentant le gif animé qui va remplacer l'image statique servie initialement.Vous pouvez faire plus de configuration en ajoutant encore des images avec leur légendes via l’élément figcaption.

 Après ça, on va éditer notre code JavaScript qui va surement apporter de la magie ;).L'idée générale est d'activer le Gif lorsque l'utilisateur clique sur l'image.

       Le JavaScript: 
 L'idée vient de récupérer le chemin de l'image GIF que nous avons déjà inséré après l'attribut data-alt. Nous allons suivre chacune des images puis utiliser la méthode jQuery.data() ,commençons alors:
var getGif = function() {
  var gif = [];
  $('img').each(function() {
    var data = $(this).data('alt');
    gif.push(data);
  });
  return gif;
}
var gif = getGif();
Nous allons exécuter la fonction et enregistrons la sortie dans un gif variable comme dans le code ci dessus. La variable gif va contenir le chemin du GIF qui résulte des images de la page.

      L'image en "Pre-loading"
 Un problème de chargement du Gif se présente alors: avec le GIF pas encore chargé, il y a une chance que le GIF animé ne soit pas lu ou exécuté instantanément (A savoir que le navigateur a besoin de quelques temps pour charger complètement le GIF).Ce retard de chargement serait donc plus long lorsque la taille de l'image GIF est grande.

 Nous allons devoir charger ou précharger les GIF simultanément pendant le chargement de la page.Voyons le code ci dessous:
// Preload all the GIF.
var image = [];

$.each(gif, function(index) {
  image[index]     = new Image();
  image[index].src = gif[index];
});
 Ouvrez maintenant les DevTools (les utilitaires de développement), puis cherchez l'onglet Réseau ( ou Ressources).Vous allez constater que les GIF sont déjà chargés bien qu'ils sont sauvés dans l'attribut data-alt.Pour ce faire suivez ce code ci dessous:
 La dernière portion du code est le lieu où nous lions chaque élément figure qui enveloppe l'image avec l'événement click.

 Vous allez constater que code va intervertir la source de l'image entre l'attribut src où l'image statique est servie et l'attribut data-alt où nous fournissons originellement l'image GIF.

 Lorsque l'utilisateur cliquera une seconde fois pour arrêter l'animation, Le code reviendra également à l'image statique.
$('figure').on('click', function() {

  var $this   = $(this),
          $index  = $this.index(),
         
          $img    = $this.children('img'),
          $imgSrc = $img.attr('src'),
          $imgAlt = $img.attr('data-alt'),
          $imgExt = $imgAlt.split('.');
         
  if($imgExt[1] === 'gif') {
      $img.attr('src', $img.data('alt')).attr('data-alt', $imgSrc);
  } else {
      $img.attr('src', $imgAlt).attr('data-alt', $img.data('alt'));
  }

});
 C'est tout, vous pouvez à la fin affiner la page en y ajoutant quelques styles comme un bouton de lecture sur l'image pour donner l’impression à l'utilisateur que l'image est "jouable".