picture picture
Blog des TICS
août 14, 2018 (X)HTML, JavaScript 0 Commentaire

Validation JavaScript d’un menu déroulant

Validation JavaScript d'un menu déroulantA 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.

août 14, 2018 MySQL 0 Commentaire

Dupliquer une colonne d’une table MySQL

Dupliquer une colonne MySQLMê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 précéder dans le bon ordre !

août 14, 2018 MySQL 1 Commentaire

Comment changer la clé primaire d’une table MySQL

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 !

août 13, 2018 PHP 0 Commentaire

Comparer deux dates avec PHP

La question se pose régulièrement pour un développeur, afin de déclencher (ou non) un évènement PHP. Comparer deux dates n'est pas si simple !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 : […]

août 9, 2018 Excel 0 Commentaire

Forcer le recalcul Excel sur toutes les cellules d’une feuille

Après avoir inséré de nouvelles lignes ou colonnes sur une feuille , voici comment forcer le recalcul Excel des formules automatiques sur toute la feuilleC’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 !

janvier 31, 2018 Excel 0 Commentaire

Comment faire un menu déroulant sur une cellule Excel ?

 
Que les pros d’Excel cessent de ricaner (« fastoche » !) : non, ce n’est pas évident pour les béotiens que nous sommes… :P

En fait , ce n’est pas très compliqué.
Mais encore faut-il le savoir !
 

janvier 31, 2018 PHP, WordPress 0 Commentaire

La barre d’outils et le texte ont disparus dans l’éditeur WordPress O_x

Hier je me connecte au back-office d’un de mes sites développés sous WordPress, je cherche un article à mettre à jour, et là panique : la zone de saisie est vide et l’éditeur de texte n’a plus de barre d’outils :?

En creusant un peu j’ai vite découvert que le texte était toujours dans la zone de saisie de la page ou de l’article, mais il était devenu blanc… sur fond blanc (en le sélectionnant il apparaissait) !

Quelques recherches sur Google m’ont permis de trouver la solution à ce bug, je la partage : cela fera surement gagner du temps à l’un ou l’autre.

janvier 31, 2018 Graphisme 0 Commentaire

Retrouver la visionneuse de photos sous Windows 10 ?

L’ancienne version de la Visionneuse de Windows 8 était plus légère et ergonomique. Mode d’emploi pour retrouver cette visionneuse photos sous Windows 10Par défaut, Windows 10 propose son application « Photos » pour afficher et éventuellement retoucher les fichiers images (jpg, png ou gif par exemple).

Personnellement j’aimais bien l’ancienne version de la « Visionneuse de photos Windows », beaucoup plus légère, et permettant des formats d’impression personnalisés simples.

Mode d’emploi pour la retrouver avec Windows 10, en 3 petits pas !

janvier 31, 2018 Graphisme 0 Commentaire

Frame : un outil gratuit pour incruster une capture d’écran sur une image

Frame est un petit outil génial, simple, et totalement original.

Si vous cherchez à faire une présentation de votre site avec des captures d’écran multisupports (« responsive design », sur plusieurs écrans), ne cherchez plus : vous avez trouvé !

Le site est en anglais, mais c’est trop simple pour passer à côté…

janvier 13, 2018 MySQL 0 Commentaire

Une requête MySQL pour tester les clés étrangères

MySQL ; comment tester les clés étrangères correspondant à des clés primaires inexistantes (ou effacées) dans une autre table jointe ? Blog Web TolosaComment extraire les lignes d’un table MYSQL dont les clés étrangères correspond à une ligne vide dans une autre table ? Autrement dit, comment tester si les clés étrangères correspondent  (ou non) à des clés primaires inexistantes (ou effacées) dans une autre table jointe ?

A priori une requête conditionnelle utilisant la commande « NOT IN » semblait tentante, mais à l’usage elle est extrêmement lente.

J’ai donc testé la commande « NOT EXISTS » qui est nettement plus performante. Il existe surement d’autres approches, mais je vous partage ici ce petit bout de code qui peut dépanner l’un ou l’autre (j’ai mis un peu de temps à trouver…)

janvier 11, 2018 Excel, MySQL, PHP 0 Commentaire

Export d’une table MYSQL au format CSV… sans message d’erreur

La solution traditionnelle en PHP était de créer un tableau HTML : comment exporter une table MYSQL au format CSV sans message d'erreur ?Pour générer en PHP un fichier au format Excel (.xls ou .csv), la solution traditionnelle était de créer un tableau HTML, dont chaque ligne (<TD></TD>) correspondait à un tuple de la table MySQL exportée en boucle.

Oui, mais… si Excel sait lire le format HTML, les versions récentes affichent un désagréable message à l’ouverture du fichier pour signifier que le langage qu’on lui impose n’est pas le sien :
« Le format et l’extension du fichier « xxx.csv » ne correspondent pas. Le fichier peut présenter un risque ou avoir été endommagé. Ne l’ouvrez pas, à moins que la source soit fiable. Voulez-vous quand même l’ouvrir ? »

Comme quoi, le multiculturalisme ça ne marche pas pour les fichiers non plus… :lol:

décembre 19, 2017 MySQL, PHP 2 Commentaires

Extraire les noms des colonnes d’une table MySQL

Pour exporter une table entière au format Excel, il peut être souhaitable d’extraire les noms des colonnes d’une table MySQL via PHP. Blog de Web TolosaPour de multiples raisons, comme par exemple pour exporter une table entière au format Excel, il peut être souhaitable d’extraire les noms des champs d’une table MySQL via PHP.

L’astuce consiste à récupérer ces noms de colonnes en utilisant la commande « SHOW COLUMS FROM« …

décembre 1, 2017 MySQL, WordPress 4 Commentaires

Help ! J’ai perdu mon accès au back-office de WordPress \o/

Pour récupérer un accès au back-office de WordPress en cas d'oubli, voici comment recréer un accès administrateur depuis la base des données sur PhpMyAdmin.Il arrive, pour diverses raisons, qu’un administrateur de site WordPress perde son login ou son mot de passe d’accès à la gestion du site.

Traditionnellement ce back-office se trouve sur l’URL http://<mon nom de domaine>/wp-admin. Garder cette URL est une erreur en terme de sécurité, et il est possible de la changer, mais c’est un autre problème :D

Voici comment recréer un accès accès au back-office de WordPress en mode administrateur depuis la base des données du site, stockée sur PhpMyAdmin.

septembre 22, 2017 CSS 1 Commentaire

Une bulle d’aide en CSS

Plutôt que de surcharger les pages d’explications, une petite bulle d’aide en CSS discrète est souvent bienvenue. Mode d'emploi ici : Blog de Web TolosaPlutôt que de surcharger les pages d’explications, une petite bulle d’aide en CSS discrète est souvent bienvenue.

Celle que je propose ici est légère, s’active au survol de la souris, et présente l’avantage de pouvoir incorporer des mises en forme HTML (gras, retour à la ligne, etc.)

septembre 22, 2017 JavaScript, PHP 0 Commentaire

Installer l’éditeur de texte Tiny MCE en mode avancé

Comment Installer l'éditeur de texte Tiny MCE en mode avancé. Si le N°1 des blogs (WordPress) l'a choisi, ce n’est pas pour rien ! Blog de Web TolosaC’est une demande récurrente de clients : « Faites-moi un champ de saisie de texte où on peut mettre du gras, de l’italique, des listes et des couleurs, comme Word« … L’objectif étant bien entendu de récupérer cette mise en forme, en général pour la stocker dans une base des données.

HTML ne permettant pas ce type de fantaisies, il faut donc se tourner vers les « éditeurs de texte » open-source. Il y en a quelques uns, je présente ici l’intégration de Tiny-MCE. C’est à la fois l’un des plus abouti, et des plus simple d’utilisation. C’est celui qu’a choisi le N°1 des moteur de blog (WordPress) : ce n’est pas pour rien…

septembre 21, 2017 JavaScript 1 Commentaire

Installer DatePicker, calendrier d’aide à la saisie de dates

Comment installer DatePicker sur vos formulaires, widget gratuit d'aide à la saisie des dates proposé par le moteur JavaScript JQuery-UI. Blog de Web TolosaDatePicker est l’un des widgets proposées gratuitement par le moteur JavaScript JQuery-UI. Nous en avions parlé dans un article précédent (cf. Autocomplétion du champ de texte avec JQuery-UI) : cet outil est un peu une « usine à gaz » mais les résultats sont néanmoins assez éblouissants…

La fonctionnalité présentée ici est un petit calendrier d’aide à la saisie qui remplit automatiquement la date dans un champ de texte lorsqu’on sélectionne un jour. Finis les jj-mm-AA ou jj/mm/AAAA : le champ sera auto-rempli, et surtout, il est au bon format si vous avez besoin par exemple de la stocker, par exemple, dans une base des données.

septembre 21, 2017 (X)HTML, CSS 0 Commentaire

Comment avoir un footer collé en bas de page ?

En CSS, on ne peut pas compter sur les calques supérieurs pour avoir toujours un footer collé en bas de page …L’issue CSS est simple. Blog de Web TolosaLe problème des pages dynamiques (dont le contenu est extrait d’une base des données), c’est qu’on ne peut pas prévoir la hauteur de la page. Les calques relatifs se positionnant par empilement, on ne peut donc pas compter sur les calques supérieurs pour coller un pied de page (footer) en bas

L’issue CSS est pourtant simple.

septembre 21, 2017 JavaScript, MySQL, PHP 2 Commentaires

Autocomplétion du champ de texte avec JQuery-UI

L’auto-complétion consiste à proposer une pré-sélection de valeurs dans le champ texte d’un formulaire.
Ces valeurs sont extraites à la volée d’une base des données, et contiennent le caractère (ou la chaîne de caractères) déjà saisi par l’utilisateur.

Cette fonction utilise AJAX (JavaScript + PHP), c’est à dire qu’il n’est pas nécessaire de recharger une page pour extraire dynamiquement et afficher les valeurs souhaitées depuis une base des données. Le moteur utilisé dans cet exemple est JQuery-UI (puissant JavaScript opensource)

septembre 20, 2017 WordPress 0 Commentaire

Comment installer Google Analytics sur un site WordPress ?

Il n’est pas question ici de se lancer  dans un tutoriel sur Google Analytics (qui est une usine à gaz, comme tous les « services » développeurs de Google, mais indispensable, comme tous les « services » développeurs de Google…)

Je vous propose simplement ici une piste, pour suivre en détails vos statistiques des visites d’un WordPress.

 

septembre 20, 2017 Graphisme 0 Commentaire

Redresser une photo avec Photoshop (horizon, perspectives)

Qui n’a pas eu à redresser une ligne d’horizon ou d’un bâtiment à la perspective chaloupant sur une photo ?!

La plupart des outils de retouche-photos grand public (smartphones, Picasa, etc.) incorporent nativement cette option élémentaire.  Bizarrement ce n’est pas très intuitif sur Photoshop.

Petit tuto sur 4 méthodes simples de redressement.

septembre 19, 2017 PHP 0 Commentaire

Envoyer un e-mail en PHP avec plusieurs pièces jointes

Un client m’a demandé la possibilité de joindre plusieurs pièces jointes aux e-mails envoyés en PHP depuis son intranet.
Mon premier réflexe a été de lui dire de faire un zip avant d’envoyer des fichiers : je craignais surtout pour les ressources du serveur qui n’est pas spécialement taillé pour des uploads lourds. Mais lui craignait que ses destinataires ne soient pas tous suffisamment « geek » pour utiliser un décompresseur (ce qui se justifie pour des envois « grand public » ou seniors…)

Il y a assez peu de ressources sur le net à ce sujet, je vous livre celle-ci : compilation personnelle de plusieurs sources que je n’ai pas toutes retrouvées (que les auteurs m’en excusent… sources en fin d’article)

septembre 19, 2017 Graphisme 0 Commentaire

Help ! Ma fenêtre a disparu en dehors de l’écran \o/ !

Si vous utilisez plusieurs écrans pour travailler (c’est mon cas, les écrans des ultra-portables étant de plus en plus petits, j’ai un 2nd, voire un 3eme écran affichés en « bureaux étendus »), cela vous est surement arrivé… L’intérêt est de positionner des fenêtres à droite et à gauche de l’écran principal, afin avoir un visibilité simultanée de plusieurs fichiers ou logiciels ouverts.

Il arrive parfois, lorsqu’un écran périphérique s’éteint ou tombe en panne, par exemple, que l’une des fenêtres positionnée sur cet écran externe ne s’affiche plus sur l’écran principal. Et ce, même après redémarrage de Windows…

Pas de panique, la solution est simple (quand on la connait… comme toujours !)

septembre 19, 2017 Graphisme 0 Commentaire

Comment utiliser plus de 800 polices sur mon site internet ?

Les standards du web nous ont habitués à voir un peu toujours les mêmes ~20 polices de caractères sur les sites web…

Et quel dommage ! Il existe plus de 800 familles de polices de caractères gratuites et utilisables très simplement : les Google Fonts.

Mode d’emploi ici :

septembre 19, 2017 PHP 0 Commentaire

Envoyer des e-mails depuis votre ordinateur avec WampServer

Tout développeur qui se respecte a eu un jour (au moins !) besoin d’envoyer des e-mail depuis un site en développement local. Ne serait-ce que pour  tester la mise en forme du sacro-saint formulaire de contact…

Ceux qui utilisent la plateforme de développement web sous Windows WampServer ont pu constater qu’elle n’intègre plus par défaut de serveur d’envoi des e-mails. L’envoi d’un e-mail génère au mieux : rien du tout; au pire : un message d’erreur (Failed to connect to mailserver at « localhost » port 25, verify your « SMTP » and « smtp_port » setting in php.ini…  etc.)

Il existe une solution simple et efficace : le serveur SMTP ( (Simple Mail Transfer Protocol)  Fake Sendmail for Windows !

juin 17, 2015 Excel, MySQL, PHP 5 Commentaires

Exporter une table MySQL au format CSV (Excel)

PHP calculsPHP est un langage d’extraction et d’affichage, mais sa puissance de calcul est limitée. Qui n’a pas été confronté un jour ou l’autre à ses erreurs ses memory_limit, upload_max_filesize ou autres blocage du temps de connexion d’un script ?

Il est possible de « bidouiller » le serveur pour tenter de rallonger tout cela, mais c’est tout de même limité et handicapant lorsque certains exports de grosses bases des données nécessitent des calculs croisés complexes. L’autre solution consiste à exporter les tables, puis à les retravailler avec les tableaux croisés dynamiques de Excel ou Access, par exemple, dont c’est la vocation.

Mode d’emploi pour un export PHP propre, d’une table MySQL vers un ficher Excel (csv en l’occurrence) …