[{
          "title": "About Bright Softwares",
          "url": "/about",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "Jekyll Redirect 301 for ads.html",
          "url": "/ads.html",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "Business Software Suite Assessment",
          "url": "/en/business-software-suite-assessment/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "Audit de votre suite logicielle d’entreprise",
          "url": "/fr/business-software-suite-assessment/",
          "lang": "fr",
          "type": "page",
          "content": ""
        },{
          "title": "Categories",
          "url": "/categories",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "Conditions Générales de vente et d’utilisation",
          "url": "/conditions",
          "lang": "en",
          "type": "page",
          "content": "CONDITIONS GÉNÉRALES DE VENTE ET D’UTILISATIONVUE D’ENSEMBLECe site web est exploité par Bright Softwares. Sur ce site, les termes “nous”, “notre” et “nos” font référence à Bright Softwares. Bright Softwares propose ce site web, y compris toutes les informations, tous les outils et tous les services qui y sont disponibles pour vous, l’utilisateur, sous réserve de votre acceptation de l’ensemble des modalités, conditions, politiques et avis énoncés ici.En visitant ce site et/ou en achetant un de nos produits, vous vous engagez dans notre “Service” et acceptez d’être lié par les modalités suivantes (“Conditions Générales de Vente”, “Conditions Générales de Vente et d’Utilisation”, “Conditions”), y compris les modalités, conditions et politiques additionnelles auxquelles il est fait référence ici et/ou accessibles par..."
        },{
          "title": "Conditions Generales de vente et d’utilisation",
          "url": "/fr/conditions",
          "lang": "fr",
          "type": "page",
          "content": "CONDITIONS GENERALES DE VENTE ET D’UTILISATIONVUE D’ENSEMBLECe site web est exploite par Bright Softwares. Sur ce site, les termes “nous”, “notre” et “nos” font reference a Bright Softwares. Bright Softwares propose ce site web, y compris toutes les informations, tous les outils et tous les services qui y sont disponibles pour vous, l’utilisateur, sous reserve de votre acceptation de l’ensemble des modalites, conditions, politiques et avis enonces ici.En visitant ce site et/ou en achetant un de nos produits, vous vous engagez dans notre “Service” et acceptez d’etre lie par les modalites suivantes (“Conditions Generales de Vente”, “Conditions Generales de Vente et d’Utilisation”, “Conditions”), y compris les modalites, conditions et politiques additionnelles auxquelles il est fait reference ici et/ou accessibles par..."
        },{
          "title": "Cornerstone Launch Blueprint - The Real Playbook Behind a 10-Brand PLR Business",
          "url": "/en/cornerstone-launch-blueprint/",
          "lang": "en",
          "type": "page",
          "content": "What’s Inside the Packagecornerstone-launch-blueprint/├── README.md├── LICENSE.md (personal-use terms)├── distilled-takeaways.md (9 research sessions, condensed)├── guides/│ ├── plr-product-selection-guide.md (30-point quality rubric + ROI scenarios)│ └── claude-code-prompt-netlify.md (full technical architecture spec)└── templates/ ├── product-description-templates.md ├── email-sequence-templates.md ├── blog-post-templates.md └── about-page-template.mdSource repository: BrightSoftwares/cornerstone-resources — the architecture and template pack referenced on this page live in a real, public repo. Nothing here is a hypothetical case study.No Earnings Claims — On PurposeThis product is built for people who are, correctly, skeptical of “make €X/month” pitches. So: no earnings claims appear anywhere on this page, in the templates, or in any follow-up email. The distilled-takeaways.md sample above shows the investment-tier modeling from the original research exactly as written, caveat included. If a number here ever reads..."
        },{
          "title": "Ephah - Self-Hosted Telegram E-Commerce System",
          "url": "/en/ephah/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "Ephah - Système e-commerce auto-hébergé pour Telegram",
          "url": "/fr/ephah/",
          "lang": "fr",
          "type": "page",
          "content": ""
        },{
          "title": "Mentions Légales",
          "url": "/legal",
          "lang": "en",
          "type": "page",
          "content": "Mentions Légales1 - Édition du siteEn vertu de l’article 6 de la loi n° 2004-575 du 21 juin 2004 pour la confiance dans l’économie numérique, il est précisé aux utilisateurs du site internet bright-softwares.com l’identité des différents intervenants dans le cadre de sa réalisation et de son suivi:Propriétaire du site : Bright Softwares - Contact : ofijojo@yopmail.com - Adresse : 92 Rue Jeanne d’Arc, Paris 13e.Identification de l’entreprise : Bright Softwares au capital social de € - SIREN : - RCS ou RM : - Adresse postale : 92 Rue Jeanne d’Arc, Paris 13e. https://bright-softwares.com/conditionsDirecteur de la publication : - Contact : .Hébergeur : AutreGitHub pages Mountain view, CaliforniaDélégué à la protection des données : -Autres contributeurs : Les mentions..."
        },{
          "title": "Mentions Legales",
          "url": "/fr/legal",
          "lang": "fr",
          "type": "page",
          "content": "Mentions Legales1 - Edition du siteEn vertu de l’article 6 de la loi n° 2004-575 du 21 juin 2004 pour la confiance dans l’economie numerique, il est precise aux utilisateurs du site internet bright-softwares.com l’identite des differents intervenants dans le cadre de sa realisation et de son suivi:Proprietaire du site : Bright Softwares - Contact : ofijojo@yopmail.com - Adresse : 92 Rue Jeanne d’Arc, Paris 13e.Identification de l’entreprise : Bright Softwares au capital social de € - SIREN : - RCS ou RM : - Adresse postale : 92 Rue Jeanne d’Arc, Paris 13e. https://bright-softwares.com/conditionsDirecteur de la publication : - Contact : .Hebergeur : AutreGitHub pages Mountain view, CaliforniaDelegue a la protection des donnees : -Autres contributeurs : Les mentions..."
        },{
          "title": "Notiwise - Politique contre les abus",
          "url": "/fr/notiwise/abuse-policy/",
          "lang": "fr",
          "type": "page",
          "content": "Politique contre les abusNotiwise applique une politique de tolerance zero envers les abus. Les activites interdites comprennent, sans s’y limiter :  Harcelement : utiliser le Service pour harceler, menacer ou nuire a autrui  Spam : envoyer des communications non sollicitees  Fraude : utiliser le Service a des fins frauduleuses  Securite : tenter de violer la securite ou d’acceder a des comptes non autorises  Surcharge : utilisation excessive de l’API ayant un impact sur l’infrastructure de Google  Utilisation illegale : toute activite illegaleConsequences :  Resiliation immediate du compte  Signalement a Google et aux autorites competentes  Poursuites judiciaires, y compris des poursuites civiles et penales  Interdiction permanente d’acces au Service  Aucun recours possibleSignaler un abus : notiwise at bright-softwares dot com"
        },{
          "title": "Notiwise - Abuse Policy",
          "url": "/notiwise/abuse-policy/",
          "lang": "en",
          "type": "page",
          "content": "Abuse PolicyNotiwise has zero tolerance for abuse. Prohibited activities include but are not limited to:  Harassment: Using Service to harass, threaten, or harm others  Spam: Sending unsolicited communications  Fraud: Using Service for fraudulent purposes  Security: Attempting to breach security or access unauthorized accounts  Overload: Excessive API usage that impacts Google’s infrastructure  Illegal Use: Any illegal activitiesConsequences:  Immediate account termination  Reporting to Google and authorities  Legal action including civil and criminal prosecution  Permanent ban from Service  No appealsReport Abuse: notiwise at bright-softwares dot com"
        },{
          "title": "Notiwise - Politique d’utilisation acceptable",
          "url": "/fr/notiwise/acceptable-use-policy/",
          "lang": "fr",
          "type": "page",
          "content": "Politique d’utilisation acceptableUtilisations autorisees✓ Gestion personnelle de calendrier✓ Planification professionnelle✓ Integration Gmail™ pour les evenements✓ Personnalisation dans les limites normales d’utilisationUtilisations interdites✗ Utilisation abusive automatisee ou recours a des robots✗ Revente ou monetisation de l’acces✗ Collecte d’informations d’autrui✗ Piratage ou tests de securite✗ Requetes API excessives✗ Creation de produits derives a des fins commerciales✗ Suppression des mentions d’attributionApplicationToute violation entraine la resiliation immediate du service sans avertissement prealable."
        },{
          "title": "Notiwise - Acceptable use policy",
          "url": "/notiwise/acceptable-use-policy/",
          "lang": "en",
          "type": "page",
          "content": "Acceptable Use PolicyPermitted Uses✓ Personal calendar management✓ Professional scheduling✓ Gmail™ integration for events✓ Customization within normal limitsProhibited Uses✗ Automated abuse or bot usage✗ Reselling or monetizing access✗ Collecting others’ information✗ Hacking or security testing✗ Excessive API requests✗ Creating commercial derivatives✗ Removing attributionEnforcementViolations result in immediate termination without warning."
        },{
          "title": "Notiwise - Smart Google Calendar™ Notifications",
          "url": "/notiwise-app/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "Notiwise - Notifications intelligentes pour Google Calendar™",
          "url": "/fr/notiwise-app/",
          "lang": "fr",
          "type": "page",
          "content": ""
        },{
          "title": "Notiwise FAQ",
          "url": "/notiwise/faq/",
          "lang": "en",
          "type": "page",
          "content": "Notiwise Documentation Quick Start Getting Started Features Installation FAQ Troubleshooting What’s New Frequently Asked QuestionsAnswers to the questions we hear most before and after install.About NotiwiseIs Notiwise free?Yes. Notiwise is currently free to install and use, closed-source, with no subscription or payment required.Is this an official Google product?No. Notiwise is a third-party add-on built by Bright Softwares. Google Workspace™, Gmail™, and Google Calendar™ are trademarks of Google LLC.Does Notiwise read my email?No. Notiwise only requests Google Calendar access — it never asks for Gmail content scopes. This is a deliberate design choice: keeping the requested permissions minimal avoids the more invasive review Google requires for email-content access, and it means there is simply no email data for Notiwise to see..."
        },{
          "title": "FAQ Notiwise",
          "url": "/fr/notiwise/faq/",
          "lang": "fr",
          "type": "page",
          "content": "Documentation Notiwise Démarrage rapide Guide de démarrage Fonctionnalités Installation FAQ Dépannage Nouveautés Questions fréquentesLes réponses aux questions les plus posées, avant et après l’installation.À propos de NotiwiseNotiwise est-il gratuit ?Oui. Notiwise est actuellement gratuit à installer et à utiliser, à code source fermé, sans abonnement ni paiement requis.Est-ce un produit officiel Google ?Non. Notiwise est un module complémentaire tiers développé par Bright Softwares. Google Workspace™, Gmail™ et Google Calendar™ sont des marques déposées de Google LLC.Notiwise lit-il mes emails ?Non. Notiwise ne demande l’accès qu’à Google Calendar — il ne demande jamais les autorisations liées au contenu de Gmail. C’est un choix de conception délibéré : limiter au minimum les autorisations demandées évite la revue plus intrusive que Google exige..."
        },{
          "title": "Notiwise - Reference complete des fonctionnalites",
          "url": "/fr/notiwise/features/",
          "lang": "fr",
          "type": "page",
          "content": "Documentation Notiwise Demarrage rapide Guide de demarrage Fonctionnalites Installation Depannage Nouveautes Reference des fonctionnalitesDocumentation complete de tout ce que Notiwise peut faire.Cette page couvre toutes les fonctionnalites en detail, avec des exemples et des bonnes pratiques.Table des matieres Fonctionnalites principales Systeme de priorite a 6 niveaux Tableau de bord et statistiques Support multi-calendriers Options de personnalisation Extension Gmail Extension Agenda Fonctionnalites avanceesFonctionnalites principalesRappels intelligents automatiquesCe que cela fait :Notiwise ajoute automatiquement des rappels adaptes au contexte en fonction des etiquettes de priorite que vous ajoutez a vos evenements.Comment cela fonctionne : Ajoutez une etiquette de priorite a votre evenement (par ex. Deadline projet @@) Notiwise detecte l’etiquette Les rappels sont ajoutes en fonction du niveau de priorite L’etiquette est supprimee,..."
        },{
          "title": "Notiwise Features - Complete Reference",
          "url": "/notiwise/features/",
          "lang": "en",
          "type": "page",
          "content": "Notiwise Documentation Quick Start Getting Started Features Installation FAQ Troubleshooting What’s New Features ReferenceComplete documentation of everything Notiwise can do.This page covers all features in detail, with examples and best practices.Table of Contents Core Features 6-Tier Priority System Dashboard &amp; Statistics Multi-Calendar Support Customization Options Gmail Addon Calendar Addon Advanced FeaturesCore FeaturesAutomatic Smart RemindersWhat it does:Notiwise automatically adds context-appropriate reminders based on priority tags you add to events.How it works: Add a priority tag to your event (e.g., Project Deadline @@) Notiwise detects the tag Reminders are added based on the priority level The tag is removed, keeping your calendar cleanBenefits: No more manually setting reminders for every event Perfect reminder timing based on event importance Consistent reminder strategy across..."
        },{
          "title": "Guide de demarrage Notiwise - Configuration complete en 30 minutes",
          "url": "/fr/notiwise/getting-started/",
          "lang": "fr",
          "type": "page",
          "content": "Documentation Notiwise Demarrage rapide Guide de demarrage Fonctionnalites Installation Depannage Nouveautes Bien demarrer avec NotiwiseGuide complet pour configurer Notiwise parfaitement selon votre flux de travail. Ce guide de 30 minutes couvre l’installation, la configuration complete et les bonnes pratiques.Table des matieres Ce que vous allez apprendre Installation Configuration complete Comprendre les niveaux de priorite Bonnes pratiques Etapes suivantesCe que vous allez apprendreA la fin de ce guide, vous saurez comment : ✅ Installer Notiwise dans votre espace Google Workspace ✅ Selectionner les calendriers a surveiller ✅ Personnaliser les etiquettes de priorite selon votre flux de travail ✅ Configurer l’emplacement des etiquettes (titre ou description) ✅ Definir des heures de rappels personnalisees ✅ Utiliser efficacement les etiquettes de priorite ✅ Suivre..."
        },{
          "title": "Notiwise Getting Started Guide - Complete Setup in 30 Minutes",
          "url": "/notiwise/getting-started/",
          "lang": "en",
          "type": "page",
          "content": "Notiwise Documentation Quick Start Getting Started Features Installation FAQ Troubleshooting What’s New Getting Started with NotiwiseComplete guide to setting up Notiwise perfectly for your workflow. This 30-minute guide covers installation, complete onboarding, and best practices.Table of Contents What You’ll Learn Installation Complete Onboarding Understanding Priority Levels Best Practices Next StepsWhat You’ll LearnBy the end of this guide, you’ll know how to: ✅ Install Notiwise in your Google Workspace ✅ Select which calendars to monitor ✅ Customize priority tags to match your workflow ✅ Configure where tags appear (title vs description) ✅ Set custom reminder times ✅ Use priority tags effectively ✅ Follow best practices for maximum productivityAlready completed Quick Start? Great! This guide goes deeper into customization and configuration.InstallationStep 1:..."
        },{
          "title": "Guide d’installation de Notiwise",
          "url": "/fr/notiwise/installation/",
          "lang": "fr",
          "type": "page",
          "content": "Documentation Notiwise Demarrage rapide Guide de demarrage Fonctionnalites Installation Depannage Nouveautes Guide d’installationInstructions etape par etape pour installer Notiwise dans votre espace Google Workspace.PrerequisAvant d’installer Notiwise, assurez-vous d’avoir : ✅ Un compte Google (Gmail ou Google Workspace) ✅ Un acces a Google Agenda ✅ L’autorisation d’installer des extensions (verifiez aupres de votre administrateur workspace si necessaire) ✅ Un navigateur web moderne (Chrome, Firefox, Edge ou Safari)Methodes d’installationMethode 1 : Lien de deploiement direct (recommande)Methode d’installation la plus rapide – 2 minutes : Cliquez sur le lien d’installation : Installer Notiwise maintenant Cliquez sur “Autoriser l’acces” Un ecran d’autorisation Google apparaitra Selectionnez votre compte Google Choisissez le compte sur lequel vous souhaitez utiliser Notiwise Consultez et accordez les autorisations Voir Comprendre..."
        },{
          "title": "Notiwise Installation Guide",
          "url": "/notiwise/installation/",
          "lang": "en",
          "type": "page",
          "content": "Notiwise Documentation Quick Start Getting Started Features Installation FAQ Troubleshooting What’s New Installation GuideStep-by-step instructions for installing Notiwise in your Google Workspace.PrerequisitesBefore installing Notiwise, make sure you have: ✅ A Google account (Gmail or Google Workspace) ✅ Access to Google Calendar ✅ Permission to install add-ons (check with your workspace admin if unsure) ✅ A modern web browser (Chrome, Firefox, Edge, or Safari)Installation MethodsMethod 1: Direct Deployment Link (Recommended)Fastest installation method - 2 minutes: Click the installation link: Install Notiwise Now Click “Authorize access” A Google authorization screen will appear Select your Google account Choose the account where you want to use Notiwise Review and grant permissions See Understanding Permissions below Click “Allow” Notiwise is now installed! Next: Continue to..."
        },{
          "title": "Notiwise - Politique de confidentialite",
          "url": "/fr/notiwise/privacy/",
          "lang": "fr",
          "type": "page",
          "content": "Politique de confidentialite de NotiwiseDerniere mise a jour : 4 novembre 2025Date d’entree en vigueur : 4 novembre 20251. IntroductionNotiwise (“nous”, “notre”, “nos”, “le Service”) est un module complementaire Google Workspace(TM) fourni EN L’ETAT pour la gestion des notifications de calendrier. La presente Politique de confidentialite explique comment nous traitons vos informations. EN UTILISANT CE SERVICE, VOUS ACCEPTEZ L’ENSEMBLE DES CONDITIONS.2. Acceptation et accordEn utilisant Notiwise, vous : Acceptez la presente Politique de confidentialite dans son integralite Reconnaissez avoir lu et compris l’ensemble des conditions Acceptez de vous conformer a toutes les lois applicables Acceptez tous les risques associes a l’utilisation du Service Renoncez a toute reclamation a l’encontre des developpeurs3. Collecte d’informations3.1 Informations que vous fournissez Les identifiants de..."
        },{
          "title": "Notiwise - Privacy policy",
          "url": "/notiwise/privacy/",
          "lang": "en",
          "type": "page",
          "content": "Privacy Policy for NotiwiseLast Updated: November 4, 2025Effective Date: November 4, 20251. IntroductionNotiwise (“we”, “our”, “us”, “the Service”) is a Google Workspace™ addon provided AS-IS for calendar notification management. This Privacy Policy explains how we handle your information. BY USING THIS SERVICE, YOU ACCEPT ALL TERMS.2. Acceptance and AgreementBy using Notiwise, you: Accept this Privacy Policy in its entirety Acknowledge you have read and understood all terms Agree to comply with all applicable laws Accept all risks associated with using the Service Waive all claims against the developers3. Information Collection3.1 Information You Provide Calendar IDs you select Custom priority tags Custom reminder times Events marked as “done” User preferences and settings3.2 Automatically Collected Google account email (for identification only) Calendar..."
        },{
          "title": "Notiwise Quick Start - Get Started in 5 Minutes",
          "url": "/notiwise/quick-start/",
          "lang": "en",
          "type": "page",
          "content": "Notiwise Documentation Quick Start Getting Started Features Installation FAQ Troubleshooting What’s New Quick Start GuideGet Notiwise working in 5 minutes. This guide gets you up and running FAST.What is Notiwise?Notiwise is your smart calendar assistant that automatically sets perfect reminders based on how important your events are. Add a simple tag to your event, and Notiwise does the rest.Example: Tag your event Project Deadline @@ and get 6 reminders starting 4 weeks before. Tag it Coffee Chat # and get just 2 reminders.Step 1: Install Notiwise (2 minutes) Visit the installation page: Install Notiwise Click “Authorize access” Select your Google account Review the permissions Click “Allow” Done! Notiwise is now installed.Need more help? See the detailed Installation guide.Step 2: Quick..."
        },{
          "title": "Notiwise - Demarrage rapide en 5 minutes",
          "url": "/fr/notiwise/quick-start/",
          "lang": "fr",
          "type": "page",
          "content": "Documentation Notiwise Demarrage rapide Premiers pas Fonctionnalites Installation Depannage Nouveautes Guide de demarrage rapideUtilisez Notiwise en 5 minutes. Ce guide vous permet d’etre operationnel RAPIDEMENT.Qu’est-ce que Notiwise ?Notiwise est votre assistant calendrier intelligent qui configure automatiquement des rappels parfaits en fonction de l’importance de vos evenements. Ajoutez un simple tag a votre evenement, et Notiwise s’occupe du reste.Exemple : Taguez votre evenement Echeance Projet @@ et recevez 6 rappels a partir de 4 semaines avant. Taguez-le Pause Cafe # et recevez seulement 2 rappels.Etape 1 : Installer Notiwise (2 minutes) Rendez-vous sur la page d’installation : Installer Notiwise Cliquez sur “Autoriser l’acces” Selectionnez votre compte Google Consultez les autorisations Cliquez sur “Autoriser” Termine ! Notiwise est maintenant installe.Besoin d’aide supplementaire..."
        },{
          "title": "Notiwise - Conditions d’utilisation",
          "url": "/fr/notiwise/terms/",
          "lang": "fr",
          "type": "page",
          "content": "Conditions d’utilisation de NotiwiseDerniere mise a jour : 4 novembre 2025Date d’entree en vigueur : 4 novembre 2025AVIS JURIDIQUE IMPORTANTA LIRE ATTENTIVEMENT AVANT D’UTILISER CE SERVICELes presentes Conditions d’utilisation (“Conditions”) constituent un contrat juridiquement contraignant entre vous et les developpeurs de Notiwise. En utilisant Notiwise, vous acceptez L’ENSEMBLE des conditions sans exception.SI VOUS N’ETES PAS D’ACCORD, N’UTILISEZ PAS LE SERVICE.1. Acceptation des Conditions1.1 AccordEn installant, en accedant ou en utilisant Notiwise (“le Service”), vous : Acceptez les presentes Conditions dans leur integralite Renoncez a toute objection concernant les presentes Conditions Reconnaissez avoir lu et compris l’ensemble des dispositions Acceptez d’etre juridiquement lie Acceptez tous les risques associes a l’utilisation Renoncez a toute reclamation a l’encontre des developpeurs1.2 Capacite juridiqueVous declarez..."
        },{
          "title": "Notiwise - Terms of Service",
          "url": "/notiwise/terms/",
          "lang": "en",
          "type": "page",
          "content": "Terms of Service for NotiwiseLast Updated: November 4, 2025Effective Date: November 4, 2025⚠️ IMPORTANT LEGAL NOTICEREAD CAREFULLY BEFORE USING THIS SERVICEThese Terms of Service (“Terms”) are a legally binding contract between you and Notiwise developers. By using Notiwise, you accept ALL terms without exception.IF YOU DO NOT AGREE, DO NOT USE THE SERVICE.1. Acceptance of Terms1.1 AgreementBy installing, accessing, or using Notiwise (“the Service”), you: Accept these Terms in their entirety Waive all objections to these Terms Acknowledge reading and understanding all provisions Agree to be legally bound Accept all risks associated with use Waive any claims against the developers1.2 CapacityYou represent that you: Are at least 18 years old (or age of majority in your jurisdiction) Have legal capacity..."
        },{
          "title": "Guide de depannage Notiwise",
          "url": "/fr/notiwise/troubleshooting/",
          "lang": "fr",
          "type": "page",
          "content": "Documentation Notiwise Demarrage rapide Premiers pas Fonctionnalites Installation Depannage Nouveautes Guide de depannageProblemes courants et solutions etape par etape pour que Notiwise fonctionne parfaitement.Table des matieres Tags de priorite non reconnus Rappels non affiches Extension non chargee Parametres non enregistres Statistiques non mises a jour Cas particuliers et situations speciales Obtenir de l’aide1. Tags de priorite non reconnusProbleme : Vous avez ajoute un tag de priorite a votre evenement, mais Notiwise ne l’a pas traite.Organigramme de diagnosticgraph TD A[Tag non reconnu] --&gt; B{Le tag est-il au DEBUT du titre ?} B --&gt;|Non| C[Deplacez le tag au debut : !!Reunion vs Reunion !!] B --&gt;|Oui| D{Le tag correspond-il a vos tags personnalises ?} D --&gt;|Non| E[Verifiez les parametres - utilisez le..."
        },{
          "title": "Notiwise Troubleshooting Guide",
          "url": "/notiwise/troubleshooting/",
          "lang": "en",
          "type": "page",
          "content": "Notiwise Documentation Quick Start Getting Started Features Installation FAQ Troubleshooting What’s New Troubleshooting GuideCommon issues and step-by-step solutions to get Not iwise working perfectly.Table of Contents Priority Tags Not Being Recognized Reminders Not Appearing Addon Not Loading Settings Not Saving Statistics Not Updating Edge Cases &amp; Special Situations Getting Help1. Priority Tags Not Being RecognizedProblem: You added a priority tag to your event, but Notiwise didn’t process it.Diagnostic Flowchartgraph TD A[Tag not recognized] --&gt; B{Is tag at START of title?} B --&gt;|No| C[Move tag to start: !!Meeting vs Meeting !!] B --&gt;|Yes| D{Does tag match your custom tags?} D --&gt;|No| E[Check settings - use exact tag configured] D --&gt;|Yes| F{Is calendar selected in settings?} F --&gt;|No| G[Add calendar in Notiwise..."
        },{
          "title": "What’s New in Notiwise v2.1.0",
          "url": "/notiwise/whats-new-v2-1/",
          "lang": "en",
          "type": "page",
          "content": "Notiwise Documentation Quick Start Getting Started Features Installation FAQ Troubleshooting What’s New What’s New in Notiwise v2.1.0Released: February 2026Focus: Bug fixes, improved statistics, enhanced user experienceVersion 2.1.0 brings significant improvements based on user feedback and comprehensive testing.OverviewWhat Changed: ✅ 8 major bug fixes ✅ New unified statistics system ✅ Enhanced user interface ✅ 93 unit tests (80%+ coverage) ✅ Comprehensive edge case handlingImpact: More reliable priority tag detection Better dashboard insights Consistent experience across all interfaces Improved data accuracyBug Fixes1. Calendar Addon Priority Tag DetectionProblem: Calendar addon always showed “No priority tag detected” even when tags existed.Fix: Now correctly displays actual priority symbols Shows current priority level name Indicates when smart reminders are activeBefore: “No priority tag detected”After: “Current Priority:..."
        },{
          "title": "Nouveautes de Notiwise v2.1.0",
          "url": "/fr/notiwise/whats-new-v2-1/",
          "lang": "fr",
          "type": "page",
          "content": "Documentation Notiwise Demarrage rapide Premiers pas Fonctionnalites Installation Depannage Nouveautes Nouveautes de Notiwise v2.1.0Date de publication : Fevrier 2026Axe principal : Corrections de bugs, statistiques ameliorees, experience utilisateur enrichieLa version 2.1.0 apporte des ameliorations significatives basees sur les retours des utilisateurs et des tests approfondis.Vue d’ensembleCe qui a change : ✅ 8 corrections de bugs majeures ✅ Nouveau systeme de statistiques unifie ✅ Interface utilisateur amelioree ✅ 93 tests unitaires (couverture superieure a 80 %) ✅ Gestion complete des cas particuliersImpact : Detection des tags de priorite plus fiable Meilleurs aperçus dans le tableau de bord Experience coherente sur toutes les interfaces Precision des donnees amelioreeCorrections de bugs1. Detection des tags de priorite dans l’extension CalendarProbleme : L’extension Calendar affichait..."
        },{
          "title": "Notiwise - Notifications intelligentes pour Google Calendar™",
          "url": "/fr/notiwise/",
          "lang": "fr",
          "type": "page",
          "content": "  Google Calendar™, Google Workspace™ et Gmail™ sont des marques déposées de Google LLC.DocumentationDémarrez avec Notiwise en quelques minutes :  📚 Guide de démarrage rapide - Soyez productif en 5 minutes  🚀 Guide de prise en main - Configuration et intégration complètes (30 minutes)  ⚙️ Guide d’installation - Instructions d’installation étape par étape  ✨ Référence des fonctionnalités - Documentation complète des fonctionnalités  🔧 Dépannage - Problèmes courants et solutions  🎉 Nouveautés de la v2.1.0 - Dernières améliorations et corrections de bugsBesoin d’aide ? Envoyez un e-mail à notiwise@bright-softwares.comMentions légales  Conditions générales d’utilisation de Notiwise  Politique de confidentialité de Notiwise  Politique d’utilisation acceptable de Notiwise  Politique de signalement d’abus de Notiwise"
        },{
          "title": "Notiwise - Smart Google Calendar™ Notifications",
          "url": "/en/notiwise/",
          "lang": "en",
          "type": "page",
          "content": "  Google Calendar™, Google Workspace™, and Gmail™ are trademarks of Google LLC.DocumentationGet started with Notiwise in minutes:  📚 Quick Start Guide - Get productive in 5 minutes  🚀 Getting Started Guide - Complete setup and onboarding (30 minutes)  ⚙️ Installation Guide - Step-by-step installation instructions  ✨ Features Reference - Comprehensive feature documentation  🔧 Troubleshooting - Common issues and solutions  🎉 What’s New in v2.1.0 - Latest improvements and bug fixesNeed help? Email notiwise@bright-softwares.comLegal  Notiwise Terms and Conditions  Notiwise Privacy Policy  Notiwise Acceptable use policy  Notiwise Abuse PolicyAlso from Bright Softwares  🌍 Sollingo - Family language learning with gamification, hearts, and TV-time rewards"
        },{
          "title": "Réserver un audit d’automatisation gratuit de 20 minutes",
          "url": "/fr/order-service",
          "lang": "fr",
          "type": "page",
          "content": "Réservez l’audit gratuit de 20 minutesVous ne commandez rien ici et rien ne vous est facturé. Le formulaire ci-dessous sert à préparer l’appel : quelle est la tâche répétitive, qui la fait aujourd’hui, et combien de temps elle prend environ.Nous répondons avec un créneau qui vous convient. Pendant l’appel, nous regardons une semaine de votre travail et désignons les deux ou trois étapes qui valent la peine d’être automatisées. Vous repartez avec un plan écrit et un prix, que vous nous engagiez ou non."
        },{
          "title": "Book a free 20-minute automation audit",
          "url": "/order-service",
          "lang": "en",
          "type": "page",
          "content": "Book the free 20-minute auditNothing is ordered here and nothing is charged. The form below is how we get the context before the call: what the repetitive task is, who does it today, and roughly how long it takes.We reply with a time that suits you. On the call we look at one week of your work and name the two or three steps worth automating. You leave with a written plan and a price, whether or not you hire us."
        },{
          "title": "Payments",
          "url": "/pay",
          "lang": "en",
          "type": "page",
          "content": "                                                                                                                                                                                                                                                                                        -                                    +            price_1How0GCVId68T2UtGwGmN34p                                                                                                                                                                                  Invoice ID                                                                                                                          Password                                                                    OK                            "
        },{
          "title": "Payments",
          "url": "/paiement",
          "lang": "fr",
          "type": "page",
          "content": "                                                                                                                                                                                                                                                                                        -                                    +            price_1How0GCVId68T2UtGwGmN34p                                                                                                                                                                                  Invoice ID                                                                                                                          Password                                                                    OK                            "
        },{
          "title": "Payment cancelled",
          "url": "/pay/canceled",
          "lang": "en",
          "type": "page",
          "content": "          Bright Softwares - Payments canceled                                                                                                                           Your payment was canceled          Home                                                                                        "
        },{
          "title": "Payment succeeded",
          "url": "/pay/success",
          "lang": "en",
          "type": "page",
          "content": "          Bright Softwares - Payments succeeded                                                                                                                               Your payment succeeded          View CheckoutSession response:                                                          Home                                                                                            "
        },{
          "title": "Pilotflow by Zippy FAQ",
          "url": "/en/pilotflow-by-zippy/faq/",
          "lang": "en",
          "type": "page",
          "content": "Pilotflow by Zippy Overview Getting Started FAQ Frequently Asked QuestionsData &amp; PrivacyDoes Pilotflow by Zippy read my email content?Only to match against the search queries you configure in your Action Packs. Email bodies are not stored or transmitted outside your Google account — the app runs entirely as a Google Apps Script, executing inside Google’s own infrastructure.Do you have a database of my emails?No. There is no external database. We cannot access your account without the OAuth token you explicitly grant, and you can revoke that access at any time from myaccount.google.com/permissions.Is the app open-source? Can I audit the code?The app is currently closed-source, so the code itself is not publicly viewable. That does not change the safety model, though:..."
        },{
          "title": "FAQ Pilotflow by Zippy",
          "url": "/fr/pilotflow-by-zippy/faq/",
          "lang": "fr",
          "type": "page",
          "content": "Pilotflow by Zippy Aperçu Premiers pas FAQ Questions fréquentesDonnées et confidentialitéPilotflow by Zippy lit-il le contenu de mes emails ?Uniquement pour le comparer aux requêtes de recherche que vous configurez dans vos Action Packs. Le corps des emails n’est ni stocké ni transmis en dehors de votre compte Google — l’application s’exécute entièrement en tant que Google Apps Script, à l’intérieur de l’infrastructure de Google elle-même.Avez-vous une base de données de mes emails ?Non. Il n’existe aucune base de données externe. Nous ne pouvons pas accéder à votre compte sans le jeton OAuth que vous accordez explicitement, et vous pouvez révoquer cet accès à tout moment depuis myaccount.google.com/permissions.L’application est-elle open-source ? Puis-je auditer le code ?L’application est actuellement à code..."
        },{
          "title": "Getting Started with Pilotflow by Zippy",
          "url": "/en/pilotflow-by-zippy/getting-started/",
          "lang": "en",
          "type": "page",
          "content": "Getting Started with Pilotflow by ZippyWelcome to Pilotflow by Zippy — your Gmail autopilot. This guide walks you from first login to a fully automated inbox in under 10 minutes.PrerequisitesBefore you begin, make sure you have: A Google / Gmail account (personal or Google Workspace) An invitation to use Pilotflow by Zippy during the beta period — you should have received a link from the person who set up your access A modern browser (Chrome, Firefox, Edge, or Safari)Step 1: Open the AppClick the link you received in your invitation, or go to the app directly:Open Pilotflow by Zippy →Step 2: Authorize the AppThe first time you open Pilotflow by Zippy, Google will ask you to grant permissions. This is..."
        },{
          "title": "Premiers pas avec Pilotflow by Zippy",
          "url": "/fr/pilotflow-by-zippy/getting-started/",
          "lang": "fr",
          "type": "page",
          "content": "Premiers pas avec Pilotflow by ZippyBienvenue sur Pilotflow by Zippy — votre pilote automatique pour Gmail. Ce guide vous accompagne de votre premiere connexion a une boite de reception entierement automatisee en moins de 10 minutes.PrerequisAvant de commencer, assurez-vous de disposer de : Un compte Google / Gmail (personnel ou Google Workspace) Une invitation pour utiliser Pilotflow by Zippy pendant la periode beta — vous devriez avoir recu un lien de la personne qui a configure votre acces Un navigateur moderne (Chrome, Firefox, Edge ou Safari)Etape 1 : Ouvrir l’applicationCliquez sur le lien que vous avez recu dans votre invitation, ou accedez directement a l’application :Ouvrir Pilotflow by Zippy →Etape 2 : Autoriser l’applicationLa premiere fois que vous ouvrez Pilotflow..."
        },{
          "title": "Pilotflow by Zippy - Politique de confidentialite",
          "url": "/fr/pilotflow-by-zippy/privacy/",
          "lang": "fr",
          "type": "page",
          "content": "Politique de confidentialite de Pilotflow by ZippyDerniere mise a jour : 23 fevrier 20261. IntroductionBright Softwares (« nous », « notre » ou « nos ») exploite Pilotflow by Zippy, unmodule complementaire Google Workspace a code source ferme qui vous aide a gerervotre boite de reception Gmail en appliquant des Action Packs intelligents — desregles automatisees qui organisent, etiquettent, transferent et nettoient vose-mails automatiquement.La presente Politique de confidentialite explique comment nous collectons, utilisonset protegeons vos informations lorsque vous utilisez Pilotflow by Zippy.2. Informations que nous collectonsPilotflow by Zippy demande les autorisations OAuth suivantes pour fonctionner : Autorisation Finalite gmail.modify Appliquer des libelles, archiver et modifier les e-mails selon vos Action Packs gmail.labels Creer et gerer les libelles Gmail utilises par..."
        },{
          "title": "Pilotflow by Zippy - Privacy Policy",
          "url": "/pilotflow-by-zippy/privacy/",
          "lang": "en",
          "type": "page",
          "content": "Privacy Policy for Pilotflow by ZippyLast Updated: February 23, 20261. IntroductionBright Softwares (“we”, “us”, or “our”) operates Pilotflow by Zippy, a closed-sourceGoogle Workspace add-on that helps you manage your Gmail inbox by applying smartAction Packs — automated rules that organise, label, forward, and clean up youremails automatically.This Privacy Policy explains how we collect, use, and protect your informationwhen you use Pilotflow by Zippy.2. Information We CollectPilotflow by Zippy requests the following OAuth scopes to function: Scope Purpose gmail.modify Apply labels, archive, and modify emails per your Action Packs gmail.labels Create and manage Gmail labels used by your Action Packs gmail.send Forward emails to addresses you configure drive.file Create a Google Spreadsheet processing log in your Drive spreadsheets Write email processing..."
        },{
          "title": "Pilotflow by Zippy - Conditions d’utilisation",
          "url": "/fr/pilotflow-by-zippy/terms/",
          "lang": "fr",
          "type": "page",
          "content": "Conditions d’utilisation de Pilotflow by ZippyDerniere mise a jour : 23 fevrier 20261. Acceptation des conditionsEn installant et en utilisant Pilotflow by Zippy, vous acceptez les presentesConditions d’utilisation. Si vous n’acceptez pas ces conditions, veuillez ne pasinstaller ni utiliser Pilotflow by Zippy.2. Description du servicePilotflow by Zippy est un module complementaire Google Workspace a code sourceferme qui automatise la gestion de votre boite de reception Gmail a l’aided’Action Packs configurables — des regles qui etiquettent, archivent (avec delaioptionnel), transferent et organisent vos e-mails automatiquement.Le service est fourni « en l’etat », sans garantie d’aucune sorte.3. Abonnement et paiement3.1 Offre gratuiteUne offre gratuite est disponible avec des fonctionnalites limitees, telles quedecrites sur la page de tarification. Aucune cartebancaire n’est requise pour..."
        },{
          "title": "Pilotflow by Zippy - Terms of Service",
          "url": "/pilotflow-by-zippy/terms/",
          "lang": "en",
          "type": "page",
          "content": "Terms of Service for Pilotflow by ZippyLast Updated: February 23, 20261. Acceptance of TermsBy installing and using Pilotflow by Zippy, you agree to these Terms of Service.If you do not agree, do not install or use Pilotflow by Zippy.2. Description of ServicePilotflow by Zippy is a closed-source Google Workspace add-on that automatesGmail inbox management using configurable Action Packs — rules that label, archive(with optional delay), forward, and organise your emails automatically.The service is provided “as is” without warranty of any kind.3. Subscription and Payment3.1 Free TierA free tier is available with limited features as described on thepricing page. No credit card is required for thefree tier.3.2 Paid PlansPaid plans are billed monthly via Stripe. By subscribingyou authorise Bright Softwares to..."
        },{
          "title": "Pilotflow by Zippy - Gestion automatisée de votre boîte de réception Gmail",
          "url": "/fr/pilotflow-by-zippy/",
          "lang": "fr",
          "type": "page",
          "content": "Tarification Gratuit $0 Gratuit pour toujours &#10003;&nbsp; 3 Action Packs &#10003;&nbsp; 30 e-mails traités / jour &#10003;&nbsp; Étiquetage intelligent &amp; archivage instantané &#10003;&nbsp; Archivage différé (délai fixe de 24 h) &#10003;&nbsp; Journal Google Sheets basique &#10007;&nbsp; Transfert d'e-mails &#10007;&nbsp; Intégration webhook &#10007;&nbsp; Délai d'archivage personnalisé Démarrer gratuitement LE PLUS POPULAIRE Pro $5/mois Facturation mensuelle &middot; Résiliation à tout moment &#10003;&nbsp; Action Packs illimités &#10003;&nbsp; E-mails illimités / jour &#10003;&nbsp; Étiquetage intelligent &amp; archivage instantané &#10003;&nbsp; Archivage différé (délai personnalisé) &#10003;&nbsp; Transfert d'e-mails &#10003;&nbsp; Intégration webhook &#10003;&nbsp; Journal Google Sheets complet &#10003;&nbsp; Support prioritaire S'abonner avec Stripe &rarr; Vos données restent dans votre compte GooglePilotflow by Zippy fonctionne entièrement en tant que Google Apps Script — ce qui signifie que chaque..."
        },{
          "title": "Pilotflow by Zippy - Automated Gmail Inbox Management",
          "url": "/en/pilotflow-by-zippy/",
          "lang": "en",
          "type": "page",
          "content": "Pricing Free $0 Forever free &#10003;&nbsp; 3 Action Packs &#10003;&nbsp; 30 emails processed / day &#10003;&nbsp; Smart labeling &amp; instant archiving &#10003;&nbsp; Delayed archive (24 h fixed delay) &#10003;&nbsp; Basic Google Sheets log &#10007;&nbsp; Email forwarding &#10007;&nbsp; Webhook integration &#10007;&nbsp; Custom archive delay Get Started Free MOST POPULAR Pro $5/mo Billed monthly &middot; Cancel anytime &#10003;&nbsp; Unlimited Action Packs &#10003;&nbsp; Unlimited emails / day &#10003;&nbsp; Smart labeling &amp; instant archiving &#10003;&nbsp; Delayed archive (custom delay) &#10003;&nbsp; Email forwarding &#10003;&nbsp; Webhook integration &#10003;&nbsp; Full Google Sheets logging &#10003;&nbsp; Priority support Subscribe with Stripe &rarr; Your Data Stays in Your Google AccountPilotflow by Zippy runs entirely as a Google Apps Script — meaning every line ofcode executes inside Google’s own infrastructure, not..."
        },{
          "title": "Declaration de confidentialité",
          "url": "/privacy",
          "lang": "en",
          "type": "page",
          "content": "DÉCLARATION DE CONFIDENTIALITÉARTICLE 1 – RENSEIGNEMENTS PERSONNELS RECUEILLISLorsque vous effectuez un achat sur notre boutique, dans le cadre de notre processus d’achat et de vente, nous recueillons les renseignements personnels que vous nous fournissez, tels que votre nom, votre adresse et votre adresse e-mail.Lorsque vous naviguez sur notre boutique, nous recevons également automatiquement l’adresse de protocole Internet (adresse IP) de votre ordinateur, qui nous permet d’obtenir plus de détails au sujet du navigateur et du système d’exploitation que vous utilisez.Marketing par e-mail (le cas échéant): Avec votre permission, nous pourrions vous envoyer des e-mails au sujet de notre boutique, de nouveaux produits et d’autres mises à jour.ARTICLE 2 - CONSENTEMENTComment obtenez-vous mon consentement?Lorsque vous nous fournissez vos renseignements personnels pour..."
        },{
          "title": "Declaration de confidentialite",
          "url": "/fr/privacy",
          "lang": "fr",
          "type": "page",
          "content": "DECLARATION DE CONFIDENTIALITEARTICLE 1 – RENSEIGNEMENTS PERSONNELS RECUEILLISLorsque vous effectuez un achat sur notre boutique, dans le cadre de notre processus d’achat et de vente, nous recueillons les renseignements personnels que vous nous fournissez, tels que votre nom, votre adresse et votre adresse e-mail.Lorsque vous naviguez sur notre boutique, nous recevons egalement automatiquement l’adresse de protocole Internet (adresse IP) de votre ordinateur, qui nous permet d’obtenir plus de details au sujet du navigateur et du systeme d’exploitation que vous utilisez.Marketing par e-mail (le cas echeant): Avec votre permission, nous pourrions vous envoyer des e-mails au sujet de notre boutique, de nouveaux produits et d’autres mises a jour.ARTICLE 2 - CONSENTEMENTComment obtenez-vous mon consentement?Lorsque vous nous fournissez vos renseignements personnels pour..."
        },{
          "title": "Sollingo Features - Complete Reference",
          "url": "/sollingo/features/",
          "lang": "en",
          "type": "page",
          "content": "**Sollingo Documentation** | [Quick Start](/sollingo/quick-start/) | [Getting Started](/sollingo/getting-started/) | [Features](/sollingo/features/) | [Troubleshooting](/sollingo/troubleshooting/)---# Features Reference**Complete documentation of everything Sollingo can do.**This page covers all features in detail. For a faster walkthrough, see the [Getting Started Guide](/sollingo/getting-started/).---## Table of Contents1. [Courses](#courses)2. [Lessons and Challenges](#lessons-and-challenges)3. [Hearts](#hearts)4. [XP and Points](#xp-and-points)5. [Quests](#quests)6. [Leaderboard](#leaderboard)7. [Shop](#shop)8. [Chores](#chores)9. [Parent Dashboard](#parent-dashboard)10. [TV Time](#tv-time)11. [Pro Subscription](#pro-subscription)---## Courses**What it does:**Sollingo offers 5 language courses — Spanish, French, Italian, Croatian, and Japanese — each broken into units and lessons of increasing difficulty.**How it works:**1. Visit the **Courses** page2. Select any course to make it your active course3. Your active course is highlighted; switching is instant and never loses progress in the course you switch away from**Benefits:**- Learn multiple languages in parallel without..."
        },{
          "title": "Sollingo Getting Started - Full Setup Guide",
          "url": "/sollingo/getting-started/",
          "lang": "en",
          "type": "page",
          "content": "**Sollingo Documentation** | [Quick Start](/sollingo/quick-start/) | [Getting Started](/sollingo/getting-started/) | [Features](/sollingo/features/) | [Troubleshooting](/sollingo/troubleshooting/)---# Getting Started with Sollingo**The complete setup guide** — account creation, course selection, hearts/XP, family setup, chores, TV time, the shop, and Pro. About 15-20 minutes if you set everything up.If you just want the fastest path to a first lesson, use the [Quick Start Guide](/sollingo/quick-start/) instead.---## Table of Contents1. [Account Creation](#1-account-creation)2. [Choosing a Course](#2-choosing-a-course)3. [Understanding Hearts and XP](#3-understanding-hearts-and-xp)4. [Family Setup](#4-family-setup)5. [The Chore System](#5-the-chore-system)6. [TV Time](#6-tv-time)7. [The Shop](#7-the-shop)8. [Quests and the Leaderboard](#8-quests-and-the-leaderboard)9. [Upgrading to Pro](#9-upgrading-to-pro)---## 1. Account CreationSollingo uses [Clerk](https://clerk.com) for authentication — sign up with email or a supported social provider at [sollingo.afanou.com](https://sollingo.afanou.com). No credit card is required to create an account or use the free tier.Every family..."
        },{
          "title": "Sollingo - Privacy policy",
          "url": "/sollingo/privacy/",
          "lang": "en",
          "type": "page",
          "content": "# Privacy Policy for Sollingo**Last Updated: February 14, 2026****Effective Date: February 14, 2026**## 1. IntroductionSollingo (\"we\", \"our\", \"us\", \"the Service\") is a family language-learning web application provided by Bright Softwares. This Privacy Policy explains how we collect, use, and protect information for the account holder (\"you\") and, where a family account links a child, for that child. BY USING THIS SERVICE, YOU ACCEPT ALL TERMS.## 2. Acceptance and AgreementBy using Sollingo, you:- Accept this Privacy Policy in its entirety- Acknowledge you have read and understood all terms- Agree to comply with all applicable laws- If you are a parent linking a child's account, confirm you are that child's parent or legal guardian and are consenting on their behalf per Section..."
        },{
          "title": "Sollingo Quick Start - Get Started in 5 Minutes",
          "url": "/sollingo/quick-start/",
          "lang": "en",
          "type": "page",
          "content": "**Sollingo Documentation** | [Quick Start](/sollingo/quick-start/) | [Getting Started](/sollingo/getting-started/) | [Features](/sollingo/features/) | [Troubleshooting](/sollingo/troubleshooting/)---# Quick Start Guide**Get your family learning in 5 minutes.** This guide gets your first lesson done FAST.---## What is Sollingo?Sollingo is a **family-oriented language learning platform**. Kids complete lessons in 5 languages, earn hearts and XP, and turn that progress into real rewards — TV time, chore-earned hearts, and a virtual wallet — while parents track everything from a dashboard.---## Step 1: Sign Up (1 minute)1. **Visit [Sollingo](https://sollingo.afanou.com)**2. **Click \"Sign Up\"** and create an account with Clerk (email, Google, or another supported provider)3. **Done!** You're in.There's no credit card required to start — the core learning experience is free.---## Step 2: Select Your Course (1 minute)1. Go to..."
        },{
          "title": "Sollingo - Terms of Service",
          "url": "/sollingo/terms/",
          "lang": "en",
          "type": "page",
          "content": "# Terms of Service for Sollingo**Last Updated: February 14, 2026****Effective Date: February 14, 2026**## ⚠️ IMPORTANT LEGAL NOTICE**READ CAREFULLY BEFORE USING THIS SERVICE**These Terms of Service (\"Terms\") are a legally binding agreement between you and Bright Softwares, the operator of Sollingo (\"the Service\"). By using Sollingo, you accept ALL terms below.**IF YOU DO NOT AGREE, DO NOT USE THE SERVICE.**---## 1. Acceptance of Terms### 1.1 AgreementBy creating an account, accessing, or using Sollingo, you accept these Terms in their entirety and agree to be legally bound by them.### 1.2 Capacity- Adult account holders must be at least 18 years old (or the age of majority in their jurisdiction) and have legal capacity to enter into contracts.- **Child accounts** are created..."
        },{
          "title": "Sollingo Troubleshooting Guide",
          "url": "/sollingo/troubleshooting/",
          "lang": "en",
          "type": "page",
          "content": "**Sollingo Documentation** | [Quick Start](/sollingo/quick-start/) | [Getting Started](/sollingo/getting-started/) | [Features](/sollingo/features/) | [Troubleshooting](/sollingo/troubleshooting/)---# Troubleshooting Guide**Common issues and step-by-step fixes.**---## Table of Contents1. [Account & Sign-In Issues](#1-account--sign-in-issues)2. [Family / Parent Dashboard Issues](#2-family--parent-dashboard-issues)3. [Hearts, XP, and Lesson Issues](#3-hearts-xp-and-lesson-issues)4. [Chores Not Reflecting](#4-chores-not-reflecting)5. [TV Time Balance Looks Wrong](#5-tv-time-balance-looks-wrong)6. [Payment & Pro Subscription Problems](#6-payment--pro-subscription-problems)7. [Getting Help](#getting-help)---## 1. Account & Sign-In Issues**Problem:** Can't sign in, or a \"verify your email\" step never completes.**Fix:**1. Check your inbox (and spam folder) for the verification email from Clerk, Sollingo's sign-in provider2. Try signing in with the same method you used to sign up — a Google account and an email/password account with the same address are treated as different accounts3. If you're still stuck, request a password reset from the..."
        },{
          "title": "Sollingo - Fun Language Learning for the Whole Family",
          "url": "/en/sollingo/",
          "lang": "en",
          "type": "page",
          "content": "## Documentation**Get started with Sollingo in minutes:**- **[📚 Quick Start Guide](/sollingo/quick-start/)** - Get productive in 5 minutes- **[🚀 Getting Started Guide](/sollingo/getting-started/)** - Complete setup and onboarding- **[✨ Features Reference](/sollingo/features/)** - Comprehensive feature documentation- **[🔧 Troubleshooting](/sollingo/troubleshooting/)** - Common issues and solutions**Need help?** Email [sollingo@bright-softwares.com](mailto:sollingo@bright-softwares.com)## Legal- [Sollingo Terms and Conditions](/sollingo/terms/)- [Sollingo Privacy Policy](/sollingo/privacy/)"
        },{
          "title": "Tags",
          "url": "/tags",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "aws",
          "url": "/tag/aws/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "ec2",
          "url": "/tag/ec2/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "finops",
          "url": "/tag/finops/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "spreadsheet",
          "url": "/tag/spreadsheet/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "productivity",
          "url": "/tag/productivity/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "dataanalysis",
          "url": "/tag/dataanalysis/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "digitalocean",
          "url": "/tag/digitalocean/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "wordpress",
          "url": "/tag/wordpress/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "lamp",
          "url": "/tag/lamp/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "vps",
          "url": "/tag/vps/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "linux",
          "url": "/tag/linux/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "docker",
          "url": "/tag/docker/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "cicd",
          "url": "/tag/cicd/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "container",
          "url": "/tag/container/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "azure",
          "url": "/tag/azure/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "poweruser",
          "url": "/tag/poweruser/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "ubuntu",
          "url": "/tag/ubuntu/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "lemp",
          "url": "/tag/lemp/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "mysql",
          "url": "/tag/mysql/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "performance",
          "url": "/tag/performance/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "internet",
          "url": "/tag/internet/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "speed",
          "url": "/tag/speed/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "network",
          "url": "/tag/network/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "troubleshooting",
          "url": "/tag/troubleshooting/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "download",
          "url": "/tag/download/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "vitesse",
          "url": "/tag/vitesse/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "réseau",
          "url": "/tag/r%C3%A9seau/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "dépannage",
          "url": "/tag/d%C3%A9pannage/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "téléchargement",
          "url": "/tag/t%C3%A9l%C3%A9chargement/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "optimization",
          "url": "/tag/optimization/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "optimisation",
          "url": "/tag/optimisation/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "jq",
          "url": "/tag/jq/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "json",
          "url": "/tag/json/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "screenshot",
          "url": "/tag/screenshot/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "windows",
          "url": "/tag/windows/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "image",
          "url": "/tag/image/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "digital ocean",
          "url": "/tag/digital-ocean/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "kubernetes",
          "url": "/tag/kubernetes/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "code-server",
          "url": "/tag/code-server/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "cloud",
          "url": "/tag/cloud/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "platform",
          "url": "/tag/platform/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "slack",
          "url": "/tag/slack/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "bot",
          "url": "/tag/bot/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "python",
          "url": "/tag/python/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "helm",
          "url": "/tag/helm/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "automation",
          "url": "/tag/automation/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "minikube",
          "url": "/tag/minikube/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "virtual-machine",
          "url": "/tag/virtual-machine/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "virtualbox",
          "url": "/tag/virtualbox/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "driver",
          "url": "/tag/driver/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "visual-studio-code",
          "url": "/tag/visual-studio-code/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "installation",
          "url": "/tag/installation/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "nginx",
          "url": "/tag/nginx/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "coder",
          "url": "/tag/coder/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "devops",
          "url": "/tag/devops/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "ci-cd",
          "url": "/tag/ci-cd/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "websocket",
          "url": "/tag/websocket/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "security",
          "url": "/tag/security/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "new-year",
          "url": "/tag/new-year/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "bonne-annee",
          "url": "/tag/bonne-annee/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "best-wishes",
          "url": "/tag/best-wishes/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "meilleurs-voeux",
          "url": "/tag/meilleurs-voeux/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "kubernetes-helm",
          "url": "/tag/kubernetes-helm/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "ingress",
          "url": "/tag/ingress/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "controller",
          "url": "/tag/controller/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "pod",
          "url": "/tag/pod/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "dolibarr",
          "url": "/tag/dolibarr/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "database",
          "url": "/tag/database/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "permission",
          "url": "/tag/permission/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "dockercompose",
          "url": "/tag/dockercompose/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "laravel",
          "url": "/tag/laravel/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "pgsql",
          "url": "/tag/pgsql/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "postgres",
          "url": "/tag/postgres/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "jenkins",
          "url": "/tag/jenkins/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "hudson",
          "url": "/tag/hudson/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "java",
          "url": "/tag/java/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "jdk",
          "url": "/tag/jdk/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "jre",
          "url": "/tag/jre/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "jekins",
          "url": "/tag/jekins/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "taskrunner",
          "url": "/tag/taskrunner/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "pipeline",
          "url": "/tag/pipeline/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "plugins",
          "url": "/tag/plugins/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "groovy",
          "url": "/tag/groovy/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "containers",
          "url": "/tag/containers/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "root",
          "url": "/tag/root/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "regex",
          "url": "/tag/regex/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "email-validation",
          "url": "/tag/email-validation/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "programming",
          "url": "/tag/programming/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "processes",
          "url": "/tag/processes/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "jenkinsfile",
          "url": "/tag/jenkinsfile/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "apache",
          "url": "/tag/apache/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "php",
          "url": "/tag/php/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "networking",
          "url": "/tag/networking/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "ping",
          "url": "/tag/ping/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "git",
          "url": "/tag/git/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "mercurial",
          "url": "/tag/mercurial/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "version control",
          "url": "/tag/version-control/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "developer",
          "url": "/tag/developer/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "code",
          "url": "/tag/code/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "windows11",
          "url": "/tag/windows11/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "no-code",
          "url": "/tag/no-code/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "solution",
          "url": "/tag/solution/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "digital",
          "url": "/tag/digital/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "transformation",
          "url": "/tag/transformation/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "low code",
          "url": "/tag/low-code/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "hyperautomation",
          "url": "/tag/hyperautomation/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "twin",
          "url": "/tag/twin/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "homelab",
          "url": "/tag/homelab/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "securite",
          "url": "/tag/securite/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "google",
          "url": "/tag/google/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "data analysis",
          "url": "/tag/data-analysis/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "current user",
          "url": "/tag/current-user/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "business",
          "url": "/tag/business/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "buyer persona",
          "url": "/tag/buyer-persona/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "cli",
          "url": "/tag/cli/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "fastapi",
          "url": "/tag/fastapi/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "cloudinary",
          "url": "/tag/cloudinary/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "storage",
          "url": "/tag/storage/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "architecture",
          "url": "/tag/architecture/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "image-generation",
          "url": "/tag/image-generation/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "gmail",
          "url": "/tag/gmail/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "google-workspace",
          "url": "/tag/google-workspace/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "software-engineering",
          "url": "/tag/software-engineering/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "code-review",
          "url": "/tag/code-review/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "saas",
          "url": "/tag/saas/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "pilotflow",
          "url": "/tag/pilotflow/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "s3",
          "url": "/tag/s3/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "oauth",
          "url": "/tag/oauth/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "google-apps-script",
          "url": "/tag/google-apps-script/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "certification",
          "url": "/tag/certification/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "pytest",
          "url": "/tag/pytest/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "testing",
          "url": "/tag/testing/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "svg-injection",
          "url": "/tag/svg-injection/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "api",
          "url": "/tag/api/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "openwrt",
          "url": "/tag/openwrt/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "xiaomi",
          "url": "/tag/xiaomi/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "wifi",
          "url": "/tag/wifi/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "802.11r",
          "url": "/tag/802-11r/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "privacy-policy",
          "url": "/tag/privacy-policy/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "terms-of-service",
          "url": "/tag/terms-of-service/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "legal",
          "url": "/tag/legal/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "en",
          "url": "/category/en/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "aws",
          "url": "/category/aws/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "data-analysis",
          "url": "/category/data-analysis/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "fr",
          "url": "/category/fr/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "docker",
          "url": "/category/docker/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "webdevelopment",
          "url": "/category/webdevelopment/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "wordpress",
          "url": "/category/wordpress/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "ubuntu",
          "url": "/category/ubuntu/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "javascript",
          "url": "/category/javascript/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "database",
          "url": "/category/database/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "slack",
          "url": "/category/slack/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "productivity",
          "url": "/category/productivity/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "kubernetes",
          "url": "/category/kubernetes/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "backup-restore",
          "url": "/category/backup-restore/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "fax",
          "url": "/category/fax/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "screenshot",
          "url": "/category/screenshot/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "security",
          "url": "/category/security/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "bestwishes",
          "url": "/category/bestwishes/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "meilleursvoeux",
          "url": "/category/meilleursvoeux/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "code-server",
          "url": "/category/code-server/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "network",
          "url": "/category/network/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "jenkins",
          "url": "/category/jenkins/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "laravel",
          "url": "/category/laravel/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "regex",
          "url": "/category/regex/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "git",
          "url": "/category/git/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "linux",
          "url": "/category/linux/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "digital-automate",
          "url": "/category/digital-automate/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "python",
          "url": "/category/python/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "google-workspace",
          "url": "/category/google-workspace/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "homelab",
          "url": "/category/homelab/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "networking",
          "url": "/category/networking/",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "Blog",
          "url": "/en/blog.html/index.html",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "Blog",
          "url": "/fr/blog.html/index.html",
          "lang": "fr",
          "type": "page",
          "content": ""
        },{
          "title": "Blog",
          "url": "/blog/index.html",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "Automate Your Business Processes",
          "url": "/index.html",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
          "title": "Automatisez vos processus métier",
          "url": "/fr/index.html",
          "lang": "fr",
          "type": "page",
          "content": ""
        },{
          "title": "Automate Your Business Processes",
          "url": "/en/index.html",
          "lang": "en",
          "type": "page",
          "content": ""
        },{
      "title": "Niveaux de scopes OAuth Gmail : ce que tout développeur d’addon Workspace doit savoir",
      "url": "/blog/fr/google-workspace/niveaux-scopes-oauth-gmail-ce-que-tout-developpeur-addon-workspace-doit-savoir",
      "lang": "fr",
      "type": "blog",
      "content": "Les scopes OAuth Gmail se divisent en trois niveaux — public, sensible et restreint — et le niveau détermine tout, du coût de certification à la façon dont Google présente votre addon lors de l'installation. Voici comment lire la classification et faire le bon choix."
    },{
      "title": "Niveaux OAuth Gmail : Ce Que Tout Développeur Workspace Doit Savoir",
      "url": "/blog/fr/google-workspace/niveaux-oauth-gmail-ce-que-tout-developpeur-workspace-doit-savoir",
      "lang": "fr",
      "type": "blog",
      "content": "Les scopes OAuth Gmail se déclinent en trois niveaux — public, sensible et restreint — et ce niveau détermine tout, du coût de certification à la façon dont Google présente votre extension lors de l'installation. Voici comment lire cette classification et faire le bon choix."
    },{
      "title": "Gmail OAuth Scope Tiers: What Every Workspace Addon Developer Must Know",
      "url": "/blog/en/google-workspace/gmail-oauth-scope-tiers-what-every-workspace-addon-developer-must-know",
      "lang": "en",
      "type": "blog",
      "content": "Gmail OAuth scopes come in three tiers — public, sensitive, and restricted — and the tier determines everything from certification cost to how Google presents your addon during installation. Here's how to read the classification and make the right choice."
    },{
      "title": "Le Mensonge des 50 000 $ qui a Failli Tuer Mon Add-on Gmail",
      "url": "/blog/fr/google-workspace/le-mensonge-des-50000-dollars-qui-a-failli-tuer-mon-addon-gmail",
      "lang": "fr",
      "type": "blog",
      "content": "Avant de construire Pilotflow, on m'a averti qu'un addon Gmail avec accès à la boîte de réception coûterait entre 50 000 et 75 000 $ en certification de sécurité. Le vrai chiffre s'est avéré 99 % moins cher. Voici ce que j'ai trouvé."
    },{
      "title": "Le Mensonge à 50 000 $ qui a Failli Tuer Mon Extension Gmail",
      "url": "/blog/fr/google-workspace/le-mensonge-a-50000-dollars-qui-a-failli-tuer-mon-extension-gmail",
      "lang": "fr",
      "type": "blog",
      "content": "Avant de construire Pilotflow, on m'avait averti qu'une extension Gmail avec accès à la boîte de réception coûterait entre 50 000 $ et 75 000 $ en certification de sécurité. Le vrai chiffre s'est avéré 99 % moins élevé. Voici ce que j'ai trouvé."
    },{
      "title": "The $50,000 Lie That Almost Killed My Gmail Addon",
      "url": "/blog/en/google-workspace/the-50000-lie-that-almost-killed-my-gmail-addon",
      "lang": "en",
      "type": "blog",
      "content": "Before building Pilotflow, I was warned that a Gmail addon with inbox access would cost $50,000–$75,000 in security certification. The real number turned out to be 99% cheaper. Here's what I found."
    },{
      "title": "Scopes OAuth Gmail Décryptés : Le Système à 3 Niveaux qui Détermine Votre Chemin de Lancement",
      "url": "/blog/fr/google-workspace/scopes-oauth-gmail-decryptes-le-systeme-a-3-niveaux-qui-determine-votre-chemin-de-lancement",
      "lang": "fr",
      "type": "blog",
      "content": "Google classe les scopes OAuth Gmail en trois niveaux, et le niveau dans lequel tombe votre extension détermine si vous avez besoin d'une certification de sécurité à 1 800 $/an. Une différence d'un mot peut tout changer."
    },{
      "title": "Gmail OAuth Scopes Décodés : Le Système à 3 Niveaux qui Détermine Votre Chemin de Lancement",
      "url": "/blog/fr/google-workspace/gmail-oauth-scopes-decodes-le-systeme-a-3-niveaux-qui-determine-votre-chemin-de-lancement",
      "lang": "fr",
      "type": "blog",
      "content": "Google classe les scopes OAuth Gmail en trois niveaux, et celui dans lequel tombe votre add-on détermine si vous avez besoin d'une certification de sécurité à 1 800 $/an. Une différence d'un seul mot peut tout changer."
    },{
      "title": "Gmail OAuth Scopes Decoded: The 3-Tier System That Determines Your Launch Path",
      "url": "/blog/en/google-workspace/gmail-oauth-scopes-decoded-the-3-tier-system-that-determines-your-launch-path",
      "lang": "en",
      "type": "blog",
      "content": "Google classifies Gmail OAuth scopes into three tiers, and which tier your add-on falls into determines whether you need a $1,800/year security certification. One word difference can change everything."
    },{
      "title": "Documents Légaux pour Add-ons Gmail : Ce que Google Examine et Comment Déployer en 15 Minutes",
      "url": "/blog/fr/google-workspace/documents-legaux-pour-add-ons-gmail-ce-que-google-examine-et-comment-deployer-en-15-minutes",
      "lang": "fr",
      "type": "blog",
      "content": "Google exige une Politique de Confidentialité et des Conditions Générales d'Utilisation avant de configurer l'écran de consentement OAuth d'un add-on Gmail. Voici comment la réutilisation de templates a réduit ce travail de 2 heures à 15 minutes — et ce que ces documents doivent vraiment dire."
    },{
      "title": "Documents Légaux pour Extensions Gmail : Ce que Google Examine et Comment Déployer en 15 Minutes",
      "url": "/blog/fr/google-workspace/documents-legaux-extensions-gmail-ce-que-google-examine-et-comment-deployer-en-15-minutes",
      "lang": "fr",
      "type": "blog",
      "content": "Google exige une Politique de Confidentialité et des Conditions d'Utilisation avant qu'une extension Gmail puisse configurer son écran de consentement OAuth. Voici comment la réutilisation de modèles a réduit ce travail de 2 heures à 15 minutes — et ce que ces documents doivent réellement dire."
    },{
      "title": "Legal Documents for Gmail Add-ons: What Google Reviews and How to Deploy in 15 Minutes",
      "url": "/blog/en/google-workspace/legal-documents-for-gmail-add-ons-what-google-reviews-and-how-to-deploy-in-15-minutes",
      "lang": "en",
      "type": "blog",
      "content": "Google requires a Privacy Policy and Terms of Service before any Gmail add-on can configure its OAuth consent screen. Here's how template reuse cut that work from 2 hours to 15 minutes — and what those documents actually need to say."
    },{
      "title": "Les 5 cas limites qui cassent les APIs de génération d’images (trouvés en production, testés dans le code)",
      "url": "/blog/fr/python/les-5-cas-limites-qui-cassent-les-apis-de-generation-dimages",
      "lang": "fr",
      "type": "blog",
      "content": "Cinq scénarios où une API de génération d'images échoue silencieusement, facture incorrectement ou se fait exploiter — et les tests qui ont détecté chacun avant la production."
    },{
      "title": "Les 5 Cas Limites qui Brisent les APIs de Génération d’Images (Trouvés en Production, Testés en Code)",
      "url": "/blog/fr/python/les-5-cas-limites-qui-brisent-les-apis-de-generation-dimages-trouves-en-production-testes-en-code",
      "lang": "fr",
      "type": "blog",
      "content": "Cinq scénarios où une API de génération d'images échoue silencieusement, facture incorrectement ou se fait exploiter — et les tests qui ont détecté chacun d'eux avant la production."
    },{
      "title": "The 5 Edge Cases That Break Image Generation APIs (Found in Production, Tested in Code)",
      "url": "/blog/en/python/the-5-edge-cases-that-break-image-generation-apis-found-in-production-tested-in-code",
      "lang": "en",
      "type": "blog",
      "content": "Five scenarios where an image generation API fails silently, charges incorrectly, or gets exploited — and the tests that caught each one before production."
    },{
      "title": "Comment j’ai corrigé le roaming WiFi entre deux routeurs Xiaomi sous OpenWrt",
      "url": "/blog/fr/homelab/networking/comment-jai-corrige-le-roaming-wifi-entre-mes-deux-routeurs-xiaomi-openwrt",
      "lang": "fr",
      "type": "blog",
      "content": "Mes appareils à l'étage n'arrivaient pas à se connecter au routeur du deuxième étage. Voici comment j'ai diagnostiqué le vrai problème (une mauvaise configuration du bridge) et appliqué trois correctifs ciblés pour obtenir un roaming WiFi fluide avec OpenWrt."
    },{
      "title": "How I Fixed WiFi Roaming Between Two Xiaomi Routers Running OpenWrt",
      "url": "/blog/en/homelab/networking/how-i-fixed-wifi-roaming-between-xiaomi-openwrt-routers",
      "lang": "en",
      "type": "blog",
      "content": "My upstairs devices kept failing to connect to the second floor router. Here is how I diagnosed the real problem (a bridging misconfiguration) and applied three targeted fixes to get seamless roaming with OpenWrt."
    },{
      "title": "Les 5 cas limites qui casseront votre API de génération d’images (et comment les tester)",
      "url": "/blog/fr/python/les-5-cas-limites-qui-casseront-votre-api-de-generation-dimages",
      "lang": "fr",
      "type": "blog",
      "content": "Les cas de test classiques échouent rarement une fois le code écrit. Ces cinq cas limites, eux, échouent — en production, aux pires moments. Voici ce que chacun teste et pourquoi cela compte."
    },{
      "title": "The 5 Edge Cases That Will Break Your Image Generation API (And How to Test Each One)",
      "url": "/blog/en/python/the-5-edge-cases-that-will-break-your-image-generation-api-and-how-to-test-each-one",
      "lang": "en",
      "type": "blog",
      "content": "The straightforward test cases almost never fail once the code is written. These five edge cases do — in production, at the worst moments. Here's what each one tests and why it matters."
    },{
      "title": "Quatre Backends de Stockage, Une Seule Interface : Construire une Couche de Stockage d’Images Modulaire en Python",
      "url": "/blog/fr/python/quatre-backends-de-stockage-une-seule-interface-construire-une-couche-de-stockage-image-modulaire-en-python",
      "lang": "fr",
      "type": "blog",
      "content": "Comment implémenter Cloudinary, le système de fichiers local, S3 et le téléchargement direct comme backends de stockage interchangeables derrière une seule interface Python — avec des notes sur les contrôles de confidentialité, le nettoyage en cas d'échec, et pourquoi les octets ne mentent pas sur leur format."
    },{
      "title": "Quatre Backends de Stockage, Une Interface : Construire une Couche de Stockage d’Images Modulaire en Python",
      "url": "/blog/fr/python/four-storage-backends-one-interface-building-a-pluggable-image-storage-layer-in-python",
      "lang": "fr",
      "type": "blog",
      "content": "Comment implémenter Cloudinary, le système de fichiers local, S3 et le téléchargement direct comme backends de stockage interchangeables derrière une interface Python unique — avec des notes sur les contrôles de confidentialité, le nettoyage en cas d'échec, et pourquoi les bytes ne mentent pas sur leur format."
    },{
      "title": "Four Storage Backends, One Interface: Building a Pluggable Image Storage Layer in Python",
      "url": "/blog/en/python/four-storage-backends-one-interface-building-a-pluggable-image-storage-layer-in-python",
      "lang": "en",
      "type": "blog",
      "content": "How to implement Cloudinary, local file system, S3, and direct download as interchangeable storage backends behind a single Python interface — with notes on privacy controls, cleanup-on-failure, and why bytes don't lie about their format."
    },{
      "title": "Ce que j’ai trouvé dans le Codebase de Pilotflow avant d’écrire une seule ligne de code",
      "url": "/blog/fr/google-workspace/what-i-found-in-the-pilotflow-codebase-before-writing-a-line-of-new-code",
      "lang": "fr",
      "type": "blog",
      "content": "Avant d'ajouter la moindre fonctionnalité à Pilotflow, j'ai lu l'intégralité du codebase existant. J'ai trouvé un bug de retraitement enfoui dans la logique de suivi des threads — le genre qui cause une perte de données silencieuse et reste invisible jusqu'en production."
    },{
      "title": "Ce que j’ai Trouvé dans la Codebase Pilotflow Avant d’Écrire une Ligne de Nouveau Code",
      "url": "/blog/fr/google-workspace/ce-que-j-ai-trouve-dans-la-codebase-pilotflow-avant-d-ecrire-une-ligne-de-nouveau-code",
      "lang": "fr",
      "type": "blog",
      "content": "Avant d'ajouter la moindre fonctionnalité à Pilotflow, j'ai lu toute la codebase existante. J'ai trouvé un bug de retraitement enfoui dans la logique de suivi des fils — le genre qui cause une perte de données silencieuse et est invisible jusqu'en production."
    },{
      "title": "What I Found in the Pilotflow Codebase Before Writing a Line of New Code",
      "url": "/blog/en/google-workspace/what-i-found-in-the-pilotflow-codebase-before-writing-a-line-of-new-code",
      "lang": "en",
      "type": "blog",
      "content": "Before adding a single feature to Pilotflow, I read the entire existing codebase first. I found a reprocessing bug buried in the thread-tracking logic — the kind that causes silent data loss and is invisible until production."
    },{
      "title": "Pourquoi “Utilise simplement Cloudinary” était la mauvaise réponse pour mon API de Génération d’Images",
      "url": "/blog/fr/python/why-just-use-cloudinary-was-the-wrong-answer-for-my-image-generation-api",
      "lang": "fr",
      "type": "blog",
      "content": "La première version de Smart Assets Manager n'avait qu'un seul backend de stockage — Cloudinary. En deux semaines, trois cas d'utilisation différents sont apparus que Cloudinary ne pouvait pas gérer. Voici ce que la couche d'abstraction a coûté à construire et ce qu'elle a évité."
    },{
      "title": "Why ‘Just Use Cloudinary’ Was the Wrong Answer for My Image Generation API",
      "url": "/blog/en/python/why-just-use-cloudinary-was-the-wrong-answer-for-my-image-generation-api",
      "lang": "en",
      "type": "blog",
      "content": "The first version of Smart Assets Manager had one storage backend — Cloudinary. Within two weeks, three different use cases appeared that Cloudinary couldn't handle. Here's what the abstraction layer cost to build and what it prevented."
    },{
      "title": "Le Mensonge à 50 000 $ qui a failli tuer mon Addon Gmail",
      "url": "/blog/fr/google-workspace/the-50000-lie-that-almost-killed-my-gmail-addon",
      "lang": "fr",
      "type": "blog",
      "content": "Avant de construire Pilotflow, on m'avait averti qu'un addon Gmail avec accès à la boîte de réception coûterait 50 000 $ à 75 000 $ en certification de sécurité. Le vrai chiffre s'est avéré 99 % moins cher. Voici ce que j'ai découvert."
    },{
      "title": "Pourquoi « Utiliser Cloudinary » Est la Mauvaise Réponse pour les APIs de Génération d’Images",
      "url": "/blog/fr/python/pourquoi-utiliser-cloudinary-est-la-mauvaise-reponse-pour-les-apis-de-generation-dimages",
      "lang": "fr",
      "type": "blog",
      "content": "Chaque API de génération d'images finit par se poser la question : où va l'image ? La réponse révèle si vous avez construit un système ou juste un contournement. Voici pourquoi une couche d'abstraction du stockage est la bonne valeur par défaut."
    },{
      "title": "Why ‘Just Use Cloudinary’ Is the Wrong Answer for Image Generation APIs",
      "url": "/blog/en/python/why-just-use-cloudinary-is-the-wrong-answer-for-image-generation-apis",
      "lang": "en",
      "type": "blog",
      "content": "Every image generation API eventually asks — where does the image go? The answer reveals whether you've built a system or just a workaround. Here's why a storage abstraction layer is the right default."
    },{
      "title": "Le Mythe des 50 000 $ pour un Add-on Gmail : Ce que Coûte Vraiment la Certification CASA de Google",
      "url": "/blog/fr/google-workspace/le-mythe-des-50000-dollars-ce-que-coute-vraiment-la-certification-casa-de-google",
      "lang": "fr",
      "type": "blog",
      "content": "Internet affirme que la certification CASA Tier 2 coûte entre 50 000 et 75 000 $ pour les add-ons Gmail. Ce chiffre est répété partout. Il est aussi faux. Voici ce que j'ai trouvé en remontant à la source."
    },{
      "title": "The $50,000 Gmail Add-on Myth: What Google’s CASA Certification Really Costs",
      "url": "/blog/en/google-workspace/the-50000-gmail-add-on-myth-what-google-s-casa-certification-really-costs",
      "lang": "en",
      "type": "blog",
      "content": "The internet says CASA Tier 2 certification costs $50,000–$75,000 for Gmail add-ons. That number is repeated everywhere. It's also wrong. Here's what I found when I checked the source."
    },{
      "title": "Quatre backends de stockage, une interface : construire une couche de stockage d’images modulaire en Python",
      "url": "/blog/fr/python/quatre-backends-de-stockage-une-interface-couche-de-stockage-pluggable-en-python",
      "lang": "fr",
      "type": "blog",
      "content": "Comment implémenter Cloudinary, le système de fichiers local, S3 et le téléchargement direct comme backends de stockage interchangeables derrière une seule interface Python — avec contrôles de confidentialité et nettoyage automatique en cas d'échec."
    },{
      "title": "Trouver les Bugs Avant d’Écrire le Code : Une Revue de Codebase Pré-Développement",
      "url": "/blog/fr/google-workspace/trouver-les-bugs-avant-d-ecrire-le-code-une-revue-de-codebase-pre-developpement",
      "lang": "fr",
      "type": "blog",
      "content": "Avant d'ajouter de nouvelles fonctionnalités à Pilotflow, j'ai analysé le codebase existant en premier. J'ai trouvé un bug de transfert qui aurait cassé les nouvelles fonctionnalités — enfoui dans du code que je n'avais pas écrit."
    },{
      "title": "Finding Bugs Before You Write Code: A Pre-Development Codebase Review",
      "url": "/blog/en/google-workspace/finding-bugs-before-you-write-code-a-pre-development-codebase-review",
      "lang": "en",
      "type": "blog",
      "content": "Before adding new features to Pilotflow, I analyzed the existing codebase first. I found a forwarding bug that would have broken the new features — buried in code I hadn't written."
    },{
      "title": "Pourquoi « Juste Utiliser Cloudinary » Était la Mauvaise Réponse pour Mon API de Génération d’Images",
      "url": "/blog/fr/python/pourquoi-utiliser-cloudinary-etait-la-mauvaise-reponse-pour-mon-api-de-generation-dimages",
      "lang": "fr",
      "type": "blog",
      "content": "La première version de Smart Assets Manager n'avait qu'un seul backend de stockage — Cloudinary. En deux semaines, trois cas d'usage sont apparus que Cloudinary ne pouvait pas gérer. Voici ce que la couche d'abstraction a coûté à construire et ce qu'elle a évité."
    },{
      "title": "L’Art IA Libéré : Top 10 des Prompts DALL-E 3 Qui Ont Redéfini 2023 !",
      "url": "/blog/fr/ai-artistry-unleashed-top-10-dall-e-3-prompts-that-redefined-2023",
      "lang": "fr",
      "type": "blog",
      "content": "Artificial Intelligence (AI) has unlocked unprecedented possibilities in the realm of creative expression, propelling us into a new era of **AI-assisted artistry**. As a **Data Scientist**, it's imperative to comprehend the fusion of human creativity and computational power, especially in platforms like **DALL-E 3**. Let's delve into the nuances of this technology and explore the top 10 prompts that have defined the landscape of AI-generated art in 2023. {% include common/affiliation/in_post_dynamic_728x90.html %} AI image generation tools like **DALL-E 3**, **Midjourney**, and **Adobe Firefly 2** are akin to a sophisticated artist's toolbox. Just as a painter utilizes brushes, canvases, and colors to create masterpieces, these tools harness algorithms and massive datasets to produce captivating and diverse visual content. **DALL-E 3**, for..."
    },{
      "title": "AI Artistry Unleashed: Top 10 DALL-E 3 Prompts That Redefined 2023!",
      "url": "/blog/en/ai-artistry-unleashed-top-10-dall-e-3-prompts-that-redefined-2023",
      "lang": "en",
      "type": "blog",
      "content": "Artificial Intelligence (AI) has unlocked unprecedented possibilities in the realm of creative expression, propelling us into a new era of **AI-assisted artistry**. As a **Data Scientist**, it's imperative to comprehend the fusion of human creativity and computational power, especially in platforms like **DALL-E 3**. Let's delve into the nuances of this technology and explore the top 10 prompts that have defined the landscape of AI-generated art in 2023. {% include common/affiliation/in_post_dynamic_728x90.html %} AI image generation tools like **DALL-E 3**, **Midjourney**, and **Adobe Firefly 2** are akin to a sophisticated artist's toolbox. Just as a painter utilizes brushes, canvases, and colors to create masterpieces, these tools harness algorithms and massive datasets to produce captivating and diverse visual content. **DALL-E 3**, for..."
    },{
      "title": "Solutions de Location pour les 3PL dans un Paysage Logistique Dynamique",
      "url": "/blog/fr/leasing-solutions-for-3pls-in-a-dynamic-logistics-landscape",
      "lang": "fr",
      "type": "blog",
      "content": "Automation in logistics, particularly within the domain of **Third-Party Logistics (3PLs)**, is experiencing a significant evolution. Traditionally, the relationship between a 3PL and its clients revolved around winning contracts first and considering automation later for efficient execution. However, a radical shift is occurring—some 3PLs are now investing in **flexible automation** upfront before pitching their solutions to potential clients. This change allows them to tailor their offerings more precisely and cater to evolving market demands. Imagine it as preparing a toolkit of automated solutions before even entering the contract negotiation room. In the past, 3PLs faced the risk of investing in automation tailored to a specific client's needs, only to find the client not renewing the contract, leading to delayed Return..."
    },{
      "title": "Leasing Solutions for 3PLs in a Dynamic Logistics Landscape",
      "url": "/blog/en/leasing-solutions-for-3pls-in-a-dynamic-logistics-landscape",
      "lang": "en",
      "type": "blog",
      "content": "Automation in logistics, particularly within the domain of **Third-Party Logistics (3PLs)**, is experiencing a significant evolution. Traditionally, the relationship between a 3PL and its clients revolved around winning contracts first and considering automation later for efficient execution. However, a radical shift is occurring—some 3PLs are now investing in **flexible automation** upfront before pitching their solutions to potential clients. This change allows them to tailor their offerings more precisely and cater to evolving market demands. Imagine it as preparing a toolkit of automated solutions before even entering the contract negotiation room. In the past, 3PLs faced the risk of investing in automation tailored to a specific client's needs, only to find the client not renewing the contract, leading to delayed Return..."
    },{
      "title": "Exploiter l’IA pour une Automatisation Améliorée",
      "url": "/blog/fr/exploiter-ia-pour-automatisation-amelioree",
      "lang": "fr",
      "type": "blog",
      "content": "Dans le paysage technologique en rapide évolution, la collaboration entre **Automation Anywhere** et **Amazon Web Services (AWS)** représente un bond significatif dans l'accessibilité des solutions d'**IA générative** pour les entreprises. Ce partenariat stratégique ouvre de nombreuses possibilités, remodelant la façon dont les entreprises fonctionnent grâce à l'intégration de l'**IA** dans leurs cadres opérationnels. L'initiative conjointe se concentre sur la livraison de solutions d'automatisation basées sur l'IA générative dans divers secteurs."
    },{
      "title": "Harnessing AI for Enhanced Automation",
      "url": "/blog/en/harnessing-ai-for-enhanced-automation",
      "lang": "en",
      "type": "blog",
      "content": "In the fast-evolving landscape of technological advancements, the collaboration between **Automation Anywhere** and **Amazon Web Services (AWS)** marks a significant leap in **generative AI** solutions' accessibility for enterprises. This strategic partnership introduces a multitude of possibilities, reshaping the way businesses function through the integration of **AI** in their operational frameworks. The joint initiative focuses on delivering cutting-edge **generative AI-based automation solutions** across various industries. The alliance aims to expedite the deployment of **automation**, ensuring swift and efficient adoption for businesses worldwide. The partnership's primary objective is to empower businesses by leveraging the prowess of **generative AI**. This move intends to revolutionize workflows across organizations, enabling companies to unlock new dimensions of efficiency and innovation. Automation Anywhere, a frontrunner in **intelligent..."
    },{
      "title": "Maîtriser les Outils Internes : Automatisation Efficace des Workflows",
      "url": "/blog/fr/maitriser-outils-internes-automatisation-workflow-rentable",
      "lang": "fr",
      "type": "blog",
      "content": "En tant qu'administrateur système, comprendre la dynamique des **outils internes** et de l'**automatisation des workflows** est essentiel pour optimiser les opérations organisationnelles. Les outils internes sont des applications sur mesure conçues pour rationaliser les processus métier spécifiques. L'automatisation des workflows utilise la technologie pour automatiser les tâches répétitives. Nous explorons ici les coûts associés au développement d'applications internes et les solutions low-code pour créer des outils efficaces à moindre coût."
    },{
      "title": "Maîtriser les Outils Internes : Automatisation Rentable des Workflows",
      "url": "/blog/fr/maitriser-les-outils-internes-automatisation-workflow",
      "lang": "fr",
      "type": "blog",
      "content": "En tant qu'administrateur système, comprendre les dynamiques des **outils internes** et de l'**automatisation des workflows** est essentiel pour optimiser les opérations organisationnelles. Les outils internes sont des applications sur mesure conçues pour rationaliser les workflows spécifiques d'une organisation. L'automatisation des workflows consiste à utiliser la technologie pour automatiser les tâches répétitives, permettant une exécution fluide sans intervention humaine constante."
    },{
      "title": "Mastering Internal Tools: Cost-Efficient Workflow Automation",
      "url": "/blog/en/mastering-internal-tools-cost-efficient-workflow-automation",
      "lang": "en",
      "type": "blog",
      "content": "As a System Administrator, comprehending the dynamics of **internal tools** and **workflow automation** is crucial for optimizing organizational operations. Let's dive into these terms: Internal tools refer to custom-built applications designed to streamline and optimize an organization's specific **business workflows, processes, and policies**. These tools act as personalized assistants, aiding employees in completing tasks related to various internal operations. Analogously, they're like tailor-made suits that perfectly fit an individual's unique measurements rather than off-the-rack options. Workflow automation involves using technology to automate repetitive tasks, enabling seamless execution of processes without constant human intervention. It's akin to a well-programmed assembly line in a manufacturing plant, where each task is efficiently managed by machines, allowing human workers to focus on higher-level activities...."
    },{
      "title": "Unlocking Potential: Keywords Studios’ Strategic Move with Helpshift Inc.",
      "url": "/blog/fr/unlocking-potential-keywords-studios-strategic-move-with-helpshift-inc",
      "lang": "fr",
      "type": "blog",
      "content": "In the dynamic landscape of the gaming industry, mergers and acquisitions can significantly impact player experience and industry advancements. As a **System Administrator**, it's crucial to delve into the recent acquisition of **Helpshift Inc. by Keywords Studios PLC**. Let's break down this pivotal move, explore its impact, and understand the integration plans. Keywords Studios PLC serves as a technical and creative services provider to the video games industry, akin to a backstage team ensuring the seamless performance of a theater production. They handle various technical aspects, such as sound, lighting, and stage setup, to enhance the overall experience. Helpshift Inc., on the other hand, resembles a specialized tool within Keywords' arsenal, operating like a finely tuned instrument in an orchestra...."
    },{
      "title": "Stimuler la Croissance avec l’Intégration Stratégique de l’IA : Points Clés",
      "url": "/blog/fr/driving-business-growth-with-strategic-ai-integration-key-insights",
      "lang": "fr",
      "type": "blog",
      "content": "AI, or **Artificial Intelligence**, is a transformative technology that simulates human intelligence processes using machines. This enables computers to perform tasks typically requiring human intelligence, such as problem-solving, learning, and decision-making. In the context of businesses, AI is revolutionizing industries by automating processes, enhancing productivity, and enabling more informed decision-making. This technology encompasses various subfields, including machine learning, natural language processing, and robotics, among others. Machine learning is a subset of AI that enables machines to learn from data and improve their performance without explicit programming. Think of it as a student learning from examples – the more data (or examples) it's exposed to, the better it becomes at recognizing patterns and making predictions. For instance, in healthcare, machine learning..."
    },{
      "title": "Unlocking Potential: Keywords Studios’ Strategic Move with Helpshift Inc.",
      "url": "/blog/en/unlocking-potential-keywords-studios-strategic-move-with-helpshift-inc",
      "lang": "en",
      "type": "blog",
      "content": "In the dynamic landscape of the gaming industry, mergers and acquisitions can significantly impact player experience and industry advancements. As a **System Administrator**, it's crucial to delve into the recent acquisition of **Helpshift Inc. by Keywords Studios PLC**. Let's break down this pivotal move, explore its impact, and understand the integration plans. Keywords Studios PLC serves as a technical and creative services provider to the video games industry, akin to a backstage team ensuring the seamless performance of a theater production. They handle various technical aspects, such as sound, lighting, and stage setup, to enhance the overall experience. Helpshift Inc., on the other hand, resembles a specialized tool within Keywords' arsenal, operating like a finely tuned instrument in an orchestra...."
    },{
      "title": "Driving Business Growth with Strategic AI Integration: Key Insights",
      "url": "/blog/en/driving-business-growth-with-strategic-ai-integration-key-insights",
      "lang": "en",
      "type": "blog",
      "content": "AI, or **Artificial Intelligence**, is a transformative technology that simulates human intelligence processes using machines. This enables computers to perform tasks typically requiring human intelligence, such as problem-solving, learning, and decision-making. In the context of businesses, AI is revolutionizing industries by automating processes, enhancing productivity, and enabling more informed decision-making. This technology encompasses various subfields, including machine learning, natural language processing, and robotics, among others. Machine learning is a subset of AI that enables machines to learn from data and improve their performance without explicit programming. Think of it as a student learning from examples – the more data (or examples) it's exposed to, the better it becomes at recognizing patterns and making predictions. For instance, in healthcare, machine learning..."
    },{
      "title": "Understanding code-server product.json in Cloud Development",
      "url": "/blog/fr/understanding-code-server-product-json-in-cloud-development",
      "lang": "fr",
      "type": "blog",
      "content": "In the realm of cloud-based development, tools like **code-server** streamline workflows by enabling the use of familiar coding environments within browsers. A critical file within this ecosystem is **Code-Server Product.json**, pivotal for configuring settings and extensions. Understanding its nuances empowers developers to orchestrate a seamless development environment. At its core, **Code-Server Product.json** serves as a configuration file integral to the functioning of code-server. It encapsulates vital project data, including name, description, version, and dependencies. Think of it as a blueprint that dictates how code-server should assemble the workspace, akin to a recipe guiding the construction of a complex dish. {% include common/affiliation/in_post_dynamic_728x90.html %} The **product.json** file embodies essential components. It defines the project's fundamental attributes: **\"name,\" \"description,\" \"version,\"** and a..."
    },{
      "title": "Understanding code-server product.json in Cloud Development",
      "url": "/blog/en/understanding-code-server-product-json-in-cloud-development",
      "lang": "en",
      "type": "blog",
      "content": "In the realm of cloud-based development, tools like **code-server** streamline workflows by enabling the use of familiar coding environments within browsers. A critical file within this ecosystem is **Code-Server Product.json**, pivotal for configuring settings and extensions. Understanding its nuances empowers developers to orchestrate a seamless development environment. At its core, **Code-Server Product.json** serves as a configuration file integral to the functioning of code-server. It encapsulates vital project data, including name, description, version, and dependencies. Think of it as a blueprint that dictates how code-server should assemble the workspace, akin to a recipe guiding the construction of a complex dish. {% include common/affiliation/in_post_dynamic_728x90.html %} The **product.json** file embodies essential components. It defines the project's fundamental attributes: **\"name,\" \"description,\" \"version,\"** and a..."
    },{
      "title": "Comprendre l’Automatisation dans les Services Logistiques",
      "url": "/blog/fr/understanding-automation-in-logistics-services",
      "lang": "fr",
      "type": "blog",
      "content": "In the realm of logistics services, **automation** has emerged as a game-changer, revolutionizing traditional approaches to client relationships. It's akin to a strategic chess move where logistics service providers (3PLs) are reshaping their strategies to gain an upper hand. In this scenario, the board represents the logistics landscape, the pieces symbolize the innovative automation technologies, and the moves signify the shift in tactics. A vital term in this context is **flexible automation**. Imagine a Swiss Army knife, versatile and adaptable to various needs—this is what flexible automation offers. Instead of the conventional approach of winning contracts first and then contemplating automation, 3PLs are now investing in automation upfront. This shift in strategy is akin to equipping your vehicle with GPS..."
    },{
      "title": "Understanding Automation in Logistics Services",
      "url": "/blog/en/understanding-automation-in-logistics-services",
      "lang": "en",
      "type": "blog",
      "content": "In the realm of logistics services, **automation** has emerged as a game-changer, revolutionizing traditional approaches to client relationships. It's akin to a strategic chess move where logistics service providers (3PLs) are reshaping their strategies to gain an upper hand. In this scenario, the board represents the logistics landscape, the pieces symbolize the innovative automation technologies, and the moves signify the shift in tactics. A vital term in this context is **flexible automation**. Imagine a Swiss Army knife, versatile and adaptable to various needs—this is what flexible automation offers. Instead of the conventional approach of winning contracts first and then contemplating automation, 3PLs are now investing in automation upfront. This shift in strategy is akin to equipping your vehicle with GPS..."
    },{
      "title": "Comprendre la Transformation Numérique et les Alliances Stratégiques",
      "url": "/blog/fr/understanding-digital-transformation-and-strategic-alliances",
      "lang": "fr",
      "type": "blog",
      "content": "In the realm of business evolution, **digital transformation** stands as a crucial journey for organizations to thrive in the modern landscape. One significant approach facilitating this transformation is strategic alliances. Let’s delve into these concepts and explore how they work hand in hand to revolutionize businesses. **Digital transformation** is akin to renovating a house from a conventional structure to a smart home. It involves the comprehensive overhaul of processes, leveraging technology to enhance efficiency, productivity, and overall performance. This transformation encompasses embracing new digital technologies to streamline operations, optimize resources, and improve customer experiences. An organization’s journey toward digital transformation typically involves adopting cutting-edge software solutions, process automation, and optimizing business processes. Think of a **strategic alliance** as a collaboration..."
    },{
      "title": "Understanding Digital Transformation and Strategic Alliances",
      "url": "/blog/en/understanding-digital-transformation-and-strategic-alliances",
      "lang": "en",
      "type": "blog",
      "content": "In the realm of business evolution, **digital transformation** stands as a crucial journey for organizations to thrive in the modern landscape. One significant approach facilitating this transformation is strategic alliances. Let’s delve into these concepts and explore how they work hand in hand to revolutionize businesses. **Digital transformation** is akin to renovating a house from a conventional structure to a smart home. It involves the comprehensive overhaul of processes, leveraging technology to enhance efficiency, productivity, and overall performance. This transformation encompasses embracing new digital technologies to streamline operations, optimize resources, and improve customer experiences. An organization’s journey toward digital transformation typically involves adopting cutting-edge software solutions, process automation, and optimizing business processes. Think of a **strategic alliance** as a collaboration..."
    },{
      "title": "Comprendre l’Essence de l’Administration Système IT",
      "url": "/blog/fr/comprendre-l-essence-de-l-administration-systeme-it",
      "lang": "fr",
      "type": "blog",
      "content": "Dans le domaine des Technologies de l'Information (IT), l'Administration Système constitue un pilier essentiel pour assurer le bon fonctionnement des infrastructures organisationnelles. Elle englobe de nombreux aspects, chacun contribuant au fonctionnement fluide des réseaux, des serveurs et des frameworks numériques. Explorons les thèmes fondamentaux de l'Administration Système, leur importance et leur impact."
    },{
      "title": "Understanding the Essence of IT System Administration",
      "url": "/blog/en/understanding-the-essence-of-it-system-administration",
      "lang": "en",
      "type": "blog",
      "content": "In the realm of Information Technology (IT), **System Administration** stands as a cornerstone pivotal in ensuring the seamless operation of organizational infrastructure. It encompasses a multitude of facets, each contributing to the smooth functioning of networks, servers, and digital frameworks. Let’s dive into the core topics within System Administration, exploring their significance and impact. The entrepreneurial voyage mirrors the IT system administration landscape. **Leadership** forms the bedrock, akin to a seasoned system administrator steering through challenges. Much like collaborating with an experienced team, in IT, a cohesive tech team ensures smoother problem resolution. Imagine an IT team as an ensemble of skilled sailors, navigating through digital storms to maintain system integrity. **Talent Evaluation** in IT correlates with assessing IT professionals...."
    },{
      "title": "Stratégies de Migration Cloud : Guide Complet",
      "url": "/blog/fr/cloud-migration-strategies-a-comprehensive-guide",
      "lang": "fr",
      "type": "blog",
      "content": "Cloud migration involves the process of moving data, applications, and other business elements from an on-premises environment to a cloud-based infrastructure. It is a critical move that can transform an organization's operations, providing enhanced scalability, flexibility, and cost-efficiency. In this guide, we'll delve into the **Keycloak vs. Authentik vs. Authelia** dilemma faced by many in the context of implementing **Single Sign-On (SSO)** solutions. We'll also explore various opinions, recommendations, and challenges encountered while choosing an SSO solution for a self-hosted environment. Single Sign-On (**SSO**) is an authentication process that allows users to access multiple applications with a single set of credentials. It eliminates the need for users to remember different passwords for various applications, thereby enhancing user experience and security...."
    },{
      "title": "Cloud Migration Strategies: A Comprehensive Guide",
      "url": "/blog/en/cloud-migration-strategies-a-comprehensive-guide",
      "lang": "en",
      "type": "blog",
      "content": "Cloud migration involves the process of moving data, applications, and other business elements from an on-premises environment to a cloud-based infrastructure. It is a critical move that can transform an organization's operations, providing enhanced scalability, flexibility, and cost-efficiency. In this guide, we'll delve into the **Keycloak vs. Authentik vs. Authelia** dilemma faced by many in the context of implementing **Single Sign-On (SSO)** solutions. We'll also explore various opinions, recommendations, and challenges encountered while choosing an SSO solution for a self-hosted environment. Single Sign-On (**SSO**) is an authentication process that allows users to access multiple applications with a single set of credentials. It eliminates the need for users to remember different passwords for various applications, thereby enhancing user experience and security...."
    },{
      "title": "Unlocking Supply Chain Efficiency: ASC’s Digital Transformation Journey",
      "url": "/blog/fr/unlocking-supply-chain-efficiency-asc-s-digital-transformation-journey",
      "lang": "fr",
      "type": "blog",
      "content": "In the realm of modern business operations, the **supply chain** stands as a vital cog in the machinery, ensuring goods and services move seamlessly from creation to consumption. However, traditional supply chains often face challenges like inefficiencies, delays, and limited visibility. Enter **ASC's Digital Transformation Program**, a strategic initiative aiming to reshape the landscape through the implementation of a **digital supply chain**. In this walkthrough, we delve into the core aspects, functionalities, and benefits of ASC's revolutionary initiative. The supply chain represents the interconnected network of entities involved in producing and delivering goods or services to end consumers. Think of it as a relay race, where each runner (supplier, manufacturer, distributor) passes the baton smoothly to the next, aiming for..."
    },{
      "title": "Le Pouvoir des Alliances Stratégiques dans la Transformation Numérique",
      "url": "/blog/fr/the-power-of-strategic-alliances-in-digital-transformation",
      "lang": "fr",
      "type": "blog",
      "content": "In the realm of modern business, **strategic alliances** serve as a potent force, combining the strengths of different entities to achieve a common goal. One such impactful alliance is the collaboration between **Noscotek** and **Automate Now**, targeting the digital transformation journey of South African organizations. This partnership brings together Noscotek's extensive experience in local and international markets, particularly in cutting-edge software solutions for **document management**, **business process management**, and **optimization**. On the other hand, Automate Now contributes decades of expertise in **automating processes** and **digitizing documents**. {% include affiliation/humix.html %} The primary objective of this collaboration is to empower organizations in initiating their digital transformation endeavors. This is facilitated by sourcing and introducing top-tier technology to the market, thereby assisting..."
    },{
      "title": "Unlocking Supply Chain Efficiency: ASC’s Digital Transformation Journey",
      "url": "/blog/en/unlocking-supply-chain-efficiency-asc-s-digital-transformation-journey",
      "lang": "en",
      "type": "blog",
      "content": "In the realm of modern business operations, the **supply chain** stands as a vital cog in the machinery, ensuring goods and services move seamlessly from creation to consumption. However, traditional supply chains often face challenges like inefficiencies, delays, and limited visibility. Enter **ASC's Digital Transformation Program**, a strategic initiative aiming to reshape the landscape through the implementation of a **digital supply chain**. In this walkthrough, we delve into the core aspects, functionalities, and benefits of ASC's revolutionary initiative. The supply chain represents the interconnected network of entities involved in producing and delivering goods or services to end consumers. Think of it as a relay race, where each runner (supplier, manufacturer, distributor) passes the baton smoothly to the next, aiming for..."
    },{
      "title": "The Power of Strategic Alliances in Digital Transformation",
      "url": "/blog/en/the-power-of-strategic-alliances-in-digital-transformation",
      "lang": "en",
      "type": "blog",
      "content": "In the realm of modern business, **strategic alliances** serve as a potent force, combining the strengths of different entities to achieve a common goal. One such impactful alliance is the collaboration between **Noscotek** and **Automate Now**, targeting the digital transformation journey of South African organizations. This partnership brings together Noscotek's extensive experience in local and international markets, particularly in cutting-edge software solutions for **document management**, **business process management**, and **optimization**. On the other hand, Automate Now contributes decades of expertise in **automating processes** and **digitizing documents**. {% include affiliation/humix.html %} The primary objective of this collaboration is to empower organizations in initiating their digital transformation endeavors. This is facilitated by sourcing and introducing top-tier technology to the market, thereby assisting..."
    },{
      "title": "Comprendre l’Implémentation de la Chaîne d’Approvisionnement Numérique d’ASC",
      "url": "/blog/fr/understanding-asc-s-digital-supply-chain-implementation",
      "lang": "fr",
      "type": "blog",
      "content": "In the realm of modern business operations, **ASC's Digital Supply Chain** stands as a pivotal strategy for enhanced efficiency, proactive decision-making, and robust protection against disruptions. Let's delve into the significance of this initiative, exploring its benefits, implementation strategies, and the pivotal role it plays in ASC's ecosystem. Implementing a digital supply chain brings forth an array of advantages that redefine the landscape of operational efficiency and resilience. It's akin to constructing a sophisticated network of interconnected pathways where data flows seamlessly, enabling **real-time reporting**, **advanced parts and logistics tracking**, and **monitoring supplier performance** akin to a control tower overseeing incoming and outgoing flights at an airport. This transformation promises **greater efficiencies** by optimizing processes, akin to upgrading from a..."
    },{
      "title": "Understanding ASC’s Digital Supply Chain Implementation",
      "url": "/blog/en/understanding-asc-s-digital-supply-chain-implementation",
      "lang": "en",
      "type": "blog",
      "content": "In the realm of modern business operations, **ASC's Digital Supply Chain** stands as a pivotal strategy for enhanced efficiency, proactive decision-making, and robust protection against disruptions. Let's delve into the significance of this initiative, exploring its benefits, implementation strategies, and the pivotal role it plays in ASC's ecosystem. Implementing a digital supply chain brings forth an array of advantages that redefine the landscape of operational efficiency and resilience. It's akin to constructing a sophisticated network of interconnected pathways where data flows seamlessly, enabling **real-time reporting**, **advanced parts and logistics tracking**, and **monitoring supplier performance** akin to a control tower overseeing incoming and outgoing flights at an airport. This transformation promises **greater efficiencies** by optimizing processes, akin to upgrading from a..."
    },{
      "title": "Choisir le Bon Chemin : Stratégies pour une Migration Cloud Sans Accroc",
      "url": "/blog/fr/choosing-the-right-path-strategies-for-seamless-cloud-migration",
      "lang": "fr",
      "type": "blog",
      "content": "Cloud migration has become a critical aspect of modern business strategies. **Cloud Solutions Architects** play a pivotal role in guiding organizations through this transformational journey. But what exactly does cloud migration entail? It involves the process of moving digital assets, applications, data, and IT processes from on-premises environments to the **cloud**. This shift offers scalability, flexibility, cost-efficiency, and innovative opportunities to businesses across various industries. Cloud migration strategies are essential blueprints that architects utilize to seamlessly transition businesses into the cloud. In this article, we'll explore the main strategies used by these architects and how they impact businesses. Rehosting, also known as **\"lift and shift,\"** involves moving existing applications and data from on-premises servers to the cloud without modifying the..."
    },{
      "title": "Choosing the Right Path: Strategies for Seamless Cloud Migration",
      "url": "/blog/en/choosing-the-right-path-strategies-for-seamless-cloud-migration",
      "lang": "en",
      "type": "blog",
      "content": "Cloud migration has become a critical aspect of modern business strategies. **Cloud Solutions Architects** play a pivotal role in guiding organizations through this transformational journey. But what exactly does cloud migration entail? It involves the process of moving digital assets, applications, data, and IT processes from on-premises environments to the **cloud**. This shift offers scalability, flexibility, cost-efficiency, and innovative opportunities to businesses across various industries. Cloud migration strategies are essential blueprints that architects utilize to seamlessly transition businesses into the cloud. In this article, we'll explore the main strategies used by these architects and how they impact businesses. Rehosting, also known as **\"lift and shift,\"** involves moving existing applications and data from on-premises servers to the cloud without modifying the..."
    },{
      "title": "How to Fix Error: Laravel.log Could Not be Opened?",
      "url": "/blog/fr/laravel/how-to-fix-error-laravel-log-could-not-be-opened",
      "lang": "fr",
      "type": "blog",
      "content": "How to fix Error: laravel.log could not be opened? If you're a developer working with Laravel, you might have come across an error message that reads \"laravel.log could not be opened.\" This error message can be frustrating and confusing, especially if you're not sure what's causing it or how to fix it. In this article, we'll take a closer look at this error message and provide you with step-by-step instructions on how to resolve it. When you see the error message \"laravel.log could not be opened,\" it means that Laravel is unable to create or write to the laravel.log file. This file is important because it contains error messages and other important information about your Laravel application. Without it, it..."
    },{
      "title": "How to Fix Error: Laravel.log Could Not be Opened?",
      "url": "/blog/en/laravel/how-to-fix-error-laravel-log-could-not-be-opened",
      "lang": "en",
      "type": "blog",
      "content": "How to fix Error: laravel.log could not be opened? If you're a developer working with Laravel, you might have come across an error message that reads \"laravel.log could not be opened.\" This error message can be frustrating and confusing, especially if you're not sure what's causing it or how to fix it. In this article, we'll take a closer look at this error message and provide you with step-by-step instructions on how to resolve it. When you see the error message \"laravel.log could not be opened,\" it means that Laravel is unable to create or write to the laravel.log file. This file is important because it contains error messages and other important information about your Laravel application. Without it, it..."
    },{
      "title": "Comprendre l’Acquisition de Helpshift par Keywords Studios",
      "url": "/blog/fr/understanding-keywords-studio-s-acquisition-of-helpshift",
      "lang": "fr",
      "type": "blog",
      "content": "In the bustling world of the video game industry, **Keywords Studios** has emerged as a prominent service provider. Recently, it made headlines with its strategic move to acquire **Helpshift**, a US-based digital support platform, for up to **$75 million (€71 million)**. This acquisition marks a significant leap forward in enhancing customer support solutions within the gaming sphere. **Helpshift** is a digital support platform designed to revolutionize customer support within mobile apps. Think of it as a multi-tool kit for troubleshooting customer issues in real-time. Just like a skilled craftsman uses a versatile toolkit to address various tasks efficiently, Helpshift's platform combines elements like **conversational AI, automation, translation, and agent support** to manage and resolve customer queries seamlessly within mobile applications...."
    },{
      "title": "Understanding Keywords Studio’s Acquisition of Helpshift",
      "url": "/blog/en/understanding-keywords-studio-s-acquisition-of-helpshift",
      "lang": "en",
      "type": "blog",
      "content": "In the bustling world of the video game industry, **Keywords Studios** has emerged as a prominent service provider. Recently, it made headlines with its strategic move to acquire **Helpshift**, a US-based digital support platform, for up to **$75 million (€71 million)**. This acquisition marks a significant leap forward in enhancing customer support solutions within the gaming sphere. **Helpshift** is a digital support platform designed to revolutionize customer support within mobile apps. Think of it as a multi-tool kit for troubleshooting customer issues in real-time. Just like a skilled craftsman uses a versatile toolkit to address various tasks efficiently, Helpshift's platform combines elements like **conversational AI, automation, translation, and agent support** to manage and resolve customer queries seamlessly within mobile applications...."
    },{
      "title": "Convertir Docker Compose en Kubernetes",
      "url": "/blog/fr/kubernetes/docker/convert-docker-compose-to-kubernetes",
      "lang": "fr",
      "type": "blog",
      "content": "Docker Compose and Kubernetes are two of the most popular container orchestration tools available today. Docker Compose is a tool for defining and running multi-container Docker applications, while Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. The ability to convert Docker Compose to Kubernetes is a valuable skill for any DevOps engineer. Converting Docker Compose to Kubernetes can provide many benefits, such as scalability, high availability, automation, and cost savings. However, there are also some challenges associated with the conversion process, such as complexity, security, and resource management. In this article, we will discuss what Docker Compose and Kubernetes are, the benefits and challenges of converting Docker Compose to Kubernetes, and the tools available..."
    },{
      "title": "Convert Docker Compose to Kubernetes",
      "url": "/blog/en/kubernetes/docker/convert-docker-compose-to-kubernetes",
      "lang": "en",
      "type": "blog",
      "content": "Docker Compose and Kubernetes are two of the most popular container orchestration tools available today. Docker Compose is a tool for defining and running multi-container Docker applications, while Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. The ability to convert Docker Compose to Kubernetes is a valuable skill for any DevOps engineer. Converting Docker Compose to Kubernetes can provide many benefits, such as scalability, high availability, automation, and cost savings. However, there are also some challenges associated with the conversion process, such as complexity, security, and resource management. In this article, we will discuss what Docker Compose and Kubernetes are, the benefits and challenges of converting Docker Compose to Kubernetes, and the tools available..."
    },{
      "title": "Graphique Multi-Lignes D3",
      "url": "/blog/fr/data-analysis/d3-multi-line-chart",
      "lang": "fr",
      "type": "blog",
      "content": "A D3 multi line chart is a type of chart that is used to display multiple lines of data on a single graph. It is a powerful tool for visualizing data and can be used to compare different sets of data over time. The chart is created using the D3 JavaScript library, which is a powerful and popular library for creating interactive data visualizations. A D3 multi line chart is a type of chart that is used to display multiple lines of data on a single graph. It is a powerful tool for visualizing data and can be used to compare different sets of data over time. The chart is created using the D3 JavaScript library, which is a powerful..."
    },{
      "title": "D3 Multi Line Chart",
      "url": "/blog/en/data-analysis/d3-multi-line-chart",
      "lang": "en",
      "type": "blog",
      "content": "A D3 multi line chart is a type of chart that is used to display multiple lines of data on a single graph. It is a powerful tool for visualizing data and can be used to compare different sets of data over time. The chart is created using the D3 JavaScript library, which is a powerful and popular library for creating interactive data visualizations. A D3 multi line chart is a type of chart that is used to display multiple lines of data on a single graph. It is a powerful tool for visualizing data and can be used to compare different sets of data over time. The chart is created using the D3 JavaScript library, which is a powerful..."
    },{
      "title": "Comprendre la Structure des Charts Helm pour un Déploiement Facilité",
      "url": "/blog/fr/kubernetes/docker/understanding-helm-chart-structure-for-easier-deployment",
      "lang": "fr",
      "type": "blog",
      "content": "In a world where different communities cluster environments using one command, the deployment process can be much easier with the use of Helm charts. Helm is a package manager and templating engine for Kubernetes, which allows for easier deployment and management of applications. In this blog post, we will take a closer look at the structure of a Helm chart to gain a better understanding of how it works. A Helm chart is typically made up of a directory structure that includes the following components: - **Chart.yaml**: This file contains all the meta information about the chart, such as its name, version, list of dependencies, and other details. - **values.yaml**: This is the place where all the values are configured..."
    },{
      "title": "Understanding Helm Chart Structure for Easier Deployment",
      "url": "/blog/en/kubernetes/docker/understanding-helm-chart-structure-for-easier-deployment",
      "lang": "en",
      "type": "blog",
      "content": "In a world where different communities cluster environments using one command, the deployment process can be much easier with the use of Helm charts. Helm is a package manager and templating engine for Kubernetes, which allows for easier deployment and management of applications. In this blog post, we will take a closer look at the structure of a Helm chart to gain a better understanding of how it works. A Helm chart is typically made up of a directory structure that includes the following components: - **Chart.yaml**: This file contains all the meta information about the chart, such as its name, version, list of dependencies, and other details. - **values.yaml**: This is the place where all the values are configured..."
    },{
      "title": "Using Argo CD to Deploy Applications to Kubernetes",
      "url": "/blog/fr/kubernetes/using-argo-cd-to-deploy-applications-to-kubernetes",
      "lang": "fr",
      "type": "blog",
      "content": "in this blog post we're going to talk about a git ops tool that is gaining popularity in the devops world which is called argo cd if you don't know what git ops is you can check out my other blog post about git ups after which this blog post will make much more sense to you first i'm going to explain what argo city is and what are the common use cases or why we need argo cd we will then see how argo city actually works and how it does its job and in the final part we will do a hands-on demo project where we deploy argo cd and set up a fully automated cd pipeline for..."
    },{
      "title": "Using Argo CD to Deploy Applications to Kubernetes",
      "url": "/blog/en/kubernetes/using-argo-cd-to-deploy-applications-to-kubernetes",
      "lang": "en",
      "type": "blog",
      "content": "in this blog post we're going to talk about a git ops tool that is gaining popularity in the devops world which is called argo cd if you don't know what git ops is you can check out my other blog post about git ups after which this blog post will make much more sense to you first i'm going to explain what argo city is and what are the common use cases or why we need argo cd we will then see how argo city actually works and how it does its job and in the final part we will do a hands-on demo project where we deploy argo cd and set up a fully automated cd pipeline for..."
    },{
      "title": "Gestion des Releases avec Tiller dans Helm Version 2",
      "url": "/blog/fr/kubernetes/release-management-with-tiller-in-helm-version-2",
      "lang": "fr",
      "type": "blog",
      "content": "In this blog post I'm gonna explain all the main concepts of Helm so that you're able to use it in your own projects. Also, Helm changes a lot from version to version, so understanding the basic common principles and more importantly its use cases to when and why we use Helm will make it easier for you to use it in practice no matter which version you choose. So the topics I'm gonna go through in this blog post are: Helm and Helm Charts what they are, how to use them, and in which scenarios they're used, and also what is Tiller and what part it plays in the Helm architecture. So what is Helm? Helm has a. Couple..."
    },{
      "title": "Release Management with Tiller in Helm Version 2",
      "url": "/blog/en/kubernetes/release-management-with-tiller-in-helm-version-2",
      "lang": "en",
      "type": "blog",
      "content": "In this blog post I'm gonna explain all the main concepts of Helm so that you're able to use it in your own projects. Also, Helm changes a lot from version to version, so understanding the basic common principles and more importantly its use cases to when and why we use Helm will make it easier for you to use it in practice no matter which version you choose. So the topics I'm gonna go through in this blog post are: Helm and Helm Charts what they are, how to use them, and in which scenarios they're used, and also what is Tiller and what part it plays in the Helm architecture. So what is Helm? Helm has a. Couple..."
    },{
      "title": "Can You Run GUI Applications in a Linux Docker Container",
      "url": "/blog/fr/kubernetes/docker/can-you-run-gui-applications-in-a-linux-docker-container",
      "lang": "fr",
      "type": "blog",
      "content": "In the realm of software development, Docker containers have gained immense popularity due to their ability to encapsulate applications and their dependencies, ensuring consistent and portable deployment. While Docker containers are primarily associated with command-line applications and server-side processes, the question arises: can you run graphical user interface (GUI) applications within a Linux Docker container? In this article, we delve into the intricacies of running GUI applications in Docker containers, exploring the challenges, solutions, and practical implementations. Docker containers provide a lightweight and efficient way to package an application and its dependencies, enabling it to run consistently across different environments. Containers ensure application isolation, making them an ideal choice for deploying microservices and server applications. However, when it comes to..."
    },{
      "title": "Can You Run GUI Applications in a Linux Docker Container",
      "url": "/blog/en/kubernetes/docker/can-you-run-gui-applications-in-a-linux-docker-container",
      "lang": "en",
      "type": "blog",
      "content": "In the realm of software development, Docker containers have gained immense popularity due to their ability to encapsulate applications and their dependencies, ensuring consistent and portable deployment. While Docker containers are primarily associated with command-line applications and server-side processes, the question arises: can you run graphical user interface (GUI) applications within a Linux Docker container? In this article, we delve into the intricacies of running GUI applications in Docker containers, exploring the challenges, solutions, and practical implementations. Docker containers provide a lightweight and efficient way to package an application and its dependencies, enabling it to run consistently across different environments. Containers ensure application isolation, making them an ideal choice for deploying microservices and server applications. However, when it comes to..."
    },{
      "title": "Laravel 5 Remove Public from URL",
      "url": "/blog/en/laravel/laravel-5-remove-public-from-url",
      "lang": "en",
      "type": "blog",
      "content": "Laravel 5 is a powerful PHP framework that is widely used for web development. It comes with many advanced features that make it a preferred choice for developers. However, one issue that many developers face is the \"public\" folder in the URL. In this article, we will discuss how to remove \"public\" from the URL in Laravel 5, and make your website more user-friendly. When you install Laravel 5, it comes with a \"public\" folder that contains all the assets, such as images, CSS, and JavaScript files. This folder is the root directory of your website, which means that you need to include it in the URL every time you want to access a page on your website. For example,..."
    },{
      "title": "Demystifying the PDOException SQLSTATE[HY000] [2002] No Such File or Directory in Laravel Development 🚀",
      "url": "/blog/en/laravel/demystifying-the-pdoexception-sqlstate-hy000-2002-no-such-file-or-directory-in-laravel-development",
      "lang": "en",
      "type": "blog",
      "content": "Ever been hit with a PDOException SQLSTATE[HY000] [2002] No such file or directory error in your Laravel application? It's like trying to find your favorite coffee shop only to realize it's been replaced by a black hole. Panic sets in. But fret not! Understanding this cryptic error is the first step to regaining control. So, what's this error about? Well, it's the digital way of saying, \"Hey, I can't find what I'm looking for!\" – reminiscent of searching for your car keys when you're already late. In plain English, this error tells you that your application is having a hard time locating the database it's supposed to connect to. It's like trying to call your friend, only to realize you've..."
    },{
      "title": "Port Forward PIA: A Comprehensive Guide",
      "url": "/blog/en/webdevelopment/ubuntu/port-forward-pia-a-comprehensive-guide",
      "lang": "en",
      "type": "blog",
      "content": "Port forwarding is a process of forwarding data packets from one port to another. It is a way of allowing external devices to access a computer or network inside a private network. It is a process of configuring a router or firewall to allow access to a specific computer or network from the outside. Port forwarding is a useful tool for many applications, such as gaming, remote access, and file sharing. Private Internet Access (PIA) is a virtual private network (VPN) service provider. It is a secure and private way to access the internet. It is a great way to protect your online privacy and security. It is also a great way to access geo-restricted content. Port forwarding is a..."
    },{
      "title": "HP Web Services Not Working: Troubleshooting Tips",
      "url": "/blog/en/webdevelopment/ubuntu/hp-web-services-not-working-troubleshooting-tips",
      "lang": "en",
      "type": "blog",
      "content": "HP Web Services are a suite of cloud-based services that allow users to access their HP devices remotely. These services include HP Connected Backup, HP Connected Photo, HP Connected Music, HP Connected Drive, and HP Connected Remote. HP Web Services allow users to access their HP devices from any location, as long as they have an internet connection. HP Web Services can fail to work for a variety of reasons. These include an unstable internet connection, incorrect settings, outdated drivers, incompatible software, faulty hardware, outdated updates, compatibility issues, security issues, and log errors. If HP Web Services are not working, there are several steps you can take to troubleshoot the issue. The first step is to check your internet connection...."
    },{
      "title": "Laravel Eloquent Artisan: The Ultimate Guide to Building Stunning Web Applications",
      "url": "/blog/en/laravel/laravel-eloquent-artisan-the-ultimate-guide-to-building-stunning-web-applications",
      "lang": "en",
      "type": "blog",
      "content": "laravel eloquent artisan Are you tired of struggling with complex web development processes? Look no further than Laravel Eloquent Artisan. With its sleek and intuitive design, Eloquent Artisan allows you to build stunning web applications with ease. In this comprehensive guide, we'll explore everything you need to know about Laravel Eloquent Artisan, from its basic features to its advanced capabilities. Laravel Eloquent Artisan is a powerful tool that allows developers to quickly and efficiently build web applications. It is an extension of Laravel, a popular PHP framework that is widely used for web development. Eloquent Artisan makes use of Laravel's Eloquent ORM (Object-Relational Mapping) and Artisan command-line interface to provide a streamlined and intuitive development experience. Before you can start..."
    },{
      "title": "The ODBC SQL Server Driver",
      "url": "/blog/en/database/the-odbc-sql-server-driver",
      "lang": "en",
      "type": "blog",
      "content": "An ODBC (Open Database Connectivity) SQL Server driver is a software component that enables an application to access data stored in a database. It is a type of database driver that allows applications to communicate with a database server, such as Microsoft SQL Server, Oracle, IBM DB2, MySQL, and PostgreSQL. ODBC drivers are used to connect applications to databases, allowing users to access and manipulate data stored in the database. An ODBC SQL Server driver is a software component that enables an application to access data stored in a database. It is a type of database driver that allows applications to communicate with a database server, such as Microsoft SQL Server, Oracle, IBM DB2, MySQL, and PostgreSQL. ODBC drivers are..."
    },{
      "title": "Monit-Docker Container : Guide Complet",
      "url": "/blog/fr/kubernetes/docker/monit-docker-container-guide-complet",
      "lang": "fr",
      "type": "blog",
      "content": "Dans le monde du DevOps, il est essentiel de disposer d'un système de surveillance fiable pour s'assurer que les applications et les services fonctionnent correctement. Monit-Docker container est un outil puissant qui peut vous aider à surveiller et à gérer vos conteneurs Docker. Ce guide offre une vue d'ensemble de Monit-Docker container, ses avantages et la façon de le configurer. Nous aborderons également les bonnes pratiques et les alternatives à Monit-Docker container. Monit est un outil de surveillance de processus open-source permettant de surveiller et gérer les processus, fichiers, répertoires et dispositifs sur un serveur. Docker est une plateforme open-source permettant de construire, livrer et exécuter des applications distribuées dans des conteneurs isolés."
    },{
      "title": "Monit-Docker Container: A Comprehensive Guide",
      "url": "/blog/en/kubernetes/docker/monit-docker-container-a-comprehensive-guide",
      "lang": "en",
      "type": "blog",
      "content": "In the world of DevOps, it is essential to have a reliable monitoring system in place to ensure that applications and services are running smoothly. Monit-Docker container is a powerful tool that can help you monitor and manage your Docker containers. This guide will provide an overview of Monit-Docker container, its benefits, and how to set it up. We will also discuss some best practices for using Monit-Docker container and some alternatives. Monit is an open-source process monitoring tool that can be used to monitor and manage processes, files, directories, and devices on a server. It can be used to monitor the health of applications and services, and it can also be used to detect and respond to system problems...."
    },{
      "title": "Laravel Could Not Find Driver: Reasons and Solutions",
      "url": "/blog/en/laravel/laravel-could-not-find-driver-reasons-and-solutions",
      "lang": "en",
      "type": "blog",
      "content": "laravel could not find driver Laravel is a popular PHP framework that makes web application development easier and faster. However, sometimes Laravel developers encounter a frustrating error message that says \"could not find driver.\" This error occurs when Laravel can't find the database driver required for connecting to the database. In this article, we'll explore the reasons behind this error and provide some solutions. Before we dive into the reasons behind the \"could not find driver\" error, let's first understand what a database driver is. A database driver is a software component that allows a programming language like PHP to communicate with a specific database management system (DBMS) like MySQL, PostgreSQL, or SQL Server. Each DBMS has its own database..."
    },{
      "title": "Continuous Deployment with ArgoCD",
      "url": "/blog/en/kubernetes/docker/continuous-deployment-with-argocd",
      "lang": "en",
      "type": "blog",
      "content": "As discussed in the previous section, setting up a continuous deployment workflow with Kubernetes can be challenging, especially when dealing with multiple projects and clusters. This is where ArgoCD comes into the picture. ArgoCD is a GitOps tool that provides a streamlined and automated way of deploying and managing applications in a Kubernetes cluster. ArgoCD is a declarative, GitOps continuous delivery tool for Kubernetes. It automates the deployment of applications and provides a real-time view of the deployment status, which eliminates the need for manual updates and configuration changes. It allows users to define the desired state of their Kubernetes applications in a Git repository, and automatically monitors and updates the cluster to match that state. ArgoCD simplifies the process..."
    },{
      "title": "Qu’est-ce que Docker Compose ?",
      "url": "/blog/fr/kubernetes/docker/quest-ce-que-docker-compose",
      "lang": "fr",
      "type": "blog",
      "content": "Docker Compose est un outil pour définir et exécuter des applications Docker multi-conteneurs. Il permet de définir un ensemble de services, réseaux et volumes dans un seul fichier, puis de démarrer l'ensemble de l'application avec une seule commande. Docker Compose est idéal pour déployer rapidement des applications et gérer des applications complexes nécessitant plusieurs services."
    },{
      "title": "What is Docker Compose",
      "url": "/blog/en/kubernetes/docker/what-is-docker-compose",
      "lang": "en",
      "type": "blog",
      "content": "Docker Compose is a tool for defining and running multi-container Docker applications. It allows users to define a set of related services, networks, and volumes in a single file, and then spin up the entire application with a single command. Docker Compose is a great way to quickly deploy applications and services, and it can be used to manage complex applications that require multiple services. Docker is an open-source platform for building, shipping, and running distributed applications. It is a containerization technology that allows developers to package applications into isolated containers that can be run on any platform. Docker containers are lightweight and portable, and they can be used to quickly deploy applications in any environment. A container is a..."
    },{
      "title": "How to Create Multiple Where Clause Query Using Laravel Eloquent?",
      "url": "/blog/en/laravel/how-to-create-multiple-where-clause-query-using-laravel-eloquent",
      "lang": "en",
      "type": "blog",
      "content": "How to Create Multiple Where Clause Query Using Laravel Eloquent? I'm sorry, but as an AI language model, I'm not capable of writing emotionally or in a poetic style. However, I can write a high-quality article on the topic \"How to Create Multiple Where Clause Query Using Laravel Eloquent?\" in a conversational tone that engages the reader. Please let me know if you want me to proceed with that. I want to proceed with that I apologize, but as an AI language model, I am not capable of writing in an emotional or poetic style. However, I can still provide you with a high-quality article on \"How to Create Multiple Where Clause Query Using Laravel Eloquent?\" in a conversational tone..."
    },{
      "title": "Error “Target class controller does not exist” when using Laravel 8",
      "url": "/blog/en/laravel/error-target-class-controller-does-not-exist-when-using-laravel-8",
      "lang": "en",
      "type": "blog",
      "content": "Error “Target class controller does not exist” when using Laravel 8 If you're a Laravel developer, you've likely come across the infamous \"Target class controller does not exist\" error. This error can be frustrating, especially when you're just starting out with the framework. In this article, we'll take a deep dive into what causes this error and how you can fix it. Laravel is a popular PHP framework that makes web development easier and more efficient. However, as with any framework, there can be errors that you encounter along the way. One of the most common errors that Laravel developers face is the \"Target class controller does not exist\" error. This error is usually caused by an issue with Laravel's..."
    },{
      "title": "Redirection de Port pour un Serveur Minecraft",
      "url": "/blog/fr/code-server/redirection-de-port-pour-serveur-minecraft",
      "lang": "fr",
      "type": "blog",
      "content": "La redirection de port est une technique réseau permettant aux appareils externes d'accéder à un ordinateur ou un serveur sur un réseau privé. Elle est couramment utilisée pour permettre l'accès à un port spécifique depuis Internet. C'est particulièrement utile pour les jeux en ligne, car elle permet aux joueurs de se connecter à un serveur de jeu hébergé sur un réseau local. Dans cet article, nous allons expliquer comment configurer la redirection de port pour un serveur Minecraft."
    },{
      "title": "Port Forwarding for Minecraft Server",
      "url": "/blog/en/code-server/port-forwarding-for-minecraft-server",
      "lang": "en",
      "type": "blog",
      "content": "Port forwarding is a networking technique used to allow external devices to access a computer or server on a private network. It is commonly used to allow access to a specific port on a computer or server from the internet. This is especially useful for online gaming, as it allows players to connect to a game server hosted on a private network. In this article, we will discuss port forwarding for a Minecraft server. Port forwarding is a networking technique used to allow external devices to access a computer or server on a private network. It is commonly used to allow access to a specific port on a computer or server from the internet. This is done by configuring the..."
    },{
      "title": "Apache and Laravel 5 Remove Public from URL",
      "url": "/blog/en/laravel/apache-and-laravel-5-remove-public-from-url",
      "lang": "en",
      "type": "blog",
      "content": "As a Laravel 5 developer, you know that the framework is powerful, efficient, and user-friendly. However, one issue that many developers face is the \"public\" folder in the URL. It can make the URL look longer, less professional, and negatively impact the SEO of your website. But, by following the steps mentioned above, you can easily remove \"public\" from the URL, and give your users a seamless browsing experience. So, don't wait, take action today, and give your Laravel 5 website the professional look it deserves. Remove \"public\" from the URL, and take your website to the next level. The digital world is ever-evolving, and search engines are getting smarter by the day. They can now differentiate between good and..."
    },{
      "title": "Google Sheets Shortcuts",
      "url": "/blog/en/data-analysis/google-sheets-shortcuts",
      "lang": "en",
      "type": "blog",
      "content": "Google Sheets is a powerful spreadsheet application that allows users to create, edit, and collaborate on spreadsheets. It is a great tool for data analysis, budgeting, and project management. Google Sheets also offers a variety of shortcuts that can help users save time and increase their productivity. In this article, we will discuss what Google Sheets shortcuts are, the benefits of using them, how to use them, and some popular Google Sheets shortcuts. We will also discuss some alternatives to Google Sheets shortcuts. Google Sheets shortcuts are keyboard and mouse shortcuts that allow users to quickly perform tasks in Google Sheets. These shortcuts can help users save time and increase their productivity. Using Google Sheets shortcuts can help users save..."
    },{
      "title": "Helm Charts: The Package Manager for Kubernetes",
      "url": "/blog/en/kubernetes/docker/helm-charts-the-package-manager-for-kubernetes",
      "lang": "en",
      "type": "blog",
      "content": "If you've worked with Kubernetes, you know that managing multiple YAML files can be a daunting task. Fortunately, Helm Charts provide a solution to this problem. In this post, we will discuss the main features of Helm Charts and how they can simplify Kubernetes deployment. Helm is a package manager for Kubernetes that enables the packaging and distribution of collections of Kubernetes DML files. Think of it as apt, yum, or Homebrew for Kubernetes. These collections of files are called Helm Charts and are stored in public and private registries. Let's say you want to deploy Elasticsearch on your Kubernetes cluster. You would need to create several components such as a StatefulSet for stateful applications like databases, a ConfigMap with..."
    },{
      "title": "Laravel Migration: Cannot Add Foreign Key Constraint",
      "url": "/blog/en/laravel/laravel-migration-cannot-add-foreign-key-constraint",
      "lang": "en",
      "type": "blog",
      "content": "laravel Migration: Cannot add foreign key constraint If you're a Laravel developer, you must have experienced that frustrating moment when you tried to create a foreign key constraint on a table and received the \"Cannot add foreign key constraint\" error message. This error can be a huge obstacle to the smooth running of your application, and it can lead to delays in project completion. In this article, we'll explore what causes this error and how to fix it. Before we dive into the causes of the \"Cannot add foreign key constraint\" error, let's first understand what a foreign key constraint is. A foreign key constraint is a rule that ensures that the values in a column (or a set of..."
    },{
      "title": "Docker Run Stopped Container",
      "url": "/blog/en/kubernetes/docker/docker-run-stopped-container",
      "lang": "en",
      "type": "blog",
      "content": "Docker is a powerful tool for running applications in containers. It allows developers to package their applications and dependencies into a single container, which can then be deployed on any platform. This makes it easy to deploy applications on different platforms without having to worry about compatibility issues. In this article, we will discuss how to run a stopped container in Docker. A stopped container is a container that has been stopped by the user or by the system. When a container is stopped, it is no longer running and all of its processes are terminated. This means that any data stored in the container is no longer accessible. There are several reasons why you might want to run a..."
    },{
      "title": "How to Create Custom Helper Functions in Laravel",
      "url": "/blog/en/laravel/how-to-create-custom-helper-functions-in-laravel",
      "lang": "en",
      "type": "blog",
      "content": "How to create custom helper functions in Laravel Laravel is one of the most popular PHP frameworks in the world. It provides a plethora of built-in functions and libraries that developers can use to build web applications quickly and efficiently. However, there are times when you need to create your own helper functions to accomplish a specific task or to simplify your code. In this article, we will discuss how to create custom helper functions in Laravel. Have you ever found yourself repeating the same code over and over again? Do you want to simplify your code and make it more readable? If your answer is yes, then you should consider creating your own helper functions. A helper function is..."
    },{
      "title": "Using Helm: Practical Use Cases",
      "url": "/blog/en/kubernetes/docker/using-helm-practical-use-cases",
      "lang": "en",
      "type": "blog",
      "content": "Helm is a versatile tool that offers many benefits for developers using continuous delivery and continuous integration for their applications. Here are two practical use cases where Helm's features can help streamline your workflow: Helm's templating engine allows you to template ML files and replace their values on-the-fly before deploying them. This is particularly useful when deploying microservices that share a lot of common configuration but have small differences in application name, version, or image tags. Instead of writing separate ML files for each microservice, you can define a common blueprint and use placeholders for dynamic values. You can then use an additional YAML file to define the values that will replace these placeholders. For example, you can define values..."
    },{
      "title": "ArgoCD as a Kubernetes Extension: Advantages and Benefits",
      "url": "/blog/en/kubernetes/docker/argocd-as-a-kubernetes-extension-advantages-and-benefits",
      "lang": "en",
      "type": "blog",
      "content": "ArgoCD is a powerful tool that is designed to simplify the deployment of applications to Kubernetes clusters. It allows you to manage your cluster configuration as code, which means you can store it in a Git repository and make changes in a declarative way. But what makes ArgoCD unique is the fact that it's deployed directly in the Kubernetes cluster and acts as an extension to the Kubernetes API. In this article, we'll explore the advantages and benefits of using ArgoCD as a Kubernetes extension. When you deploy ArgoCD in your Kubernetes cluster, it becomes an extension to the Kubernetes API. It leverages Kubernetes resources and uses existing Kubernetes functionalities for doing its job. For instance, it uses the Kubernetes..."
    },{
      "title": "How to Solve “Property [Title] Does Not Exist on This Collection Instance",
      "url": "/blog/en/laravel/how-to-solve-property-title-does-not-exist-on-this-collection-instance",
      "lang": "en",
      "type": "blog",
      "content": "Have you ever encountered the frustrating error message \"Property [Title] Does Not Exist on This Collection Instance\" while working on your web development project? Don't worry, you're not alone. This error message is a common headache that developers often face when they are trying to access a property that doesn't exist on a collection instance. But fear not, as I'm here to guide you through the steps to solve this problem once and for all. Before we dive into the solution, let's first understand what this error message means. This error message is thrown when we are trying to access a property that doesn't exist on the collection instance. The error message tells us that the property we are trying..."
    },{
      "title": "Docker Compose vs Dockerfile",
      "url": "/blog/fr/kubernetes/docker/docker-compose-vs-dockerfile-fr",
      "lang": "fr",
      "type": "blog",
      "content": "Docker est une plateforme de conteneurisation open-source qui permet aux développeurs d'empaqueter des applications dans des conteneurs isolés. Docker Compose et Dockerfile sont deux des composants les plus importants de la plateforme Docker. Docker Compose est un outil pour définir et exécuter des applications Docker multi-conteneurs, tandis que le Dockerfile est un document texte contenant toutes les commandes permettant d'assembler une image. Dans cet article, nous examinons les différences entre Docker Compose et Dockerfile, leurs avantages et inconvénients, et comment les utiliser ensemble."
    },{
      "title": "Docker Compose vs Dockerfile",
      "url": "/blog/en/kubernetes/docker/docker-compose-vs-dockerfile",
      "lang": "en",
      "type": "blog",
      "content": "Docker is a popular open-source containerization platform that enables developers to package applications into isolated containers for easy deployment and management. Docker Compose and Dockerfile are two of the most important components of the Docker platform. Docker Compose is a tool for defining and running multi-container Docker applications, while Dockerfile is a text document that contains all the commands a user could call on the command line to assemble an image. In this article, we will discuss the differences between Docker Compose and Dockerfile, their advantages and disadvantages, and how they can be used together. Docker Compose is a tool for defining and running multi-container Docker applications. It allows developers to define a set of containers, their configuration, and how..."
    },{
      "title": "How to Get the Query Builder to Output Its Raw SQL Query as a String",
      "url": "/blog/en/laravel/how-to-get-the-query-builder-to-output-its-raw-sql-query-as-a-string",
      "lang": "en",
      "type": "blog",
      "content": "Have you ever found yourself in a situation where you need to know the exact SQL query being executed by Laravel's query builder? Maybe you're trying to optimize a slow-running query or you just want to see what's going on under the hood. In this article, I'll show you how to get the query builder to output its raw SQL query as a string. Before we dive into how to get the raw SQL query, let's take a moment to understand what the query builder is and how it works. Laravel's query builder provides a convenient, fluent interface for building and executing database queries. It allows you to construct complex queries using a set of intuitive methods and supports a..."
    },{
      "title": "Code Server Railway: A Comprehensive Guide for Developers",
      "url": "/blog/en/code-server/code-server-railway-a-comprehensive-guide-for-developers",
      "lang": "en",
      "type": "blog",
      "content": "In recent years, the demand for efficient and secure software development has increased dramatically. With more developers working remotely, the need for reliable and accessible development environments has never been more important. Code Server Railway is a platform that offers developers a robust and flexible cloud-based development environment. In this article, we will explore Code Server Railway, its features, and how it can help developers. Code Server Railway is a cloud-based development environment that allows developers to work remotely on any device. It is built on the popular open-source project, Visual Studio Code, and provides a comprehensive set of tools to support software development. The platform is designed to be accessible, secure, and scalable, making it an ideal choice for..."
    },{
      "title": "Docker Exec Bash Example",
      "url": "/blog/en/kubernetes/docker/docker-exec-bash-example",
      "lang": "en",
      "type": "blog",
      "content": "Docker is a powerful tool for creating and managing containers. It allows developers to quickly and easily create, deploy, and manage applications in a secure and isolated environment. One of the most useful features of Docker is the ability to execute commands inside a container using the `docker exec` command. In this article, we will discuss how to use the `docker exec` command to execute a Bash shell inside a container. Docker is an open-source platform for creating and managing containers. It is a powerful tool for developers to quickly and easily create, deploy, and manage applications in a secure and isolated environment. Docker containers are lightweight, portable, and self-contained, making them ideal for running applications in production. The `docker..."
    },{
      "title": "How to solve Laravel PDOException SQLSTATE[HY000] [2002] No such file or directory",
      "url": "/blog/en/laravel/how-to-solve-laravel-pdoexception-sqlstate-hy000-2002-no-such-file-or-directory",
      "lang": "en",
      "type": "blog",
      "content": "In the world of web development, Laravel has emerged as one of the most popular PHP frameworks. It offers a powerful set of tools and features that simplify the development process and make it easy for developers to build high-quality applications. However, like any other technology, Laravel is not immune to errors and issues. One such error that developers often encounter is the \"Laravel PDOException SQLSTATE[HY000] [2002] No such file or directory\" error. The \"Laravel PDOException SQLSTATE[HY000] [2002] No such file or directory\" error occurs when Laravel is unable to connect to the database. It is usually caused by incorrect database configuration or a missing database file. When this error occurs, developers are unable to perform any database-related operations, such..."
    },{
      "title": "Code Server Helm Chart: Simplifying Cloud Development",
      "url": "/blog/en/code-server/code-server-helm-chart-simplifying-cloud-development",
      "lang": "en",
      "type": "blog",
      "content": "As technology continues to evolve, the world is moving towards cloud-based development solutions. One of the most popular solutions is Code Server Helm Chart, which is a cloud-based development platform that enables developers to build and deploy applications on the cloud. In this article, we will delve into the world of Code Server Helm Chart and how it is transforming cloud development. Code Server Helm Chart is an open-source cloud-based development platform built on the Visual Studio Code (VS Code) editor. Code Server allows developers to write, test, and deploy their code on the cloud, without the need for local installations. Code Server Helm Chart is a Kubernetes Helm Chart that allows developers to deploy Code Server on Kubernetes clusters..."
    },{
      "title": "Managing Multiple Clusters with ArgoCD",
      "url": "/blog/en/kubernetes/docker/managing-multiple-clusters-with-argocd",
      "lang": "en",
      "type": "blog",
      "content": "ArgoCD is a popular continuous delivery tool for Kubernetes, allowing users to deploy and manage their applications in a Kubernetes environment with ease. However, as organizations scale and start to work with multiple clusters, managing ArgoCD configuration can become more complicated. In this blog post, we will discuss how to work with multiple clusters using ArgoCD. When working with multiple clusters, one approach is to deploy ArgoCD in each cluster separately. This way, each ArgoCD instance can manage the resources of its own cluster, and changes can be tested and rolled out independently in each environment. However, this approach can result in managing multiple ArgoCD instances, which can be time-consuming and require additional maintenance. Another approach is to deploy ArgoCD..."
    },{
      "title": "Argo CD : cluster disaster recovery",
      "url": "/blog/en/kubernetes/docker/argo-cd-cluster-disaster-recovery",
      "lang": "en",
      "type": "blog",
      "content": "As organizations continue to adopt cloud-native technologies and embrace microservices architectures, managing and recovering from cluster disasters becomes increasingly important. In the event of a disaster, you need to quickly and easily recover your cluster without having to manually recreate every component. In this blog post, we'll explore how Argo CD can simplify the disaster recovery process and ensure that your cluster is up and running as quickly as possible. Argo CD is a popular GitOps tool that helps you automate your Kubernetes deployments. It helps you manage your entire cluster configuration as code and keeps your cluster in sync with your Git repository. One of the benefits of using Argo CD is that it makes cluster disaster recovery super..."
    },{
      "title": "How to Optimize Your Workflow with Kubernetes Code Server",
      "url": "/blog/en/code-server/how-to-optimize-your-workflow-with-kubernetes-code-server",
      "lang": "en",
      "type": "blog",
      "content": "Learn how to streamline your development process using Kubernetes Code Server, a powerful tool that enables you to code, test, and deploy applications more efficiently."
    },{
      "title": "Laravel Eloquent groupBy() AND also return count of each group",
      "url": "/blog/fr/laravel/laravel-eloquent-groupby-and-also-return-count-of-each-group",
      "lang": "fr",
      "type": "blog",
      "content": "Are you tired of manually grouping your Laravel Eloquent data? Do you want an easier way to group your data and also get a count of each group? Look no further than the `groupBy()` function in Laravel Eloquent! Before we dive into the `groupBy()` function, let's first talk about what Laravel Eloquent is. Laravel Eloquent is an Object Relational Mapping (ORM) system that allows you to work with databases in an object-oriented way. It provides a simple and elegant syntax for working with databases, making it easy to perform common tasks such as querying, updating, and deleting data. The `groupBy()` function in Laravel Eloquent is a powerful tool that allows you to group your data based on a specific column..."
    },{
      "title": "Benefits of Using GitOps with ArgoCD",
      "url": "/blog/fr/kubernetes/docker/benefits-of-using-gitops-with-argocd",
      "lang": "fr",
      "type": "blog",
      "content": "If you're involved in deploying applications on Kubernetes, you're probably already familiar with the challenges and complexities of managing your deployments. In this blog post, we'll explore some of the benefits of using GitOps with ArgoCD. GitOps is a way of managing infrastructure and applications on Kubernetes using Git as the single source of truth. GitOps applies the principles of Infrastructure as Code (IaC) to the entire application stack, from infrastructure to the application itself. By defining your infrastructure and application configuration in Git, you can version, review, and rollback changes just like you would with application code. ArgoCD is an open-source GitOps continuous delivery tool for Kubernetes. It provides a declarative way of managing your Kubernetes resources using Git..."
    },{
      "title": "Laravel Eloquent groupBy() AND also return count of each group",
      "url": "/blog/en/laravel/laravel-eloquent-groupby-and-also-return-count-of-each-group",
      "lang": "en",
      "type": "blog",
      "content": "Are you tired of manually grouping your Laravel Eloquent data? Do you want an easier way to group your data and also get a count of each group? Look no further than the `groupBy()` function in Laravel Eloquent! Before we dive into the `groupBy()` function, let's first talk about what Laravel Eloquent is. Laravel Eloquent is an Object Relational Mapping (ORM) system that allows you to work with databases in an object-oriented way. It provides a simple and elegant syntax for working with databases, making it easy to perform common tasks such as querying, updating, and deleting data. The `groupBy()` function in Laravel Eloquent is a powerful tool that allows you to group your data based on a specific column..."
    },{
      "title": "Benefits of Using GitOps with ArgoCD",
      "url": "/blog/en/kubernetes/docker/benefits-of-using-gitops-with-argocd",
      "lang": "en",
      "type": "blog",
      "content": "If you're involved in deploying applications on Kubernetes, you're probably already familiar with the challenges and complexities of managing your deployments. In this blog post, we'll explore some of the benefits of using GitOps with ArgoCD. GitOps is a way of managing infrastructure and applications on Kubernetes using Git as the single source of truth. GitOps applies the principles of Infrastructure as Code (IaC) to the entire application stack, from infrastructure to the application itself. By defining your infrastructure and application configuration in Git, you can version, review, and rollback changes just like you would with application code. ArgoCD is an open-source GitOps continuous delivery tool for Kubernetes. It provides a declarative way of managing your Kubernetes resources using Git..."
    },{
      "title": "How can I make Jenkins CI with Git trigger on pushes to master",
      "url": "/blog/en/jenkins/how-can-i-make-jenkins-ci-with-git-trigger-on-pushes-to-master",
      "lang": "en",
      "type": "blog",
      "content": "In this Github Actions tutorial, we'll go through the following topics. First, I'm going to explain what Github actions actually is, and we're going to look at specific developer workflow use cases that you can automate with Github actions. After that, I will explain the basic concepts of Github actions, including the events and actions and workflow, and how Github actions actually automates these workflows using these components. Having understood what Github actions solves and how it makes it possible, I will go through the most common workflow, which is Cicd Pipeline. I will explain shortly why it's not just another Ci Cd tool, or what are the benefits of Github actions Cicd Pipeline. Finally, we will go through a..."
    },{
      "title": "Comprendre le réseau des conteneurs Docker",
      "url": "/blog/fr/kubernetes/comprendre-le-reseau-des-conteneurs-docker",
      "lang": "fr",
      "type": "blog",
      "content": "Comment accéder au port d'un conteneur ? Découvrez le réseau des conteneurs Docker, les adresses IP, le mappage de ports et comment éviter les conflits."
    },{
      "title": "Understanding Container Networking",
      "url": "/blog/en/kubernetes/understanding-container-networking",
      "lang": "en",
      "type": "blog",
      "content": "How do I access container port?"
    },{
      "title": "Understanding Kubernetes: The Container Orchestrator",
      "url": "/blog/en/kubernetes/understanding-kubernetes-the-container-orchestrator",
      "lang": "en",
      "type": "blog",
      "content": "Ovehttps://www.digitalocean.com/community/cheatsheets/getting-started-with-kubernetes-a-kubectl-cheat-sheet"
    },{
      "title": "Running MySQL Server in Docker Container and Connecting to it from Host Machine",
      "url": "/blog/en/docker/running-mysql-server-in-docker-container-and-connecting-to-it-from-host-machine",
      "lang": "en",
      "type": "blog",
      "content": "I am the happy administrator of an nginx docker container running in front of an application using a mysql database. The database runs on the host of the docker container and the container is not bound to the IP address of the machine. The challenge today is to connect to the mysql database from the docker container."
    },{
      "title": "Laravel - Eloquent “Has”, “With”, “WhereHas” - What do they mean?",
      "url": "/blog/en/laravel-eloquent-has-with-wherehas-what-do-they-mean",
      "lang": "en",
      "type": "blog",
      "content": "Are you looking for a powerful and efficient way to work with your database in Laravel? Look no further than Eloquent, Laravel's built-in ORM (Object-Relational Mapping) tool. One of the most useful features of Eloquent is its ability to work with related models through the use of \"Has\", \"With\", and \"WhereHas\" methods. In this article, we'll explore what these methods do and how you can use them to make your database queries more efficient and effective. Before we dive into the specifics of \"Has\", \"With\", and \"WhereHas\", let's first take a moment to understand what Eloquent is and how it works. Eloquent is Laravel's implementation of the ActiveRecord pattern, which allows you to work with your database in an object-oriented..."
    },{
      "title": "Building Microservices with Docker: Creating a Product Service",
      "url": "/blog/en/building-microservices-with-docker-creating-a-product-service",
      "lang": "en",
      "type": "blog",
      "content": "In the first video, we learned that an image is a template for the environment that you want to run, and when you run an image, you get a container. We tried this out by running a PHP image. This was okay for our very simple application, but imagine, if you have something more complicated, let's work through an example. Traditionally, a big website like an online store would be one big application, but a newer trend is to split these big applications up into smaller micro-services The website can then be quite minimal and it just makes calls to other services to get information or to ask them to do some piece of work. We're going to build a..."
    },{
      "title": "Restart Docker Daemon: A Comprehensive Guide",
      "url": "/blog/en/restart-docker-daemon-a-comprehensive-guide",
      "lang": "en",
      "type": "blog",
      "content": "Docker is an open-source platform that enables developers to create, deploy, and manage applications in a virtual environment. It is a powerful tool that helps developers to quickly build, test, and deploy applications in a containerized environment. Docker Daemon is the core of the Docker platform and is responsible for managing the containers, images, and networks. It is a background process that runs on the host machine and listens for Docker API requests. Docker Daemon is the core of the Docker platform and is responsible for managing the containers, images, and networks. It is a background process that runs on the host machine and listens for Docker API requests. It is responsible for managing the Docker objects such as images,..."
    },{
      "title": "Git LFS Install Ubuntu: A Comprehensive Guide",
      "url": "/blog/en/git-lfs-install-ubuntu-a-comprehensive-guide",
      "lang": "en",
      "type": "blog",
      "content": "Git LFS (Large File Storage) is a version control system for storing and managing large files and binary assets. It is an open-source project developed by GitHub and is used by developers to store and manage large files such as images, videos, and audio files. It is designed to improve the performance of version control systems by reducing the size of large files and making them easier to manage. Ubuntu is a popular Linux-based operating system developed by Canonical. It is a free and open-source operating system that is used by millions of people around the world. It is a popular choice for developers due to its stability, security, and flexibility. Git LFS is a version control system for storing..."
    },{
      "title": "Current User: What It Is and How It Can Help Your Business",
      "url": "/blog/en/current-user-what-it-is-and-how-it-can-help-your-business",
      "lang": "en",
      "type": "blog",
      "content": "In today's digital world, businesses need to stay ahead of the competition. One way to do this is by understanding the needs of their customers and providing them with the best possible experience. This is where the concept of a current user comes in. A current user is a user who is actively engaged with a business's website or application. It is a user who is actively using the product or service and is likely to be a loyal customer. A current user is a user who is actively engaged with a business's website or application. It is a user who is actively using the product or service and is likely to be a loyal customer. A current user is..."
    },{
      "title": "How to Add Cells in Google Sheets",
      "url": "/blog/en/how-to-add-cells-in-google-sheets",
      "lang": "en",
      "type": "blog",
      "content": "Google Sheets is a powerful spreadsheet application that allows users to create and edit spreadsheets online. It is a great tool for organizing data, tracking progress, and creating reports. It is also a great way to collaborate with others on projects. One of the most important features of Google Sheets is the ability to add cells. In this article, we will discuss how to add cells in Google Sheets. Google Sheets is a spreadsheet application that is part of the Google Drive suite of applications. It allows users to create and edit spreadsheets online. It is a great tool for organizing data, tracking progress, and creating reports. It is also a great way to collaborate with others on projects. Cells..."
    },{
      "title": "Explore your container with docker run",
      "url": "/blog/en/docker/explore-your-container-with-docker-run",
      "lang": "en",
      "type": "blog",
      "content": "Docker is a popular tool used for containerization, allowing developers to package an application and its dependencies into a portable container. Once a Docker container is created, it can be run on any system with Docker installed, making it an ideal solution for building and deploying applications across different environments."
    },{
      "title": "Utiliser Kubernetes dans votre Homelab",
      "url": "/blog/fr/kubernetes/utiliser-kubernetes-dans-votre-homelab",
      "lang": "fr",
      "type": "blog",
      "content": "Kubernetes peut être une technologie très adaptée à une utilisation dans un environnement homelab. Exécuter un cluster Kubernetes dans votre homelab est un excellent moyen d'apprendre l'orchestration de conteneurs et l'architecture de microservices, tout en construisant une infrastructure robuste pour vos projets personnels."
    },{
      "title": "Un conteneur Docker doit-il tourner en root ou en utilisateur ?",
      "url": "/blog/fr/kubernetes/un-conteneur-docker-doit-il-tourner-en-root-ou-en-utilisateur",
      "lang": "fr",
      "type": "blog",
      "content": "Par défaut, les conteneurs Docker s'exécutent en tant qu'utilisateur root, ce qui peut poser des risques de sécurité et limiter la portabilité de vos applications. Dans ce guide, nous explorons comment gérer les permissions utilisateur Docker et exécuter des conteneurs avec différents utilisateurs."
    },{
      "title": "Work-with-kubernetes-with-minikube",
      "url": "/blog/en/kubernetes/using-kubernetes-in-home-lab",
      "lang": "en",
      "type": "blog",
      "content": "Kubernetes can be a suitable technology to use in a home lab environment. Running a Kubernetes cluster in your home lab can be a great way to learn and experiment with container orchestration and microservices architecture."
    },{
      "title": "Should a docker container run as root or user",
      "url": "/blog/en/kubernetes/should-a-docker-container-run-as-root-or-user",
      "lang": "en",
      "type": "blog",
      "content": "By default, Docker containers run as the root user, which can pose security risks and limit the portability of your applications. In this guide, we'll explore how to manage Docker user permissions and run containers as different users."
    },{
      "title": "Installing kubernetes with minikube",
      "url": "/blog/en/kubernetes/installing-minikube-on-ubuntu",
      "lang": "en",
      "type": "blog",
      "content": "As a software developer, I often work with Kubernetes for managing and deploying my applications. However, setting up a Kubernetes cluster can be a daunting task, especially if you don't have access to a dedicated infrastructure or cloud platform."
    },{
      "title": "Create and audit a MySQL database from command line",
      "url": "/blog/en/wordpress/create-and-audit-mysql-db-command-line",
      "lang": "en",
      "type": "blog",
      "content": "Quick steps to create, connect, generate a database and audit it's performance from a command line."
    },{
      "title": "How to secure a remote database from unauthorized access",
      "url": "/blog/en/wordpress/how-to-secure-a-remote-database-from-unauthorized-access",
      "lang": "en",
      "type": "blog",
      "content": "How To Set Up a Remote Database to Optimize Site Performance with MySQL on Ubuntu 16.04"
    },{
      "title": "How do I optimize my database",
      "url": "/blog/en/wordpress/how-do-i-optimize-my-database",
      "lang": "en",
      "type": "blog",
      "content": "Optimizing a database involves improving its performance by making it faster and more efficient. Here are some general steps you can take to optimize your database"
    },{
      "title": "How to choose a database provider",
      "url": "/blog/en/wordpress/how-to-choose-a-database-provider",
      "lang": "en",
      "type": "blog",
      "content": "You want to choose wisely. There are several criteria to consider when choosing a database provider."
    },{
      "title": "How do I setup a remote database to optimize site performance with MySQL",
      "url": "/blog/en/wordpress/how-do-i-setup-a-remote-database-to-optimize-site-performance-with-mysql",
      "lang": "en",
      "type": "blog",
      "content": "Setting up a remote MySQL database can help optimize site performance by reducing the load on the server and allowing faster access to data. "
    },{
      "title": "How to optimize network traffic for a database",
      "url": "/blog/en/wordpress/how-to-optimize-network-traffic-for-a-database",
      "lang": "en",
      "type": "blog",
      "content": "Optimizing network traffic for a database involves several steps to ensure that data is transmitted efficiently and securely. Here are some detailed steps with code examples to optimize network traffic for a database:"
    },{
      "title": "Comment résoudre Access denied for user root localhost using password : access denied for user root localhost using password",
      "url": "/blog/fr/database/comment-resoudre-access-denied-for-user-root-localhost-using-password-access-denied-for-user-root-localhost-using-password",
      "lang": "fr",
      "type": "blog",
      "content": "Lors de l'installation de mon site Web, j'ai besoin d'une base de données mysql pour stocker mes publications et ma configuration. Lors de la configuration, je rencontre soudainement une erreur étrange : le serveur mysql se plaint de problèmes d'authentification. Voici comment je l'ai résolu."
    },{
      "title": "Comment réparer l’écran de mon iPhone fissuré pendant l’arrêt ?",
      "url": "/blog/fr/productivity/comment-reparer-l-ecran-de-mon-iphone-fissure-pendant-l-arret",
      "lang": "fr",
      "type": "blog",
      "content": "Il y a beaucoup de choses que vous ne pouvez pas faire pendant une pandémie, du moins si vous êtes intelligent. Vous ne devriez pas aller au centre commercial (même s'il est ouvert), ni même envisager de vous prélasser dans l'Apple Store et de prendre des photos stupides sur leurs appareils de démonstration. Cependant, la quarantaine - auto-imposée ou non - s'accompagne également de quelques frustrations. Si votre iPhone se casse, par exemple, vous ne pouvez pas simplement entrer dans un magasin Apple pour le faire réparer au vieux bar des gens intelligents. Vous êtes un peu coincé. Ou es-tu?"
    },{
      "title": "ASC to establish digital supply chain",
      "url": "/blog/en/digital-automate/asc-to-establish-digital-supply-chain-australian-defence-magazine",
      "lang": "en",
      "type": "blog",
      "content": "Asc explains that better prediction and decision making translates into greater efficiency and protection against disruptions. As new supply chain solutions are designed and implemented, it also places data security at the forefront. The first project in the digital supply chain is already underway. On 23 November, a pilot supplier portal was launched with the access being granted to a select group of 10 suppliers. The balance of suppliers will be added in a scaled 2023 rollout, along with additional portal functionality."
    },{
      "title": "Comment me connecter à localhost",
      "url": "/blog/fr/network/comment-me-connecter-a-localhost",
      "lang": "fr",
      "type": "blog",
      "content": "Lorsque vous démarrez un nouveau serveur et hébergez un service dessus, vous devez vous connecter à partir de diverses autres machines. Mais quelles adresses IP devez-vous utiliser pour ces accès ? Nous allons le découvrir ensemble dans ce tutoriel. Détaillons l'accès au serveur de différentes manières."
    },{
      "title": "Digital transformation falls apart without access management",
      "url": "/blog/en/digital-automate/digital-transformation-falls-apart-without-access-management-computing",
      "lang": "en",
      "type": "blog",
      "content": "The modern customer journey relies on many systems working together, and Iam is essential in making sure it can happen seamlessly and efficiently. The last few years have demonstrated an irreversible trend towards digitalisation across every industry, and this will have massive consequences for the future."
    },{
      "title": "Comment créer un nouvel utilisateur compatible Sudo sur Ubuntu 20.04 [Quickstart]",
      "url": "/blog/fr/ubuntu/comment-creer-un-nouvel-utilisateur-compatible-sudo-sur-ubuntu-20-04-quickstart",
      "lang": "fr",
      "type": "blog",
      "content": "Lors de la gestion d'un serveur, vous souhaiterez parfois autoriser les utilisateurs à exécuter des commandes en tant que 'root', l'utilisateur de niveau administrateur. La commande `sudo` fournit aux administrateurs système un moyen d'accorder des privilèges d'administrateur - généralement disponibles uniquement pour l'utilisateur root - aux utilisateurs normaux."
    },{
      "title": "ABB unit unveils ‘new era of automation’",
      "url": "/blog/en/digital-automate/abb-unit-unveils-new-era-of-automation-the-star",
      "lang": "en",
      "type": "blog",
      "content": "It is expected to further strengthen the Swiss Tech Major's market presence in both China and the Asia-pacific region. Abb Ceo Cp A B. The factory complex comprises production and research facilities and will use Abbs Digital and Automation Technologies to manufacture next-generation robots."
    },{
      "title": "Comment créer un certificat SSL auto-signé pour Apache sur CentOS 8",
      "url": "/blog/fr/ubuntu/comment-creer-un-certificat-ssl-auto-signe-pour-apache-sur-centos-8",
      "lang": "fr",
      "type": "blog",
      "content": "Le protocole TLS et son prédécesseur SSL sont des protocoles utilisés pour envelopper le trafic normal dans un wrapper protégé et chiffré. Grâce à cette technologie, les serveurs peuvent envoyer en toute sécurité des informations à leurs clients sans que leurs messages soient interceptés ou lus par une partie extérieure. Dans ce guide, nous allons vous montrer comment créer et utiliser un certificat SSL auto-signé avec le serveur Web Apache sur une machine CentOS 8."
    },{
      "title": "7 AI predictions for 2023 from IT leaders",
      "url": "/blog/en/digital-automate/7-ai-predictions-for-2023-from-it-leaders-the-enterprisers-project",
      "lang": "en",
      "type": "blog",
      "content": "December is here, so you know what that means: holiday parties, new year’s resolutions, and a slew of technology predictions. This was the hottest topic in Ai today for it leaders and we focus on Ai insight for your team and business. The potential impacts of ai are wide-ranging as are the related forecasts for everything from intelligent intelligence in the sentient, to generative and responsible ai, to collaboration and automation. What will affect it? Leadership in 2023? We talked to industry career experts in the fields of artificial intelligence and Ic."
    },{
      "title": "Comment copier une formule dans une colonne entière dans Google Sheets",
      "url": "/blog/fr/data-analysis/comment-copier-une-formule-dans-une-colonne-entiere-dans-google-sheets",
      "lang": "fr",
      "type": "blog",
      "content": "You are working inside a Google Spreadsheet where a formula needs to copied down to the last row of the sheet. You also need the formula to be added automatically when a new row is added to the Google Sheet."
    },{
      "title": "What is GitOps",
      "url": "/blog/en/git/what-is-gitops",
      "lang": "en",
      "type": "blog",
      "content": "The short explanation of GitOps is infrastructure is code done right with all the best practices. Now let's see a bit longer explanation. So it all starts with Infrastructure as Code. As you know, the infrastructure's code concept is when you define your infrastructure as code instead of manually creating it. This makes our infrastructure much easier to reproduce and replicate."
    },{
      "title": "Comment configurer votre environnement de développement local Node.js à l’aide de Docker",
      "url": "/blog/fr/docker/comment-configurer-votre-environnement-de-developpement-local-node-js-a-l-aide-de-docker",
      "lang": "fr",
      "type": "blog",
      "content": "Docker est l'ensemble d'outils de facto pour créer des applications modernes et configurer un pipeline CI/CD - vous aidant à créer, expédier et exécuter vos applications dans des conteneurs sur site et dans le cloud. Que vous exécutiez sur des instances de calcul simples telles qu'AWS EC2 ou des machines virtuelles Azure ou quelque chose d'un peu plus sophistiqué comme un service Kubernetes hébergé comme AWS EKS ou Azure AKS, l'ensemble d'outils de Docker est votre nouveau BFF."
    },{
      "title": "Cannot upgrade to Windows 11, try Linux instead",
      "url": "/blog/en/linux/cannot-upgrade-to-windows-11-try-linux-instead",
      "lang": "en",
      "type": "blog",
      "content": "Conceptually linux is very different from windows pretty much across the board some of these differences are primarily visual while others are much more fundamental if  you've heard of linux before you've probably heard that it's open now evangelists will tell you that that means free is in speech and this is true in that anyone can take a look at the source code and modify it as they see fit."
    },{
      "title": "Comment configurer Jenkins avec SSL à l’aide d’un proxy inverse Nginx sur Ubuntu 20.04",
      "url": "/blog/fr/docker/comment-configurer-jenkins-avec-ssl-a-l-aide-d-un-proxy-inverse-nginx-sur-ubuntu-20-04",
      "lang": "fr",
      "type": "blog",
      "content": "Par défaut, Jenkins est livré avec son propre serveur Web Winstone intégré écoutant sur le port `8080`, ce qui est pratique pour démarrer. C'est aussi une bonne idée, cependant, de sécuriser Jenkins avec SSL pour protéger les mots de passe et les données sensibles transmises via l'interface Web. Dans ce didacticiel, vous allez configurer Nginx en tant que proxy inverse pour diriger les demandes des clients vers Jenkins."
    },{
      "title": "[RÉSOLU] L’image du docker Laravel Impossible d’ouvrir le fichier d’entrée : /var/www/html/artisan",
      "url": "/blog/fr/laravel/resolu-l-image-du-docker-laravel-impossible-d-ouvrir-le-fichier-d-entree-var-www-html-artisan",
      "lang": "fr",
      "type": "blog",
      "content": "Lorsque j'exécute mon application laravel, j'obtiens l'erreur Laravel docker image Could not open input file: /var/www/html/artisan. J'ai enfin trouvé la cause première du problème, permettez-moi de la partager avec vous."
    },{
      "title": "Astuce Docker : inspect et jq",
      "url": "/blog/fr/docker/astuce-docker-inspecter-et-jq",
      "lang": "fr",
      "type": "blog",
      "content": "Ce n'est pas tant une astuce docker qu'une astuce jq. Si vous n'avez pas entendu parler de jq, c'est un excellent outil pour analyser JSON à partir de la ligne de commande."
    },{
      "title": "Comment connecter mysql workbench à mysql dans Docker ?",
      "url": "/blog/fr/docker/comment-connecter-mysql-workbench-a-mysql-dans-docker",
      "lang": "fr",
      "type": "blog",
      "content": "L'exécution de votre base de données dans un conteneur est une solution très portable. Il est également reproductible. Mais comment gérez-vous les données à l'intérieur de ce conteneur ? Avec mon serveur mysql fonctionnant dans un conteneur docker, je voulais m'y connecter et le gérer. Le but de ce tutoriel est de partager avec vous comment le faire."
    },{
      "title": "Astuce Docker : inspect et grep",
      "url": "/blog/fr/docker/astuce-docker-inspect-et-grep",
      "lang": "fr",
      "type": "blog",
      "content": "Ce n'est pas tant une astuce docker, qu'une astuce jq. Si vous n'avez pas entendu parler de jq, c'est un excellent outil pour analyser JSON à partir de la ligne de commande. Cela en fait également un excellent outil pour voir ce qui se passe dans un conteneur au lieu d'avoir à utiliser le spécificateur -format dont je ne me souviens jamais exactement comment utiliserCe n'est pas tant une astuce docker, qu'une astuce jq. Si vous n'avez pas entendu parler de jq, c'est un excellent outil pour analyser JSON à partir de la ligne de commande. Cela en fait également un excellent outil pour voir ce qui se passe dans un conteneur au lieu d'avoir à utiliser le spécificateur -format..."
    },{
      "title": "Migrez votre VPS actuel (Linode, Rackspace, AWS EC2) vers DigitalOcean",
      "url": "/blog/fr/aws/migrez-votre-vps-actuel-linode-rackspace-aws-ec2-vers-digitalocean",
      "lang": "fr",
      "type": "blog",
      "content": "Les deux instances exécuteront Ubuntu. Ces instructions peuvent être adaptées pour migrer d'autres services d'autres fournisseurs. Nous travaillerons en tant que root dans les deux instances VPS."
    },{
      "title": "How to solve the code-server Error Could not locate the bindings file",
      "url": "/blog/en/code-server/how-to-solve-the-code-server-error-could-not-locate-the-bindings-file",
      "lang": "en",
      "type": "blog",
      "content": "There was a network issue during the installation and it broke it. When the installation broke down, the dependency spdlog was not present. I am using the Chrome web brower on Mac Os X Big Sur. My remote OS is a Free BSD 12.2, on UNIX."
    },{
      "title": "Ai-je besoin d’un nouveau modem câble si je suis bloqué en télétravail ?",
      "url": "/blog/fr/productivity/ai-je-besoin-d-un-nouveau-modem-cable-si-je-suis-bloque-en-teletravail",
      "lang": "fr",
      "type": "blog",
      "content": "Je dois travailler à domicile pour une entreprise de haute technologie et cela prend trop de temps pour télécharger et télécharger mon travail. J'ai mis à jour mon forfait Internet avec Comcast, mais cela signifie-t-il que j'ai également besoin d'un nouveau modem câble ?"
    },{
      "title": "Comment connecter un conteneur Docker à l’extérieur de l’hôte ?",
      "url": "/blog/fr/kubernetes/comment-connecter-un-conteneur-docker-a-l-exterieur-de-l-hote",
      "lang": "fr",
      "type": "blog",
      "content": "Jetons un coup d'œil au réseau de pont intégré que vous obtenez sur tous les hôtes Docker basés sur Linux. Maintenant, ce réseau est à peu près équivalent au réseau NAT par défaut que vous obtenez avec docker sous Windows."
    },{
      "title": "[RESOLU] Docker Laravel /usr/sbin/apache2ctl,: not found exited with code 127",
      "url": "/blog/fr/laravel/resolu-docker-laravel-usr-sbin-apache2ctl-not-found-exited-with-code-127",
      "lang": "fr",
      "type": "blog",
      "content": "J'ai récemment terminé un projet Laravel et j'ai fait un pas de plus pour l'empaqueter dans Docker. Dans le processus, j'ai rencontré un comportement étrange. L'outil docker-compose a lancé cette erreur /usr/sbin/apache2ctl,: not found sorti avec le code 127 sur moi. J'ai finalement réussi à le résoudre. Voici comment."
    },{
      "title": "Comment réparer TCP ne peut pas se connecter depuis l’extérieur de la machine virtuelle, le trafic réseau n’est pas transféré au port de service",
      "url": "/blog/fr/kubernetes/comment-reparer-tcp-ne-peut-pas-se-connecter-depuis-l-exterieur-de-la-machine-virtuelle-le-trafic-reseau-n-est-pas-transfere-au-port-de-service",
      "lang": "fr",
      "type": "blog",
      "content": "La plupart du temps, lorsque vous configurez votre cluster Kubernetes, l'utilisation des paramètres du contrôleur d'entrée par défaut fonctionne. Mais lorsque vous devez faire quelque chose de personnalisé, vous pouvez rencontrer des problèmes. Votre docker sous-jacent et votre moteur kubernetes peuvent vous donner des têtes. Nous allons voir dans cette soluce, comment les réparer et vous redonner le sourire."
    },{
      "title": "7 étapes faciles pour déployer une application laravel dans un conteneur docker",
      "url": "/blog/fr/laravel/7-etapes-faciles-pour-deployer-une-application-laravel-dans-un-conteneur-docker",
      "lang": "fr",
      "type": "blog",
      "content": "Laravel est un framework PHP très utile pour construire des projets impressionnants. Il dispose d'outils intéressants qui permettent à un développeur de sortir rapidement un prototype de son application. Je suis fan de l'organisation de mon application dans des conteneurs pour faciliter le déploiement et la gestion des dépendances. Je suis tombé sur un projet intéressant que je voulais déployer et tester. Je pensais partager avec vous les étapes pour effectuer un tel déploiement."
    },{
      "title": "Docker peut-il se connecter à la base de données ?",
      "url": "/blog/fr/kubernetes/docker-peut-il-se-connecter-a-la-base-de-donnees",
      "lang": "fr",
      "type": "blog",
      "content": "Il existe de nombreuses situations où vous devez connecter une base de données externe car base de données dans un conteneur ne prend pas en charge toutes les fonctionnalités requises par le application ou vous avez besoin de données persistantes dans votre environnement de cluster. Dans cet article, nous allons connecter une base de données SQL externe au conteneur Web Docker et la base de données externe peut être hébergée sur un serveur SQL dédié ou sur n'importe quel RDS cloud."
    },{
      "title": "Faille Log4j : Suis-je impacté et comment puis-je me protéger",
      "url": "/blog/fr/security/faille-log4j-suis-je-impacte-et-comment-puis-je-me-proteger",
      "lang": "fr",
      "type": "blog",
      "content": "Une faille dans Log4j, une bibliothèque Java développée par l'Apache Software Foundation open source pour la journalisation des messages d'erreur dans les applications, est la vulnérabilité de sécurité la plus médiatisée sur Internet à l'heure actuelle et est associée à un score de gravité de 10 sur 10."
    },{
      "title": "Comment accéder au port hôte dans un conteneur Docker ?",
      "url": "/blog/fr/docker/comment-acceder-au-port-hote-dans-un-conteneur-docker",
      "lang": "fr",
      "type": "blog",
      "content": "La plupart du temps, lorsque vous configurez votre cluster Kubernetes, l'utilisation des paramètres du contrôleur d'entrée par défaut fonctionne. Mais lorsque vous devez faire quelque chose de personnalisé, vous pouvez rencontrer des problèmes. Votre docker sous-jacent et votre moteur kubernetes peuvent vous donner des têtes. Nous allons voir dans cette soluce, comment les réparer et vous redonner le sourire."
    },{
      "title": "Comment exposer un port sur Minikube",
      "url": "/blog/fr/kubernetes/comment-exposer-un-port-sur-minikube",
      "lang": "fr",
      "type": "blog",
      "content": "Lorsque vous utilisez minikube, vous devez exposer des ports pour accéder à vos services. Dans docker, vous avez un indicateur de commande pour le faire. Comment faites-vous la même chose dans minikube ? N'oubliez pas que kubernetes a plus de composants que docker. En fait, docker fait partie des composants de kubernetes, d'où minikube."
    },{
      "title": "Comment résoudre Kubernetes can connect with localhost but not ip?",
      "url": "/blog/fr/kubernetes/comment-resoudre-kubernetes-can-connect-with-localhost-but-not-ip",
      "lang": "fr",
      "type": "blog",
      "content": "J'ai hébergé un de mes sites web sur kubernetes et j'en suis content... sauf d'une chose : comment y accéder. Mon adresse IP locale est `10.0.0.21`. Si j'utilise `localhost` ou `127.0.0.1`, cela fonctionne. Mais si j'utilise mon adresse IP locale, je ne peux pas y accéder. Cela vous semble familier? Voici comment le résoudre."
    },{
      "title": "[RÉSOLU] Les dépendances Maven échouent avec une erreur 501",
      "url": "/blog/fr/jenkins/resolu-les-dependances-maven-echouent-avec-une-erreur-501",
      "lang": "fr",
      "type": "blog",
      "content": "I have a jekins installation on my infrastructure. I found that recently my maven jobs are failing with an exception saying that they couldn'nt pull dependencies. Here is how I solved it."
    },{
      "title": "Installer Kubernetes avec Minikube",
      "url": "/blog/fr/kubernetes/installer-kubernetes-avec-minikube",
      "lang": "fr",
      "type": "blog",
      "content": "Installing Kubernetes with Minikube Minikube is a tool that makes it easy to run Kubernetes locally. Minikube runs a singlenode Kubernetes cluster inside a Virtual Machine VM on your laptop for users looking to try out Kubernetes or develop with it daytoday. Minikube Features minikubefeatures Minikube supports the following Kubernetes features: DNS NodePorts ConfigMaps and Secrets Dashboards Container Runtime: Dockerhttps://www.docker.com/, CRIOhttps"
    },{
      "title": "3 façons de connecter votre conteneur Dolibarr à la base de données locale",
      "url": "/blog/fr/docker/3-facons-de-connecter-votre-conteneur-dolibarr-a-la-base-de-donnees-locale",
      "lang": "fr",
      "type": "blog",
      "content": "L'une des priorités d'un administrateur système est l'optimisation des performances des déploiements et de l'infrastructure sous-jacente. J'ai un mariadb déployé et en cours d'exécution sur un serveur Linux. Il est optimisé pour les performances et le stockage de la base de données. Maintenant, je prévois de déployer un conteneur dolibarr docker dessus. Comment puis-je me connecter du conteneur dolibarr docker à la base de données mariadb locale ?"
    },{
      "title": "What is Git",
      "url": "/blog/en/git/what-is-git",
      "lang": "en",
      "type": "blog",
      "content": "Git is the most popular version control system in the world. A version control system records the changes made to our code over time in a special database called repository. We can look at our project history and see who has made what changes when and why. And if we screw something up we can easily revert our project back to an earlier state."
    },{
      "title": "Comment faire une capture d’écran sous Windows",
      "url": "/blog/fr/screenshot/comment-faire-une-capture-d-ecran-sous-windows",
      "lang": "fr",
      "type": "blog",
      "content": "appuyez sur PrtScn = Windows capture tout l'**écran** et le copie dans le presse-papiers (invisible). Remarque : sur certains ordinateurs portables, vous devez maintenir Fn enfoncé, puis appuyer sur PrtScn à la place. PrtScn ScrLk Pause Recherchez ce groupe de touches dans le **supérieur droit** de votre clavier. Remarque : Impr écran (PrtScn) peut avoir été abrégé différemment sur votre clavier."
    },{
      "title": "How do you ping a Docker container from the outside?",
      "url": "/blog/en/docker/how-do-you-ping-a-docker-container-from-the-outside",
      "lang": "en",
      "type": "blog",
      "content": "At some point when you are using docker you are going to find yourself needing to worry about container networks. Sometimes what has happened to me at least in the past is I will go ahead and create some containers based on images but for whatever reasons sometimes these containers are not on the same docker network."
    },{
      "title": "[RESOLU] WebSocket close with status code 1006",
      "url": "/blog/fr/code-server/resolu-websocket-close-with-status-code-1006",
      "lang": "fr",
      "type": "blog",
      "content": "At the end of the installation of the code server, you are ready to enjoy your new development workflow, and then, you see this message \"WebSocket close with status code 1006\". How to solve it? Check out these answers"
    },{
      "title": "3 solutions simples pour exécuter minikube dans une VM Ubuntu vm_VT-X/AMD-v",
      "url": "/blog/fr/kubernetes/3-solutions-simples-pour-executer-minikube-dans-une-vm-ubuntu-vm-vt-x-amd-v",
      "lang": "fr",
      "type": "blog",
      "content": "Comment exécuter minikube dans une machine virtuelle Ubuntu vm_VT-X/AMD-v. En tant que développeur, j'aime avoir un environnement reproductible. Mes clients fournissent souvent les spécifications techniques de leur environnement et j'aime les reproduire localement pour être au plus proche de leur environnement. Pour pouvoir installer minikube sur une machine virtuelle, exécutant virtualbox, vous devez utiliser le bon pilote (aucun)."
    },{
      "title": "What is the LAMP stack",
      "url": "/blog/en/webdevelopment/what-is-the-lamp-stack",
      "lang": "en",
      "type": "blog",
      "content": "I want to answer for you guys today is what is a lamp stack so we've gotten some questions and comments in the past we've had people approach us and they say hey i hear this referenced all the time i have absolutely no idea what a lamp stack is this is not something i'm familiar with and so"
    },{
      "title": "Comment configurer la plate-forme Cloud IDE du serveur de code sur DigitalOcean Kubernetes",
      "url": "/blog/fr/kubernetes/comment-configurer-la-plate-forme-cloud-ide-du-serveur-de-code-sur-digitalocean-kubernetes",
      "lang": "fr",
      "type": "blog",
      "content": "Avec la migration des outils de développement vers le cloud, la création et l'adoption de plates-formes cloud IDE (Integrated Development Environment) se développent. Les IDE cloud permettent une collaboration en temps réel entre les équipes de développeurs pour travailler dans un environnement de développement unifié qui minimise les incompatibilités et améliore la productivité. Accessibles via les navigateurs Web, les IDE cloud sont disponibles à partir de tous les types d'appareils modernes. Un autre avantage d'un IDE cloud est la possibilité d'exploiter la puissance d'un cluster, qui peut largement dépasser la puissance de traitement d'un seul ordinateur de développement."
    },{
      "title": "Overview on jenkins",
      "url": "/blog/en/jenkins/overview-on-jenkins",
      "lang": "en",
      "type": "blog",
      "content": "Today we are going to deep dive into that jenkins is and how it improves your devops continuous integration environments. We are going to cover what life is like before using jenkins and the issues that jenkins specifically addresses. Then we will get into what jenkins is about and how it applies to continuous integration and the other continuous integration tools that you need in your devops team. "
    },{
      "title": "Travailler avec Kubernetes avec Minikube",
      "url": "/blog/fr/kubernetes/travailler-avec-kubernetes-avec-minikube",
      "lang": "fr",
      "type": "blog",
      "content": "Minikube is a tool that makes it easy to run Kubernetes locally. Minikube runs a singlenode Kubernetes cluster inside a Virtual Machine VM on your laptop for users looking to try out Kubernetes or develop with it daytoday.Minikube Features minikubefeaturesMinikube supports the following Kubernetes features:DNS NodePorts ConfigMaps and Secrets Dashboards Container Runtime: Dockerhttps://www.docker.com/, CRIOhttps"
    },{
      "title": "A complete tutorial about jenkins file",
      "url": "/blog/en/jenkins/a-complete-tutorial-about-jenkins-file",
      "lang": "en",
      "type": "blog",
      "content": "If you are familiar with Jenkins, you would usually create new jobs or builds and configure them. Basically what Jenkins file is that instead of you creating and configuring jobs on the Jenkins user interface you would write a file or you would script that build and it's configuration in a file."
    },{
      "title": "What is difference between docker attach and exec?",
      "url": "/blog/en/docker/what-is-difference-between-docker-attach-and-exec",
      "lang": "en",
      "type": "blog",
      "content": "In this post we are going to see the docker exec and how we use it. Then we are going to see is docker attach and how we use it. So what is docker attach and how is it different from docker exec."
    },{
      "title": "Regex email validation",
      "url": "/blog/en/regex/regex-email-validation",
      "lang": "en",
      "type": "blog",
      "content": "Email validation is a very debatted question. The one we are going to see in this post willprobably not catch every single email. There’s a lot of debate for what is the best regular expression for an email and I’ve done a fairly simple one here it captures a most of them to be honest in my opinion but it’s maybe not the perfect one.A lot of people believe it or not argue like mad over what is the best regular expression foran email.If you do your research you’ll come across different ways of doing this this is just one way out of very many.But there you have it . We have all of our different fields accounted for and..."
    },{
      "title": "4 étapes faciles pour utiliser des images docker locales avec Minikube",
      "url": "/blog/fr/kubernetes/4-etapes-faciles-pour-utiliser-des-images-docker-locales-avec-minikube",
      "lang": "fr",
      "type": "blog",
      "content": "J’ai déjà partagé un court tutoriel sur Minikube, et pendant que je l’utilisais, j’ai pensé que je réutiliserais mes images locales directement, sans télécharger et puis les télécharger à nouveau.Deux choses que j’ai essayées (et qui n’ont pas fonctionné)Importez les images en utilisant kubectlJ’ai d’abord nettoyé les instances de minikube et recommencé à zéro pour m’assurer qu’il n’y a pas de collision. kubectl run hdfs --image=fluxcapacitor/hdfs:latest --port=8989kubectl run hdfs --image=fluxcapacitor/hdfs:latest --port=8989 imagePullPolicy=NeverEt la sortie était : NAME READY STATUS RESTARTS AGEhdfs-2425930030-q0sdl 0/1 ContainerCreating 0 10mComme vous le voyez, il reste bloqué sur un certain statut mais n’atteint jamais l’état prêt.Créer un registre localL’idée ici est de créer un registre local et d’y mettre mes images. Avec cela, je n’ai pas..."
    },{
      "title": "How do I run a docker container with a specific user",
      "url": "/blog/en/kubernetes/how-do-i-run-a-docker-container-with-a-specific-user",
      "lang": "en",
      "type": "blog",
      "content": "How do I run a docker container with a specific user. You connect to the terminal as root user, but I would like to connect as a different user.  How can you achieve that ? The solution is to add a user flag to your command line when you start the container or in your docker compose."
    },{
      "title": "Propriétés multilignes dans kubernetes Helm avec ConfigMaps",
      "url": "/blog/fr/kubernetes/proprietes-multilignes-dans-kubernetes-helm-avec-configmaps",
      "lang": "fr",
      "type": "blog",
      "content": "Il existe plusieurs API dans Kubernetes. Un ConfigMap est l'un d'entre eux. C'est un objet qui permet de stocker certaines données non confidentielles. Les données se présentent sous la forme de paires clé-valeur. Certains utilisent des variables d'environnement. Dans cet article de blog, nous verrons comment vous pouvez afficher des lignes à valeurs multiples."
    },{
      "title": "How to copy files from host to Docker container?",
      "url": "/blog/en/kubernetes/how-to-copy-files-from-host-to-docker-container",
      "lang": "en",
      "type": "blog",
      "content": "In my daily work, I have utility containers. Some are based on ubuntu, others just on busy box. I start them, run few commands and destroy them. For some specific task I need a long running container and populate it with files that are from the host. And after my work is done, I copy the result from the container back to the host."
    },{
      "title": "Jenkins CI Pipeline Scripts not permitted to use method groovy.lang.GroovyObject",
      "url": "/blog/en/jenkins/jenkins-ci-pipeline-scripts-not-permitted-to-use-method-groovy-lang-groovyobject",
      "lang": "en",
      "type": "blog",
      "content": "Apache groovy is an object-oriented programming language used for the jvm platform. This  dynamic language has a lot of features drawing inspiration from python small talk and ruby. It can be used to orchestrate your pipeline in jenkins and it can glue different languages together, meaning that teams in your project can be contributing in different languages."
    },{
      "title": "Comment construire un Slackbot en Python sur Ubuntu 20.04",
      "url": "/blog/fr/slack/comment-construire-un-slackbot-en-python-sur-ubuntu-20-04",
      "lang": "fr",
      "type": "blog",
      "content": "Slack est une plateforme de communication conçue pour la productivité au travail. Il comprend des fonctionnalités telles que la messagerie directe, les canaux publics et privés, les appels vocaux et vidéo et les intégrations de robots. Un Slackbot est un programme automatisé qui peut exécuter diverses fonctions dans Slack, de l'envoi de messages au déclenchement de tâches en passant par l'alerte sur certains événements."
    },{
      "title": "How to run jenkins jobs with docker",
      "url": "/blog/en/jenkins/how-to-run-jenkins-jobs-with-docker",
      "lang": "en",
      "type": "blog",
      "content": "I have successfully deployed my jenkins instance and did a good setup in my jenkins file. Now I am configuring it to run my jobs.My target is to have some task run inside a docker container.I did the configurations but got this error : Docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sockI finally managed to solve it, here is how.My setupI have the setup my jenkins instance.I configured a new job with below pipeline script.node { stage('Build') { docker.image('maven:3.3.3').inside { sh 'mvn --version' } }}The issue I am havingWhen I run the task, I got this error:Docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sockThe solutionTo solve..."
    },{
      "title": "Comment puis-je récupérer mes données sur un vieil ordinateur ?",
      "url": "/blog/fr/backup-restore/comment-puis-je-recuperer-mes-donnees-sur-un-vieil-ordinateur",
      "lang": "fr",
      "type": "blog",
      "content": "J'ai une tour de passerelle plus ancienne mais j'ai vendu le moniteur qui l'accompagnait. J'ai un ordinateur portable et un téléviseur et j'ai essayé d'utiliser un adaptateur HDMI vers VGA en pensant qu'il s'afficherait sur mon téléviseur ou mon ordinateur portable, mais cela ne fonctionne pas. Je voudrais passer par mon ancien ordinateur et l'essuyer avant de le recycler"
    },{
      "title": "the trustAnchors parameter must be non-empty on Linux, or why is the default truststore empty",
      "url": "/blog/en/jenkins/the-trustanchors-parameter-must-be-non-empty-on-linux-or-why-is-the-default-truststore-empty",
      "lang": "en",
      "type": "blog",
      "content": "I am moving my configuration from a windows machine into an Amazon AWS EC2 instances which runs Linux.The problem arises (in my case at least) when I try to use open a connection over SSL. It works fine on my windows machine, but when I deploy it to the linux machine (with sun’s jre installed) it fails with the exception:java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-emptyThe question is: why is this failing on Linux and working on Windows?Let’s find out!My setupA windows server on which it works okayOn my windows machine, it works well. But on my linux machine, it fails with the above exception.An AWS EC2 Linux instanceThe linux instance is built from an Amazon AMI.I have installed the..."
    },{
      "title": "TrustAnchors parameter must be non-empty",
      "url": "/blog/en/jenkins/trustanchors-parameter-must-be-non-empty",
      "lang": "en",
      "type": "blog",
      "content": "I have successfully installed and made to work an Hudson installation on Windows machine. Now I am trying to move my installation to a Linux server. When I perform the installation and run it, gives me an error. Here is how I fixed it."
    },{
      "title": "Windows ne démarre pas correctement après une mise à jour récente du système d’exploitation",
      "url": "/blog/fr/productivity/help-windows-wont-boot-correctly-after-a-recent-os-update",
      "lang": "fr",
      "type": "blog",
      "content": "Que se passe-t-il lorsque Windows commence à lancer des messages d'erreur ennuyeux à chaque fois que vous essayez de lancer le système d'exploitation ? Si vous essayez de vous connecter pour la journée et que vous travaillez réellement dans les délais critiques que vous avez, et que vous n'avez pas vraiment de service informatique pour vous aider, c'est probablement le pire endroit où se trouver."
    },{
      "title": "How do I connect a docker bridged container to the outside of the host?",
      "url": "/blog/en/kubernetes/how-do-i-connect-a-docker-bridged-container-to-the-outside-of-the-host",
      "lang": "en",
      "type": "blog",
      "content": "We're on a clean docker install on Linux all the networks we saw came as part of that default install so this bridge network was created for us. It contains a single virtual switch called docker0. We said this is the default Network and switch meaning if we create new containers  and don't specify a network for them to join they're gonna get connected to that docker0 switch, be part of this bridge network and because the bridge network is created with the bridge driver it's a single host network."
    },{
      "title": "[SOLVED] Laravel docker /usr/sbin/apache2ctl,: not found exited with code 127",
      "url": "/blog/en/laravel/solved-laravel-docker-usr-sbin-apache2ctl-not-found-exited-with-code-127",
      "lang": "en",
      "type": "blog",
      "content": "I recently finished a Laravel project and I steped one more step to package it in docker. In the process I encountered a strange behaviour. The docker-compose tool threw this error /usr/sbin/apache2ctl,: not found exited with code 127 at me. I finally managed to solve it. Here is how."
    },{
      "title": "[SOLVED]  Could not open input file: artisan in Laravel using docker image",
      "url": "/blog/en/laravel/solved-laravel-docker-image-could-not-open-input-file-var-www-html-artisan",
      "lang": "en",
      "type": "blog",
      "content": "When I run my laravel application, I get the error Laravel docker image Could not open input file: artisan. I finally found the root cause of the issue, let me share it with you. I generated my application in Laravel sail but now I am working to make it run inside a docker container. My application runs well in I use the docker-compose run but during the docker build process to generate the image, I get an error."
    },{
      "title": "7 easy steps to deploy a laravel application in a docker container",
      "url": "/blog/en/laravel/7-easy-steps-to-deploy-a-laravel-application-in-a-docker-container",
      "lang": "en",
      "type": "blog",
      "content": "Laravel is a very useful PHP framework to build awesome projets. It has interesting tools that allow a developper to quickly release a prototype of his/her application. I am a fan of organizing my application inside containers for easy deployment and dependencies management. I came accross an interesting project I wanted to deploy and test. I though I would share with you the steps to perform such a deployment. Let's get started."
    },{
      "title": "Can Docker connect to database?",
      "url": "/blog/en/kubernetes/can-docker-connect-to-database",
      "lang": "en",
      "type": "blog",
      "content": "There are many situations where you need to connect a external database because database in a container doesn't support all the features that is required by the application or you need persistent data across your cluster environment. In this post we are going to connect external SQL database to docker web container and external database can be hosted on dedicated SQL server or any cloud RDS."
    },{
      "title": "How do I access the host port in a Docker container?",
      "url": "/blog/en/docker/how-do-i-access-the-host-port-in-a-docker-container",
      "lang": "en",
      "type": "blog",
      "content": "Most of the time when you configure your kubernetes cluster, using the default ingress controller settings works. But when you need to do something custom, you may run into problems. Your underlying docker and kubernetes engine may give you head eaches. We will see in this walkthrough, how to fix on of these and put a smile back on your face."
    },{
      "title": "How to solve can connect with localhost but not IP?",
      "url": "/blog/en/kubernetes/how-to-solve-kubernetes-can-connect-with-localhost-but-not-ip",
      "lang": "en",
      "type": "blog",
      "content": "I have hosted one of my websites on kubernetes and am happy with it ... except with one thing: how I can access it. My local IP address is 10.0.0.21. If I use localhost or 127.0.0.1, it works. But if I use my local IP address, I cannot access it. Sound similar. Here is how to solve it."
    },{
      "title": "[SOLVED] Maven dependencies are failing with a 501 error",
      "url": "/blog/en/jenkins/how-to-solve-maven-dependencies-are-failing-with-a-501-error",
      "lang": "en",
      "type": "blog",
      "content": "I have a jekins installation on my infrastructure. I found that recently my maven jobs are failing with an exception saying that they couldn'nt pull dependencies. Here is how I solved it."
    },{
      "title": "How to solve Access denied for user ‘root’@’localhost’ (using password: NO)?Unable to authenticate php/Mysql",
      "url": "/blog/en/database/how-to-solve-access-denied-for-user-root-localhost-using-password-no-unable-to-authenticate-php-mysql",
      "lang": "en",
      "type": "blog",
      "content": "On my website installation, I need a mysql database to store my posts and configuration. During the configuration, I suddently run into a strange error: mysql server is complaining about authentication issues. Here is how I solved it."
    },{
      "title": "How do I connect to localhost",
      "url": "/blog/en/network/how-do-i-connect-to-localhost",
      "lang": "en",
      "type": "blog",
      "content": "When you spin up a new server and host a service on it, you need to connect from various other machines. But which IP addresses do you need to use for these accesses? We will find it together in this tutorial."
    },{
      "title": "Migrate Your Current VPS (Linode, Rackspace, AWS EC2) to DigitalOcean (reviewed)",
      "url": "/blog/en/aws/migrate-your-current-vps-linode-rackspace-aws-ec2-to-digitalocean-reviewed",
      "lang": "en",
      "type": "blog",
      "content": "You may want to move your data from a server to another for any reason. Migrating between VPS providers can seem like a daunting task. Like DigitalOcean, other VPS providers, such as Linode and Rackspace, provide root access. This allows you to transfer all of the necessary files to your new DigitalOcean VPS. For this guide, we will demonstrate how to transfer a simple WordPress blog from Linode to a DigitalOcean cloud server."
    },{
      "title": "How do I connect mysql workbench to mysql inside Docker?",
      "url": "/blog/en/docker/how-do-i-connect-mysql-workbench-to-mysql-inside-docker",
      "lang": "en",
      "type": "blog",
      "content": "Running your database inside a container is a very portable solution. It is also reproductible. But how do you manage the data inside that container? With my mysql server running in a docker container, I wanted to connect to it and manage it. The purpose of this tutorial is to share with you how to do it."
    },{
      "title": "3 ways to connect your Dolibarr container to local database",
      "url": "/blog/en/docker/3-ways-to-connect-your-dolibarr-container-to-local-database",
      "lang": "en",
      "type": "blog",
      "content": "One of the priorities of a system administrator is the performance optimization of the deployments and the underlying infrastructure. I have a deployed and running mariadb on a linux server. It is optimized for performance and database storage. Now I am planning deploying a dolibarr docker container on top of it. How can I connect from the dolibarr docker container to the local mariadb database?"
    },{
      "title": "How to fix cannot TCP connect from outside Virtual Machine, network traffic not forwarded to Service Port",
      "url": "/blog/en/kubernetes/how-to-fix-cannot-tcp-connect-from-outside-virtual-machine-network-traffic-not-forwarded-to-service-port",
      "lang": "en",
      "type": "blog",
      "content": "Most of the time when you configure your kubernetes cluster, using the default ingress controller settings works. But when you need to do something custom, you may run into problems. Your underlying docker and kubernetes engine may give you head eaches. We will see in this walkthrough, how to fix on of these and put a smile back on your face."
    },{
      "title": "Bonne et heureuse année 2022",
      "url": "/blog/fr/bestwishes/bonne-et-heureuse-ann%C3%A9e-2022-fr",
      "lang": "fr",
      "type": "blog",
      "content": "Toute l'équipe Bright Softwares vous souhaite une bonne et heureuse année 2022!"
    },{
      "title": "Happy new year 2022 ! Our best wishes",
      "url": "/blog/en/bestwishes/happy-new-year-2022-our-best-wishes",
      "lang": "en",
      "type": "blog",
      "content": "The entire Bright Softwares team wishes you a Happy New Year 2022!"
    },{
      "title": "[SOLVED] code server WebSocket close with status code 1006",
      "url": "/blog/en/code-server/how-to-solve-code-server-websocket-close-with-status-code-1006",
      "lang": "en",
      "type": "blog",
      "content": "At the end of the installation of the code server, you are ready to enjoy your new development workflow, and then, you see this message \"WebSocket close with status code 1006\". How to solve this websocket 1006 error? Check out these answers"
    },{
      "title": "How does code server works?",
      "url": "/blog/en/code-server/how-does-code-server-works",
      "lang": "en",
      "type": "blog",
      "content": "Imagine Visual Studio Code running in a web browser. That is code-server.It allows you to code as soon as you have an internet connection and a brower. You can work on any device such as a tablet or laptop with a consistent integrated development environment (IDE). Set up a secure a Linux development machine and get coding on any device with a web browser."
    },{
      "title": "3 easy solutions to run minikube in an Ubuntu VM vm_VT-X/AMD-v",
      "url": "/blog/en/kubernetes/how-to-run-minikube-in-a-virtual-machine-ubuntu-vm-vt-x-amd-v",
      "lang": "en",
      "type": "blog",
      "content": "How to run minikube in a Virtual Machine Ubuntu vm_VT-X/AMD-vAs a developer, I like to have a reproducable environment. My customers often provide the technical specifications of their environment and I like to reproduce them locally so I can be the closest to their environment.To be able to install minikube on a virtual machine, running virtualbox, you need to use the correct driver (none).In this tutorial, I will show you how to install and setup minikube on the virtual machine. The operating system will be Ubuntu.TL;DRTo install minikube on a virtual machine, running virtualbox, follow these steps: Install minikube as you would normally do. Check my tutorial here Configure minikube not to use any driver. The none driver does not..."
    },{
      "title": "How to expose a port on Minikube",
      "url": "/blog/en/kubernetes/how-to-expose-a-port-on-minikube",
      "lang": "en",
      "type": "blog",
      "content": "When using minikube, you need to expose ports to access your services. In docker, you have a command flag to do that. How do you do the same thing in minikube? Remeber that kubernetes has more components than docker. A matter of fact, docker is among the components of kubernetes, hence minikube."
    },{
      "title": "Joyeux Noel de la part de l’équipe Bright Softwares",
      "url": "/blog/fr/meilleursvoeux/joyeux-noel-de-la-part-de-l%C3%A9quipe-bright-softwares-fr",
      "lang": "fr",
      "type": "blog",
      "content": "Toute l’équipe de Bright Softwares vous souhaite un Joyeux Noël"
    },{
      "title": "Merry Christmas from Bright Softwares",
      "url": "/blog/en/bestwishes/merry-christmas-from-bright-softwares",
      "lang": "en",
      "type": "blog",
      "content": "The Bright-Softwares team wishes you a Merry Christmas. We can’t wait to celebrate the New Year with you.En français"
    },{
      "title": "Log4j flaw: Am I impacted and how can I protect myself",
      "url": "/blog/en/security/log4j-flaw-am-i-impacted-and-how-can-i-protect-myself",
      "lang": "en",
      "type": "blog",
      "content": "A flaw in Log4j, a Java library developed by the open-source Apache Software Foundation for logging error messages in applications, is the most high-profile security vulnerability on the internet right now and comes with a severity score of 10 out of 10. The library is developed by the open-source Apache Software Foundation and is a key Java-logging framework. The CERT New Zealand triggered an alert last week that CVE-2021-44228, a remote code execution flaw in Log4j, was already being exploited by attackers. Several national cybersecurity agencies also issed the alert, including the Cybersecurity and Infrastructure Security Agency (CISA) and the UK’s National Cyber Security Centre (NCSC). Read more at Internet infrastructure provider Cloudflare said Log4j exploits started on December 1.  What devices..."
    },{
      "title": "Help! Windows Won’t Boot Correctly After a Recent OS Update",
      "url": "/blog/en/productivity/help-windows-wont-boot-correctly-after-a-recent-os-update",
      "lang": "en",
      "type": "blog",
      "content": "What happens when Windows starts tossing up annoying error messages each and every time you try to launch the operating system? If you’re trying to log in for the day and actually do work for the critical deadlines you have, and you don’t really have an IT department to help out, this is probably the worst spot to be in. Since we’re all stuck—or will soon be stuck—in our homes and apartments for the foreseeable future, The question: I have a Windows 10 desktop. Several weeks ago windows "
    },{
      "title": "Docker tip : inspect and jq",
      "url": "/blog/en/docker/docker-tip-inspect-and-jq",
      "lang": "en",
      "type": "blog",
      "content": "This isn’t so much a docker tip, as it is a jq tip. If you haven’t heard of jq, it is a great tool for parsing JSON from the command line. This also makes it a great tool to see what is happening in a container instead of having to use the –format specifier which I can never remember how to use exactly"
    },{
      "title": "4 easy steps to use local docker images with Minikube",
      "url": "/blog/en/kubernetes/how-to-use-local-docker-images-with-minikube",
      "lang": "en",
      "type": "blog",
      "content": "I have previously shared a short tutorial on Minikube, and while I was using it, I thought I would reuse my local images directly, without uploading and then downloading them again.Two things I have tried (and didn’t work)Import the images using ##@@10000@@##I first cleaned the instances of minikube and start fresh to make sure that the is no collision. kubectl run hdfs --image=fluxcapacitor/hdfs:latest --port=8989kubectl run hdfs --image=fluxcapacitor/hdfs:latest --port=8989 imagePullPolicy=NeverAnd the output was : NAME READY STATUS RESTARTS AGEhdfs-2425930030-q0sdl 0/1 ContainerCreating 0 10mAs you see, it get stuck on some status but it never reach the ready state.Create a local registeryThe idea here is to create a local registry and put my images into it. With that, I don’t need to..."
    },{
      "title": "Multiline Properties in kubernetes Helm with ConfigMaps",
      "url": "/blog/en/kubernetes/kubernetes-helm-how-to-show-multi-line-properties",
      "lang": "en",
      "type": "blog",
      "content": "There are several APIs in Kubernetes. A ConfigMap is one of these. It is an object which helps to storing some non-confidential data. The data is in the form of key-value pairs. Some use envrionment variables. In this blog post, we will see how you can show multi-value lines. Working with Kubernetes Helm, I went to the documentation."
    },{
      "title": "How To Build a Slackbot in Python on Ubuntu 20.04",
      "url": "/blog/en/slack/how-to-build-a-slackbot-in-python-on-ubuntu-2004",
      "lang": "en",
      "type": "blog",
      "content": "Slack is a communication platform designed for workplace productivity. It includes features such as direct messaging, public and private channels, voice and video calls, and bot integrations. A Slackbot is an automated program that can perform a variety of functions in Slack, from sending messages to triggering tasks to alerting on certain events."
    },{
      "title": "How Do I Get My Data Off an Old Computer?",
      "url": "/blog/en/backup-restore/how-do-i-get-my-data-off-an-old-computer",
      "lang": "en",
      "type": "blog",
      "content": "I have and older gateway tower but sold the monitor that came with it. I have a laptop and a TV and tried using an HDMI to VGA adapter thinking it would show on my TV or laptop but its not working. I would like to go through my old computer and wipe it clean before just recycling it. Any suggestions on how I can view the content on my old computer?"
    },{
      "title": "How To Set Up the code-server Cloud IDE Platform on DigitalOcean Kubernetes",
      "url": "/blog/en/kubernetes/how-to-set-up-the-codeserver-cloud-ide-platform-on-digitalocean-kubernetes",
      "lang": "en",
      "type": "blog",
      "content": "With developer tools moving to the cloud, creation and adoption of cloud IDE (Integrated Development Environment) platforms is growing. Cloud IDEs allow for real-time collaboration between developer teams to work in a unified development environment that minimizes incompatibilities and enhances productivity. Accessible through web browsers, cloud IDEs are available from every type of modern device. Another advantage of a cloud IDE is the possibility to leverage the power of a cluster, which can greatly exceed the processing power of a single development computer."
    },{
      "title": "Comment prendre une capture d’écran dans windows",
      "url": "/blog/fr/screenshot/windows-screenshot-methods-guide",
      "lang": "fr",
      "type": "blog",
      "content": "Windows =======Comment prendre une capture d'écran dans windows?press   PrtScn  =  Windows captures the entire screen and copies it to the invisible clipboard. Note: On some notebooks you have to hold Fn and then press PrtScn instead.       Where can I find that key?PrtScn ScrLk Pause    Look for this group of keys at the upper right of your keyboard. Note: Print Screen PrtScn might have been abbreviated differently on your keyboard.How do I take a screenshot of a single window?hold down   Alt "
    },{
      "title": "How to Send and Receive Faxes Online Without a Fax Machine or Phone Line",
      "url": "/blog/fr/fax/how-to-send-and-receive-faxes-online-without-a-fax-machine-or-phone-line-fr",
      "lang": "fr",
      "type": "blog",
      "content": " Some slowmoving businesses and government agencies may not accept documents over email, forcing you to fax them in. If you are forced to send a fax, you can do it from your computer for free.How Fax Machines Work and Why They’re So InconvenientThis isn’t as easy as it should be. Fax machines are all connected to the plain old telephone lines. When you use a standard fax machine, that fax machine places a phone call to the number you specify. The fax machine at the destination number answ"
    },{
      "title": "How to take a screenshot in Windows",
      "url": "/blog/en/screenshot/how-to-take-a-screenshot-in-windows",
      "lang": "en",
      "type": "blog",
      "content": "Windows How do I take a screenshot? press   PrtScn  =  Windows captures the entire screen and copies it to the invisible clipboard. Note: On some notebooks you have to hold Fn and then press PrtScn instead. Where can I find that key? PrtScn ScrLk Pause Look for this group of keys at the upper right of your keyboard. Note: Print Screen PrtScn might have been abbreviated differently on your keyboard. How do I take a screenshot of a single window? hold down Alt "
    },{
      "title": "The Evolution of Fax Machines: Understanding Their Operation",
      "url": "/blog/en/fax/how-to-send-and-receive-faxes-online-without-a-fax-machine-or-phone-line",
      "lang": "en",
      "type": "blog",
      "content": "In the realm of communication, **fax machines** have long been the stalwart means of transmitting documents over telephone lines. However, understanding their operation is crucial to grasp their limitations and the need for modern alternatives. Traditional fax machines operate akin to a courier service: documents are printed, physically transported, then digitized again at the receiving end. This archaic process, akin to sending a handwritten letter in the age of email, underscores the need for innovation in document transmission."
    },{
      "title": "Work with Kubernetes with Minikube",
      "url": "/blog/en/kubernetes/work-with-kubernetes-with-minikube",
      "lang": "en",
      "type": "blog",
      "content": "Minikube is a tool that makes it easy to run Kubernetes locally. Minikube runs a singlenode Kubernetes cluster inside a Virtual Machine VM on your laptop for users looking to try out Kubernetes or develop with it daytoday.Minikube Features minikubefeaturesMinikube supports the following Kubernetes features:DNS NodePorts ConfigMaps and Secrets Dashboards Container Runtime: Dockerhttps://www.docker.com/, CRIOhttps"
    },{
      "title": "Play with Kubernetes with Minikube",
      "url": "/blog/fr/kubernetes/play-with-kubernetes-with-minikube-fr",
      "lang": "fr",
      "type": "blog",
      "content": "Installing Kubernetes with Minikube ===================================Minikube is a tool that makes it easy to run Kubernetes locally. Minikube runs a singlenode Kubernetes cluster inside a Virtual Machine VM on your laptop for users looking to try out Kubernetes or develop with it daytoday.Minikube Features minikubefeaturesMinikube supports the following Kubernetes features:DNS NodePorts ConfigMaps and Secrets Dashboards Container Runtime: Dockerhttps://www.docker.com/, CRIOhttps"
    },{
      "title": "Installing Kubernetes with Minikube",
      "url": "/blog/fr/kubernetes/kubernetes-minikube-installation-guide",
      "lang": "fr",
      "type": "blog",
      "content": "Minikube is a tool that makes it easy to run Kubernetes locally. Minikube runs a singlenode Kubernetes cluster inside a Virtual Machine VM on your laptop for users looking to try out Kubernetes or develop with it daytoday. Minikube Features minikube features. Minikube supports the following Kubernetes features: DNS, NodePorts, ConfigMaps and Secrets, Dashboards, Container Runtime: Dockerhttps://www.docker.com/, CRIOhttps"
    },{
      "title": "Play with Kubernetes with Minikube",
      "url": "/blog/en/kubernetes/play-with-kubernetes-with-minikube",
      "lang": "en",
      "type": "blog",
      "content": "Minikube is a tool that makes it easy to run Kubernetes locally. Minikube runs a singlenode Kubernetes cluster inside a Virtual Machine VM on your laptop for users looking to try out Kubernetes or develop with it daytoday. Minikube Features minikubefeatures Minikube supports the following Kubernetes features: DNS, NodePorts, ConfigMaps and Secrets, Dashboards, Container Runtime: Dockerhttps://www.docker.com/, CRIOhttps"
    },{
      "title": "Installing Kubernetes with Minikube",
      "url": "/blog/en/kubernetes/installing-kubernetes-with-minikube",
      "lang": "en",
      "type": "blog",
      "content": "Installing Kubernetes with Minikube. Minikube is a tool that makes it easy to run Kubernetes locally. Minikube runs a singlenode Kubernetes cluster inside a Virtual Machine VM on your laptop for users looking to try out Kubernetes or develop with it daytoday. Minikube Features minikubefeatures Minikube supports the following Kubernetes features: DNS NodePorts ConfigMaps and Secrets Dashboards Container Runtime: Dockerhttps://www.docker.com/, CRIOhttps"
    },{
      "title": "How Do I Get My Data Off an Old Computer?",
      "url": "/blog/fr/backup-restore/recover-data-from-old-computer",
      "lang": "fr",
      "type": "blog",
      "content": " I want to delete everything on my old computer, but...“Hello,I have and older gateway tower but sold the monitor that came with it.I have a laptop and a TV and tried using an HDMI to VGA adapter thinking it would show on my TV or laptop but its not working. I would like to go through my old computer and wipe it clean before just recycling it.Any suggestions on how I can view the content on my old computer?”Why you can’t get a signal from your old computerGood news: You h"
    },{
      "title": "Help! Windows Won’t Boot Correctly After a Recent OS Update",
      "url": "/blog/fr/productivity/fix-windows-boot-after-update",
      "lang": "fr",
      "type": "blog",
      "content": "What happens when Windows starts tossing up annoying error messages each and every time you try to launch the operating system? If you’re trying to log in for the day and actually do work for the critical deadlines you have, and you don’t really have an IT department to help out, this is probably the worst spot to be in.Since we’re all stuck—or will soon be stuck—in our homes and apartments for the foreseeable future,The question:I have a Windows 10 desktop. Several weeks ago windows "
    },{
      "title": "How Do I Fix My Cracked iPhone Screen During the Shutdown?",
      "url": "/blog/en/productivity/how-do-i-fix-my-cracked-iphone-screen-during-the-shutdown",
      "lang": "en",
      "type": "blog",
      "content": "There’s a lot you can’t do in a pandemic—at least, if you’re smart. You shouldn’t be going to the mall even if it’s open, nor should you even consider just lollygagging around the Apple store and taking stupid pictures on their demo devices. However, the quarantine—selfimposed or otherwise—also comes with some frustrations. If your iPhone breaks, for example, you can’t just waltz into an Apple store to get it repaired at the ol’ bar of smart people. You’re kind of stuck. Or are you?"
    },{
      "title": "Playing Kubernetes with Minikube",
      "url": "/blog/fr/kubernetes/playing-kubernetes-with-minikube-fr",
      "lang": "fr",
      "type": "blog",
      "content": "Installing Kubernetes with Minikube ===================================Minikube is a tool that makes it easy to run Kubernetes locally. Minikube runs a singlenode Kubernetes cluster inside a Virtual Machine VM on your laptop for users looking to try out Kubernetes or develop with it daytoday.Minikube Features minikubefeaturesMinikube supports the following Kubernetes features:DNS NodePorts ConfigMaps and Secrets Dashboards Container Runtime: Dockerhttps://www.docker.com/, CRIOhttps"
    },{
      "title": "Playing Kubernetes with Minikube",
      "url": "/blog/en/kubernetes/playing-kubernetes-with-minikube",
      "lang": "en",
      "type": "blog",
      "content": "Minikube is a tool that makes it easy to run Kubernetes locally. Minikube runs a single-node Kubernetes cluster inside a Virtual Machine (VM) on your laptop for users looking to try out Kubernetes or develop with it day-to-day."
    },{
      "title": "Docker tip : inspect and less",
      "url": "/blog/en/docker/docker-tip-inspect-and-less",
      "lang": "en",
      "type": "blog",
      "content": "This isn’t so much a docker tip, as it is a jq tip. If you haven’t heard of jq, it is a great tool for parsing JSON from the command line. This also makes it a great tool to see what is happening in a container instead of having to use the –format specifier which I can never remember how to use exactly"
    },{
      "title": "Docker tip : inspect and grep",
      "url": "/blog/en/docker/docker-tip-inspect-and-grep",
      "lang": "en",
      "type": "blog",
      "content": "This isn’t so much a docker tip, as it is a jq tip. If you haven’t heard of jq, it is a great tool for parsing JSON from the command line. This also makes it a great tool to see what is happening in a container instead of having to use the –format specifier which I can never remember how to use exactly:"
    },{
      "title": "Do I Need a New Cable Modem If I’m Stuck Working From Home?",
      "url": "/blog/en/productivity/do-i-need-a-new-cable-modem-if-im-stuck-working-from-home",
      "lang": "en",
      "type": "blog",
      "content": "Iâm going to go with the good olâ âIt depends.â However, I first want to commend you for actually owning your own cable modem instead of coughing up $14 or so each month for Comcast to rent you one of their *meh* modem/router combinations. Thereâs no reason you should be paying a fee to rent that which you can purchase yourself. Of course, this also means that youâll have to buy a new cable modem if, or when, your internet plan exceeds your modemâs capabilities."
    },{
      "title": "Comment Augmenter les Vitesses de Téléchargement : 7 Techniques Éprouvées Qui Fonctionnent Réellement",
      "url": "/blog/fr/productivity/comment-augmenter-les-vitesses-de-telechargement-guide-complet",
      "lang": "fr",
      "type": "blog",
      "content": "Arrêtez d'attendre les téléchargements ! Apprenez 7 techniques testées pour augmenter considérablement vos vitesses de téléchargement de 30-300 %. Gains rapides et solutions à long terme incluses."
    },{
      "title": "How to Boost Download Speeds: 7 Proven Techniques That Actually Work",
      "url": "/blog/en/productivity/how-to-boost-download-speeds-complete-guide",
      "lang": "en",
      "type": "blog",
      "content": "Stop waiting for downloads! Learn 7 tested techniques to dramatically increase your download speeds from 30-300%. Quick wins and long-term solutions included."
    },{
      "title": "Pourquoi Vos Vitesses de Téléchargement Varient Selon les Ordinateurs et Comment y Remédier",
      "url": "/blog/fr/productivity/why-do-my-download-speeds-differ-so-drastically-between-computers-fr",
      "lang": "fr",
      "type": "blog",
      "content": "Découvrez pourquoi les vitesses de téléchargement diffèrent considérablement entre vos appareils et apprenez 6 raisons fixes causant les ralentissements. Obtenez des solutions pratiques pour restaurer des téléchargements cohérents et rapides sans mises à niveau coûteuses."
    },{
      "title": "Why Your Download Speeds Vary Between Computers &amp; How to Fix It",
      "url": "/blog/en/productivity/why-do-my-download-speeds-differ-so-drastically-between-computers",
      "lang": "en",
      "type": "blog",
      "content": "Discover why download speeds differ dramatically between your devices and learn 6 fixable reasons causing the slowdowns. Get practical solutions to restore consistent, fast downloads without expensive upgrades."
    },{
      "title": "Understanding Template Literals in JavaScript",
      "url": "/blog/fr/javascript/understanding-template-literals-in-javascript-fr",
      "lang": "fr",
      "type": "blog",
      "content": "The 2015 edition of the ECMAScript specification (ES6) added template literals to the JavaScript language. Template literals are a new form of making strings in JavaScript that add a lot of powerful new capabilities, such as creating multi-line strings more easily and using placeholders to embed expressions in a string. In addition, an advanced feature called tagged template literals allows you to perform operations on the expressions within a string. All of these capabilities increase your options for string manipulation as a developer, letting you generate dynamic strings that could be used for URLs or functions that customize HTML elements."
    },{
      "title": "How To Configure Jenkins with SSL Using an Nginx Reverse Proxy on Ubuntu 20.04",
      "url": "/blog/fr/docker/jenkins-ssl-nginx-reverse-proxy-ubuntu",
      "lang": "fr",
      "type": "blog",
      "content": "By default, Jenkins comes with its own built-in Winstone web server listening on port 8080, which is convenient for getting started. It’s also a good idea, however, to secure Jenkins with SSL to protect passwords and sensitive data transmitted through the web interface.In this tutorial, you will configure Nginx as a reverse proxy to direct client requests to Jenkins."
    },{
      "title": "Comment utiliser les relations de base de données un à plusieurs avec Flask et SQLite",
      "url": "/blog/fr/database/how-to-use-onetomany-database-relationships-with-flask-and-sqlite-fr",
      "lang": "fr",
      "type": "blog",
      "content": "Flask est un framework permettant de créer des applications Web à l'aide du langage Python, et SQLite est un moteur de base de données qui peut être utilisé avec Python pour stocker des données d'application. Dans ce didacticiel, vous utiliserez Flask avec SQLite pour créer une application de tâches dans laquelle les utilisateurs peuvent créer des listes d'éléments de tâches. Vous apprendrez à utiliser SQLite avec Flask et comment fonctionnent les relations de base de données un à plusieurs."
    },{
      "title": "How To Manage State on React Class Components",
      "url": "/blog/fr/javascript/how-to-manage-state-on-react-class-components-fr",
      "lang": "fr",
      "type": "blog",
      "content": "In React, state refers to a structure that keeps track of how data changes over time in your application. Managing state is a crucial skill in React because it allows you to make interactive components and dynamic web applications. State is used for everything from tracking form inputs to capturing dynamic data from an API. In this tutorial, you’ll run through an example of managing state on class-based components."
    },{
      "title": "How To Create a New Sudo-enabled User on Ubuntu 20.04 [Quickstart]",
      "url": "/blog/fr/ubuntu/create-sudo-enabled-user-ubuntu-20-04",
      "lang": "fr",
      "type": "blog",
      "content": "When managing a server, you’ll sometimes want to allow users to execute commands as “root,” the administrator-level user. The sudo command provides system administrators with a way to grant administrator privileges — ordinarily only available to the root user — to normal users. In this tutorial, you’ll learn how to create a new user with sudo access on Ubuntu 20.04 without having to modify your server’s /etc/sudoers file."
    },{
      "title": "How To Build a Slackbot in Python on Ubuntu 20.04",
      "url": "/blog/fr/slack/building-slackbot-python-ubuntu-20-04",
      "lang": "fr",
      "type": "blog",
      "content": "Slack is a communication platform designed for workplace productivity. It includes features such as direct messaging, public and private channels, voice and video calls, and bot integrations. A Slackbot is an automated program that can perform a variety of functions in Slack, from sending messages to triggering tasks to alerting on certain events."
    },{
      "title": "Understanding Template Literals in JavaScript",
      "url": "/blog/en/javascript/understanding-template-literals-in-javascript",
      "lang": "en",
      "type": "blog",
      "content": "The 2015 edition of the ECMAScript specification (ES6) added template literals to the JavaScript language. Template literals are a new form of making strings in JavaScript that add a lot of powerful new capabilities, such as creating multi-line strings more easily and using placeholders to embed expressions in a string. In addition, an advanced feature called tagged template literals allows you to perform operations on the expressions within a string. All of these capabilities increase your options for string manipulation as a developer, letting you generate dynamic strings that could be used for URLs or functions that customize HTML elements."
    },{
      "title": "How To Use One-to-Many Database Relationships with Flask and SQLite",
      "url": "/blog/en/database/how-to-use-onetomany-database-relationships-with-flask-and-sqlite",
      "lang": "en",
      "type": "blog",
      "content": "Flask is a framework for building web applications using the Python language, and SQLite is a database engine that can be used with Python to store application data. In this tutorial, you will use Flask with SQLite to create a to-do application where users can create lists of to-do items. You will learn how to use SQLite with Flask and how one-to-many database relationships work."
    },{
      "title": "How To Manage State on React Class Components",
      "url": "/blog/en/javascript/how-to-manage-state-on-react-class-components",
      "lang": "en",
      "type": "blog",
      "content": "In React, state refers to a structure that keeps track of how data changes over time in your application. Managing state is a crucial skill in React because it allows you to make interactive components and dynamic web applications. State is used for everything from tracking form inputs to capturing dynamic data from an API. In this tutorial, you’ll run through an example of managing state on class-based components."
    },{
      "title": "How To Create a Self-Signed SSL Certificate for Apache on CentOS 8",
      "url": "/blog/en/ubuntu/how-to-create-a-selfsigned-ssl-certificate-for-apache-on-centos-8",
      "lang": "en",
      "type": "blog",
      "content": "TLS, or “transport layer security” — and its predecessor SSL — are protocols used to wrap normal traffic in a protected, encrypted wrapper. Using this technology, servers can safely send information to their clients without their messages being intercepted or read by an outside party. In this guide, we will show you how to create and use a self-signed SSL certificate with the Apache web server on a CentOS 8 machine."
    },{
      "title": "How To Create a New Sudo-enabled User on Ubuntu 20.04 [Quickstart]",
      "url": "/blog/en/ubuntu/how-to-create-a-new-sudoenabled-user-on-ubuntu-2004-quickstart",
      "lang": "en",
      "type": "blog",
      "content": "When managing a server, you’ll sometimes want to allow users to execute commands as “root,” the administrator-level user. The sudo command provides system administrators with a way to grant administrator privileges — ordinarily only available to the root user — to normal users. In this tutorial, you’ll learn how to create a new user with sudo access on Ubuntu 20.04 without having to modify your server’s /etc/sudoers file."
    },{
      "title": "How To Configure Jenkins with SSL Using an Nginx Reverse Proxy on Ubuntu 20.04",
      "url": "/blog/en/docker/how-to-configure-jenkins-with-ssl-using-an-nginx-reverse-proxy-on-ubuntu-2004",
      "lang": "en",
      "type": "blog",
      "content": "By default, Jenkins comes with its own built-in Winstone web server listening on port 8080, which is convenient for getting started. It’s also a good idea, however, to secure Jenkins with SSL to protect passwords and sensitive data transmitted through the web interface.In this tutorial, you will configure Nginx as a reverse proxy to direct client requests to Jenkins."
    },{
      "title": "How To Set Up a Remote Database to Optimize Site Performance with MySQL on Ubuntu 16.04",
      "url": "/blog/en/wordpress/how-to-set-up-a-remote-database-to-optimize-site-performance-with-mysql-on-ubuntu-1604",
      "lang": "en",
      "type": "blog",
      "content": "How To Set Up a Remote Database to Optimize Site Performance with MySQL on Ubuntu 16.04"
    },{
      "title": "How To Install WordPress with LEMP on Ubuntu 16.04",
      "url": "/blog/en/wordpress/how-to-install-wordpress-with-lemp-on-ubuntu-1604",
      "lang": "en",
      "type": "blog",
      "content": "How To Install WordPress with LEMP on Ubuntu 16.04"
    },{
      "title": "How To Install WordPress with LAMP on Ubuntu 16.04",
      "url": "/blog/en/webdevelopment/how-to-install-wordpress-with-lamp-on-ubuntu-1604",
      "lang": "en",
      "type": "blog",
      "content": "LAMP stack is a popular web application platform that consists of four open-source components that work together to run dynamic websites and web applications. The four components of LAMP stack are"
    },{
      "title": "Top 5 Questions from “How to become a Docker Power User” session at DockerCon 2020",
      "url": "/blog/fr/docker/top-5-questions-from-how-to-become-a-docker-power-user-session-at-dockercon-2020-fr",
      "lang": "fr",
      "type": "blog",
      "content": "It was a fantastic experience hosting my first ever virtual conference session. The commute to my home office was great, and I even picked up a coffee on the way before my session started. No more waiting in lines, queueing for food, or sitting on the conference floor somewhere in a corner to check emails."
    },{
      "title": "Top 5 Questions from “How to become a Docker Power User” session at DockerCon 2020",
      "url": "/blog/en/docker/top-5-questions-from-how-to-become-a-docker-power-user-session-at-dockercon-2020",
      "lang": "en",
      "type": "blog",
      "content": "It was a fantastic experience hosting my first ever virtual conference session. The commute to my home office was great, and I even picked up a coffee on the way before my session started. No more waiting in lines, queueing for food, or sitting on the conference floor somewhere in a corner to check emails."
    },{
      "title": "How To Setup Your Local Node.js Development Environment Using Docker",
      "url": "/blog/en/docker/how-to-setup-your-local-nodejs-development-environment-using-docker",
      "lang": "en",
      "type": "blog",
      "content": "Docker is the defacto toolset for building modern applications and setting up a CI/CD pipeline – helping you build, ship and run your applications in containers on-prem and in the cloud. Whether you’re running on simple compute instances such as AWS EC2 or Azure VMs or something a little more fancy like a hosted Kubernetes service like AWS EKS or Azure AKS, Docker’s toolset is your new BFF. "
    },{
      "title": "Migrate Your Current VPS (Linode, Rackspace, AWS EC2) to DigitalOcean",
      "url": "/blog/en/aws/migrate-your-current-vps-linode-rackspace-aws-ec2-to-digitalocean",
      "lang": "en",
      "type": "blog",
      "content": "Migrating between VPS providers can seem like a daunting task. Like DigitalOcean, other VPS providers, such as Linode and Rackspace, provide root access. This allows you to transfer all of the necessary files to your new DigitalOcean VPS. For this guide, we will demonstrate how to transfer a simple WordPress blog from Linode to a DigitalOcean cloud server."
    },{
      "title": "Amazon’s T3 – Qui peut l’utiliser, quand, comment et pourquoi?",
      "url": "/blog/fr/aws/amazons-t3-qui-doit-utiliser-quand-comment-et-pourquoi",
      "lang": "fr",
      "type": "blog",
      "content": "T2 n'est plus à la mode, à cause de son CPU throttling au dessus de la baseline. Amazon l'a mis en version unlimited – avec une option pour faire du CPU throtling avec du crédit."
    },{
      "title": "How to Copy a Formula Down an Entire Column in Google Sheets",
      "url": "/blog/en/data-analysis/how-to-copy-a-formula-down-an-entire-column-in-google-sheets",
      "lang": "en",
      "type": "blog",
      "content": "You are working inside a Google Spreadsheet where a formula needs to copied down to the last row of the sheet. You also need the formula to be added automatically when a new row is added to the Google Sheet."
    },{
      "title": "Amazon’s T3 – Who should use it, when, how and the why?",
      "url": "/blog/en/aws/amazons-t3-who-should-use-it-when-how-and-the-why",
      "lang": "en",
      "type": "blog",
      "content": "T2 standard got vastly misunderstood due to its CPU throttling over baseline, to which Amazon introduced T2 unlimited – with a way to overcome the CPU throttling with a pay for credit mechanism for the period the EC2 ran over the baseline. Should you from from\taws T2 vs T3"
    },{
      "title": "Linux server",
      "url": "/portfolio/linux-server",
      "lang": "en",
      "type": "portfolio",
      "content": "We have 5+ years experience on linux server management and am passionate about it. If you need to setup new application or fix an existing one, wait, don't go anywhere! You're at the perfect place. :)"
    },{
      "title": "Serveur Linux",
      "url": "/fr/portfolio/linux-server/",
      "lang": "fr",
      "type": "portfolio",
      "content": "Nous avons plus de 5 ans d'expérience en gestion de serveurs Linux et sommes passionnés par ce domaine. Si vous avez besoin de configurer une nouvelle application ou de corriger une existante, ne cherchez plus ! Vous êtes au bon endroit. :)"
    },{
      "title": "Data Analysis",
      "url": "/portfolio/data-analysis",
      "lang": "en",
      "type": "portfolio",
      "content": "If you have data, it can be transformed, out of a mess, of meaningless information and into usable, tangible insights for your business."
    },{
      "title": "Analyse de Données",
      "url": "/fr/portfolio/data-analysis/",
      "lang": "fr",
      "type": "portfolio",
      "content": "Si vous avez des données, elles peuvent être transformées, d'un amas d'informations sans signification en des insights exploitables et tangibles pour votre entreprise."
    },{
      "title": "Google data",
      "url": "/portfolio/google-data",
      "lang": "en",
      "type": "portfolio",
      "content": "We are experts in Google Apps platform and in G Suite Apps. You are on the right place."
    },{
      "title": "Google Data",
      "url": "/fr/portfolio/google-data/",
      "lang": "fr",
      "type": "portfolio",
      "content": "Nous sommes experts de la plateforme Google Apps et de G Suite Apps. Vous êtes au bon endroit."
    },{
      "title": "Bots",
      "url": "/portfolio/bots",
      "lang": "en",
      "type": "portfolio",
      "content": "Currently, our bot provides instantaneous support to 60% of all chatting customers, and has reduced our queued visitors by over 50%."
    },{
      "title": "Bots",
      "url": "/fr/portfolio/bots/",
      "lang": "fr",
      "type": "portfolio",
      "content": "Actuellement, notre bot fournit un support instantané à 60% de tous les clients en chat, et a réduit nos visiteurs en file d'attente de plus de 50%."
    },{
      "title": "Le MOCA",
      "url": "/portfolio/lemoca",
      "lang": "en",
      "type": "portfolio",
      "content": "A beautiful project, baked in Art."
    },{
      "title": "Le MOCA",
      "url": "/fr/portfolio/lemoca/",
      "lang": "fr",
      "type": "portfolio",
      "content": "Un beau projet, ancré dans l'Art."
    },{
      "title": "Kibalo e-commerce",
      "url": "/portfolio/kibalo",
      "lang": "en",
      "type": "portfolio",
      "content": "Kibalo combines ethnicity and modernity to offer you the best. On Kibalo buy safely all over the world. KIBALO, is a word used in the region of KARA in the north of Togo (West African population) to designate all powerful or God. It is a very strong way in this region to recognize the authority of God without whom nothing is possible. The name of the brand has been chosen accordingly to express our gratitude while paying a tribute to our culture."
    },{
      "title": "Kibalo e-commerce",
      "url": "/fr/portfolio/kibalo/",
      "lang": "fr",
      "type": "portfolio",
      "content": "Kibalo allie ethnicité et modernité pour vous offrir le meilleur. Sur Kibalo, achetez en toute sécurité dans le monde entier. KIBALO est un mot utilisé dans la région de KARA au nord du Togo (Afrique de l'Ouest) pour désigner le tout-puissant ou Dieu. C'est une façon très forte dans cette région de reconnaître l'autorité de Dieu sans qui rien n'est possible. Le nom de la marque a été choisi en conséquence pour exprimer notre gratitude tout en rendant hommage à notre culture."
    },{
      "title": "Whatsapp like Android and iOS Apps",
      "url": "/portfolio/chat-mobile-app",
      "lang": "en",
      "type": "portfolio",
      "content": "Building mobile apps is one of our core services. We help customers streamline their user experience with stunning mobile apps. You're at the perfect place. :)"
    },{
      "title": "Android and iOS Apps",
      "url": "/portfolio/mobile-app",
      "lang": "en",
      "type": "portfolio",
      "content": "Building mobile apps is one of our core services. We help customers streamline their user experience with stunning mobile apps. You're at the perfect place. :)"
    },{
      "title": "Youtube like Android and iOS Apps",
      "url": "/portfolio/video-mobile-app",
      "lang": "en",
      "type": "portfolio",
      "content": "Building mobile apps is one of our core services. We help customers streamline their user experience with stunning mobile apps. You're at the perfect place. :)"
    },{
      "title": "Applications Android et iOS type WhatsApp",
      "url": "/fr/portfolio/chat-mobile-app/",
      "lang": "fr",
      "type": "portfolio",
      "content": "La création d'applications mobiles est l'un de nos services principaux. Nous aidons les clients à rationaliser leur expérience utilisateur avec des applications mobiles exceptionnelles. Vous êtes au bon endroit. :)"
    },{
      "title": "Applications Android et iOS",
      "url": "/fr/portfolio/mobile-app/",
      "lang": "fr",
      "type": "portfolio",
      "content": "La création d'applications mobiles est l'un de nos services principaux. Nous aidons les clients à rationaliser leur expérience utilisateur avec des applications mobiles exceptionnelles. Vous êtes au bon endroit. :)"
    },{
      "title": "Applications Android et iOS type YouTube",
      "url": "/fr/portfolio/video-mobile-app/",
      "lang": "fr",
      "type": "portfolio",
      "content": "La création d'applications mobiles est l'un de nos services principaux. Nous aidons les clients à rationaliser leur expérience utilisateur avec des applications mobiles exceptionnelles. Vous êtes au bon endroit. :)"
    },{
      "title": "Countdown bot",
      "url": "/portfolio/countdown-bot",
      "lang": "en",
      "type": "portfolio",
      "content": "Very useful bot that can help your users know when a special event will start."
    },{
      "title": "Bot de compte à rebours",
      "url": "/fr/portfolio/countdown-bot/",
      "lang": "fr",
      "type": "portfolio",
      "content": "Un bot très utile qui peut aider vos utilisateurs à savoir quand un événement spécial va commencer."
    },{
      "title": "WhatsApp bot",
      "url": "/portfolio/whatsapp-bot",
      "lang": "en",
      "type": "portfolio",
      "content": "A bot that can help sellers manage their permit and help the government control sellers that have a valid permit."
    },{
      "title": "Bot WhatsApp",
      "url": "/fr/portfolio/whatsapp-bot/",
      "lang": "fr",
      "type": "portfolio",
      "content": "Un bot qui peut aider les vendeurs à gérer leurs permis et aider le gouvernement à contrôler les vendeurs possédant un permis valide."
    },{
      "title": "MissJos",
      "url": "/portfolio/missjos",
      "lang": "en",
      "type": "portfolio",
      "content": "A beautiful project, baked in talent."
    },{
      "title": "MissJos",
      "url": "/fr/portfolio/missjos/",
      "lang": "fr",
      "type": "portfolio",
      "content": "Un beau projet, ancré dans le talent."
    },{
      "title": "Société de Commissionnaires et de Consultants en Douane",
      "url": "/portfolio/sccd",
      "lang": "en",
      "type": "portfolio",
      "content": "La société CCD est une Société de Commissionnaires et consultants en douane. Elle regorge en son sein des professionnels du transit maritime, aérien et terrestre qui interviennent aussi bien à l’import qu’à l’export. Elle assure un service complet en procédure de dédouanement de marchandises, en transport-logistiques et multimodales avec des équipements de points adaptés à cet effet. Elle assure des prestations su mesure au Togo et à l’international spécialisée dans le transport maritime par groupage de marchandises en provenance de l’Asie, l’Europe ainsi que les provinces de l’Amérique du Nord et plus précisément le Togo et les pays desservis par le port Autonome de Lomé notamment les pays de l’hinterland."
    },{
      "title": "Société de Commissionnaires et de Consultants en Douane",
      "url": "/fr/portfolio/sccd/",
      "lang": "fr",
      "type": "portfolio",
      "content": "La société CCD est une Société de Commissionnaires et consultants en douane. Elle regorge en son sein des professionnels du transit maritime, aérien et terrestre qui interviennent aussi bien à l'import qu'à l'export. Elle assure un service complet en procédure de dédouanement de marchandises, en transport-logistiques et multimodales avec des équipements de points adaptés à cet effet."
    },{
      "title": "Dagan Magazine, femme togolaise",
      "url": "/portfolio/dagan",
      "lang": "en",
      "type": "portfolio",
      "content": "Dagan magazine's new issue is in the kiosks. 🥰 Go get it quickly in booths. and don't hesitate to tag us (in the comments or in story) with your favorite magazine, we're sharing everything again 📽 Enjoy your reading!"
    },{
      "title": "Dagan Magazine, femme togolaise",
      "url": "/fr/portfolio/dagan/",
      "lang": "fr",
      "type": "portfolio",
      "content": "Le nouveau numéro de Dagan Magazine est dans les kiosques. Allez vite le chercher dans les points de vente et n'hésitez pas à nous taguer (en commentaire ou en story) avec votre magazine préféré, nous repartageons tout ! Bonne lecture !"
    },{
      "title": "Ephah, Self-Hosted Telegram E-Commerce",
      "url": "/portfolio/ephah",
      "lang": "en",
      "type": "portfolio",
      "content": "Take back control of your digital product sales! Ephah is a self-hosted Django-powered Telegram bot that lets you sell digital products with cryptocurrency and Stripe payments, no platform fees."
    },{
      "title": "Notiwise, the Smart Calendar Notifications",
      "url": "/portfolio/notiwise",
      "lang": "en",
      "type": "portfolio",
      "content": "Never miss an important event again! Notiwise is a Google Apps Script addon that provides intelligent, priority-based calendar notifications with customizable tags and reminder times."
    },{
      "title": "Ephah, E-Commerce Telegram Auto-Hébergé",
      "url": "/fr/portfolio/ephah/",
      "lang": "fr",
      "type": "portfolio",
      "content": "Reprenez le contrôle de vos ventes de produits numériques! Ephah est un bot Telegram auto-hébergé propulsé par Django qui vous permet de vendre des produits numériques avec des paiements en cryptomonnaie et Stripe, sans frais de plateforme."
    },{
      "title": "Notiwise, les Notifications Intelligentes de Calendrier",
      "url": "/fr/portfolio/notiwise/",
      "lang": "fr",
      "type": "portfolio",
      "content": "Ne manquez plus jamais un événement important ! Notiwise est un addon Google Apps Script qui fournit des notifications de calendrier intelligentes et basées sur les priorités avec des tags et des heures de rappel personnalisables."
    },{
      "title": "Sollingo, Family Language Learning",
      "url": "/portfolio/sollingo",
      "lang": "en",
      "type": "portfolio",
      "content": "Family-oriented language learning platform with gamification, chore rewards, TV time tracking, and parent dashboard. 5 languages available."
    },{
      "title": "Pilotflow by Zippy, Gmail Inbox Autopilot",
      "url": "/portfolio/pilotflow-by-zippy",
      "lang": "en",
      "type": "portfolio",
      "content": "Inbox zero, at Zippy speed. Pilotflow by Zippy automates Gmail inbox management with configurable Action Packs — rules that label, delay-archive, forward, and clean your emails automatically."
    },{
      "title": "Pilotflow by Zippy, Pilote Automatique Gmail",
      "url": "/fr/portfolio/pilotflow-by-zippy/",
      "lang": "fr",
      "type": "portfolio",
      "content": "Inbox zéro, à la vitesse Zippy. Pilotflow by Zippy automatise la gestion de la boîte de réception Gmail avec des Action Packs configurables — des règles qui étiquettent, archivent avec délai, transfèrent et nettoient vos emails automatiquement."
    },{
      "title": "Cornerstone Launch Blueprint, the Real Playbook Behind a 10-Brand PLR Business",
      "url": "/portfolio/cornerstone-launch-blueprint",
      "lang": "en",
      "type": "portfolio",
      "content": "The working documentation behind a real, inspectable 10-brand PLR (Private Label Rights) digital-products operation — product-selection rubric, technical architecture spec, and copywriting template packs, no income claims."
    }]
