Les utilisateurs de l’outil de statistique de visites « Google Analytics », ont reçu récemment un e-mail intitulé « En 2023, nous cesserons graduellement la fourniture de la solution Universal Analytics« .
Le contenu de cet e-mail, pour le moins sibyllin, affichait : « Google Analytics 4 remplace Universal Analytics, nous vous recommandons de finaliser votre migration vers Google Analytics 4. » Et ensuite… débrouillez-vous ! Ce n’est pas très courtois ; et on y reconnaît bien ce mode « usine à gaz » dont Google a le secret !
Voici un petit tutoriel rapide pour vous expliquer comment procéder.
Google My Business est ce petit encart de présentation d’un marchand ou d’un service ayant pignon sur rue. Il apparait à droite de la page de recherche lorsque vous tapez le nom de l’entreprise.
Si vous l’avez mis en forme pour votre entreprise, vous savez combien il est précieux pour vos clients : adresse, photos de l’entreprise, horaires d’ouverture, site web, etc. C’est en quelque sorte la carte d’identité de votre entreprise sur Google.
La plupart des annonceurs ont reçu cet e-mail de la part des services de Google.
Certains de mes clients s’en sont inquiétés : « Vais-je perdre les précieux avis positifs de ma boutique, faut-il recréer une nouvelle fiche d’adresse, etc. »
En PHP, la fonction mail() suffit souvent pour envoyer des e-mails simples (format texte, pas de pièces jointes…)
La situation se corse lorsqu’il faut envoyer des pièces jointes, afficher des données en HTML sur tous les clients mails sans erreurs d’en-codage (vive les iPhone
!), ou encore ne pas être tout simplement rejetés d’office le FAI dans la boîte de spam de votre destinataires…
L’une des meilleures solutions consiste à passer par l’excellente librairie gratuite PHPmailer qui fait tout cela très bien… et simplement.
Créer un PDF dynamiquement avec PHP est un travail long, je dirais presque fastidieux…
La librairie gratuite FPDF simplifie sensiblement cette tâche, sans pour autant la rendre totalement intuitive. Concrètement, l’affichage des données s’apparente à un dessin créé avec les chaîne de caractères à afficher : tout doit être positionné à l’avance, il n’y aura dans la plupart des cas pas de retour à la ligne automatique (ni de redimensionnement selon la taille des écrans puisqu’il s’agit d’un format d’impression)
Voici un petit tutoriel FPDF de base, pour la créer un fichier PDF avec des données extraites d’une base des données et incluant un tableau : cela suffira à couvrir 95% des besoins…
Vous voulez que le trafic de votre site Internet soit plus important ? Pour cela, vous devez optimiser votre référencement.
Vous pouvez utiliser plusieurs techniques pour le faire, en vous basant autant sur les mots-clés de votre site Internet que sur l’obtention de liens et la qualité de votre contenu. Cela vous permettra d’être dans les meilleurs résultats des recherches Google.
Il y a peu de développeurs à qui la question a échappé : le passage d’un serveur en PHP 7 entraine une cascade d’erreurs sur le pages, commençant en général par « MySQL depracated » ou « Fatal error: Uncaught Error: Call to undefined function mysql_query() in … »
Concrètement toutes les fonctions de connexion aux bases des données mysql_xxx() sont à modifier, pour tenter (entre autre) d’endiguer les vagues des piratages de bases liées aux failles de sécurité.
Si vous n’utilisiez pas le langage orienté objet (nommé du doux nom de « PDO »), les mises à jours liées à ce changement peuvent sembler barbares sur beaucoup de tutoriels…
En fait, il est inutile de changer : si vous avez l’habitude de programmer en PHP « classique » (autrement dit en mode dit « procédural »), ne changez rien, c’est inutile !
Pourquoi est-il important de ne pas avoir une page d’accueil trop lourde ?
Pour 2 raisons majeures :
- l’internaute est, par définition, un humain pressé : la durée moyenne de visite d’un site internet est de 2 minutes 17 secondes (2018)… S’il doit commencer par attendre 1/2 minute que la page d’accueil charge, il zappe et va voir ailleurs.
- Google inclue la « légèreté » de votre page d’accueil dans ses algorithmes de référencement naturel (la position de votre site sur les pages de son moteur de recherche).
Il existe plusieurs outils web permettant d’optimiser le poids de cette page d’accueil : en voici un qui fonctionne bien […]
Vous avez des services ou des produits à vendre, et vous hésitez à « sauter le pas » et à créer un site internet de vente en ligne ?
Découvrez ces chiffres, ils vont peut-être changer votre perception du e-commerce…
Une petite fonction PHP toute simple, qui permet d’envoyer un e-mail contenant des caractères spéciaux (en particulier des accents).
L’objet de l’e-mail ainsi que le contenu sont supposés provenir soit d’une base des données soit d’une page HTML avec un formulaire de saisie, l’un et l’autre encodés en UTF8.
Chaque changement d’ordinateur(ou simplement mise à jour de Wamp server) pose le même problème à tout développeur qui se respecte : comment vais-je transférer rapidement les bases des données de mon serveur MySQL en localhost (et sans les perdre) ?
En théorie il suffit d’exporter chaque base des données (via PHPmyAdmin par exemple), et de la ré-importer (toujours via PHPmyAdmin)… En pratique c’est un peu plus compliqué que cela lorsque :
- vous avez oublié de l’exporter au format .sql (ou n’avez pas pu)
- vous avez des dizaines et des dizaines de bases des données…
Les pages « profondes » nécessitent des ancres nommées « TOP » (retour en haut de la page) à intervalles réguliers, pour éviter à l’internaute de passer son temps à remonter en haut de la page péniblement.
Il existe une solution simple en pur CSS (accessible aux écrans ayant désactivé les Javascripts), permettant à l’internaute d’avoir , en bas de la page affichée, un petit bouton CSS toujours visible bien pratique pour remonter en haut de la page sans scroller…
Qui n’a pas recherché dans sa boite Gmail un message envoyé il y a 6 mois par un client ou un ami ?
Parce que Gmail est une application du célèbre moteur de recherche Google, les filtres de recherche de ce dernier sont particulièrement efficaces. Connaissez vous les plus courants ?
Pourquoi une validation des e-mails avec PHP ? Parce que la plupart des formulaires de contact incluent la saisie d’un e-mail, de manière à pouvoir répondre à la demande. Et la plupart des internautes détestent les spams… Un certain nombre de petits malins ont donc tendance à insérer une fausse adresse, voire ‘xxxxx’ pour shunter l’obligation de saisie. Sans compter les fautes de frappe (que l’on peut limiter avec une double saisie de cet e-mail)…
Pour écarter les pièges les plus grossiers, il est donc nécessaire de contrôler au minimum la présence d’une arobase @, ainsi que d’une extension du nom de domaine (.com, .fr, etc.)
Le problème de la limite de session sur phpMyAdmin est surtout gênant lorsque vous travaillez en local sur vos bases des données (avec WampServer ou easyPHP par exemple) : par défaut, toutes les 23 minutes (1400 secondes), une déconnexion vous oblige à ressaisir les identifiants d’accès. C’est pénible, à la longue…
Si vous avez accès aux fichiers du serveur, la solution est très simple.
L’utilisation puriste de MySQL voudrait que la structure d’un champ ne permette pas qu’il soit vide. En d’autre terme tout champ devrait avoir une valeur par défaut en cas d’insertion vide, ou comporter la valeur NULL.
La plupart des versions de phpMyAdmin tolèrent, en fait, les insertions de champs vides. Lorsque vous insérez par exemple un champ de date vide, l’application insère à la place ‘0000-00-00’.
Toutefois il peut arriver qu’un mise à jour de phpMyAdmin (ou de Wamp, en local, par exemple) entraine des messages d’erreur voire des blocages d’insertion. Il faut en ce cas désactiver le mode STRICT_ALL_TABLES sur phpMyAdmin, c’est très simple à faire.
A l’instar du classique formulaires de commande sur internet, par exemple, avec sa fameuse case à cocher de validation des CGV (Conditions Générales des Ventes) avant finalisation de la commande en ligne, ce billet vous permettra de valider un formulaire selon un choix prédéfini dans un menu déroulant.
– Si le bon choix est fait, le formulaire est envoyé au clic sur le bouton d’envoi.
– Sinon, on peut déclencher une boîte d’alerte et bloquer l’envoi du formulaire.
Même avec de bonnes sauvegardes, les manipulations sur des bases de données en production sont parfois anxiogènes !
Comme dans le cas précédant (Comment changer la clé primaire d’une table MySQL), dupliquer une colonne d’une table MySQL en gardant les valeurs des champs est simple… à condition de procéder dans le bon ordre !
Il peut arriver que, pour les besoins du développement d’une site ou d’une application web, il soit nécessaire de modifier une clé primaire sur une table existante et en production. On peut souhaiter changer son nom, par exemple, ou ré-incrémenter les valeurs des tupples existants, etc.
C’est plus délicat qu’il n’y parait, puisque cette clé est logiquement auto-incrémentée : phpMyAdmin, par exemple, ne propose pas de solutions intuitives pour cela.
Il suffit de procéder dans le bon ordre pour que tout se passe bien !
Comparer deux dates : cette question se pose régulièrement pour un développeur , afin de déclencher (ou non) un évènement. La date que je vais extraire de ma base des données est-elle passée ? Ou à venir ?
Or comparer deux dates au format MySQL (AAAA-mm-jj) ne fonctionne pas toujours selon les mois calendaire (à 2, ou à 1 chiffre ?)…
La solution consiste à ramener les 2 dates en secondes par rapport à une date de référence (1er janvier 1970 par défaut); puis à les comparer. Exemple ici : […]
C’est une bête question qui se pose de temps à autre…
Après avoir inséré de nouvelles lignes et de nouvelles colonnes sur un tableau Excel, les formules et fonctions de calculs automatiques (totaux, pourcentages, calculs de TVA, etc.), voire les menus déroulants, donnent parfois le sentiment de se figer : ils semblent ne plus se mettre à jour lors de l’insertion de nouvelles valeurs.
La solution est si courte qu’il s’agit sans doute du billet le plus bref de ce blog !