Aller au contenu principal Aide Panneau de contrôle

actupro.info

Blog et Espace de travail collaboratif d'actupro

 

Le blog

16oct.2018

code html des principaux caractères accentués

une liste qui me sert parfois pour effectuer quelques permutations dans des textes ...

ou sinon vous pouvez utiliser ce petit convertisseur libre : http://www.frinux.fr/projects/js_converthtml/

Principaux accents en html
CarHtmlfrançaisanglais
â â a minuscule accent circonflexe small a, circumflex accent
à à a minuscule accent grave small a, grave accent
é é e minuscule accent aigu small e, acute accent
ê ê e minuscule accent circonflexe small e, circumflex accent
è è e minuscule accent grave small e, grave accent
ë ë e minuscule tréma small e, dieresis or umlaut mark
î î i minuscule accent circonflexe small i, circumflex accent
ï ï i minuscule tréma small i, dieresis or umlaut mark
ô ô o minuscule accent circonflexe small o, circumflex accent
œ œ o e minuscule liés small o e diphthong (ligature)
û û u minuscule accent circonflexe small u, circumflex accent
ù ù u minuscule accent grave small u, grave accent
ü ü u minuscule tréma small u, dieresis or umlaut mark
ç ç c cedille minuscule small c, cedilla
< &lt; inférieur à less than
> &gt; supérieur à greater than
ß &szlig; sz minuscule lié Allemand small sharp s, German (sz ligature)
ø &oslash; o minuscule rayé small o, slash
Ω &Omega; Omega en grec grand O Omega
Ð &ETH; inférieur à capital Eth, Icelandic
Ø &Oslash; O majuscule rayé capital O, slash
Þ &THORN; THORN majuscule Islandais Þ capital THORN, Icelandic
þ &thorn; thorn minuscule Islandais small thorn, Icelandic
Å &Aring; a majuscule anneau capital a, ring
    
19sep.2018

Les commandes Google à connaitre

Quand on s''intéresse un peu au référencement de son site internet, il est parfois utile de connaitre quelques informations essentielles

Google propose des commandes disponible depuis le formulaire de recherche qui sont bien pratiques

donne le titre et la meta description d'une page

info:

mot contenu dans l'adresse web
inurl:labrador chocolat
allinurl:labrador chocolat

Version en cache de la page d'accueil du site internet "sport à Vienne condrieu". Cette commande peut ne pas fonctionner selon les sites.

cache:sport-viennois.info

site:sport-viennois.info

allintext:

allinanchor:

related:

les paramètres utiles

&filter=0 (recherche en incluant les pages ignorées)

&start=x (à partir de la 20e position)

&num=100

&pws=0 (voir les positionnement sans prise en compte de ses préférences de recherche dans le moteur. Indique aussi le volume indexé sur le mot clé)

site:google.fr - intext:google.fr

Exemples de commandes

 intitle:"labrador chocolat"
    trouve les pages contenant labrador ou chocolat dans la balise Title.

allintitle:"labrador chocolat"
    trouve les pages contenant labrador et chocolat dans la balise Title.

inurl:"labrador chocolat"
    trouve les pages contenant labrador ou chocolat dans l'adresse (URL).

allinurl:"labrador chocolat"
    trouve les pages contenant labrador et chocolat dans l'adresse (URL).

intext:"labrador chocolat"
    trouve les pages contenant labrador ou chocolat dans le texte d'une page

allintext:"labrador chocolat"
    trouve les pages contenant labrador et chocolat dans le texte d'une page

inanchor:"labrador chocolat"
    permet de lister les pages qui contiennent des liens avec les mots labrador ou chocolat dans un lien

allinanchor:"labrador chocolat"   
    permet de lister les pages qui contiennent des liens avec  avec les mots labrador et chocolat dans un lien.

10sep.2018

Pishing OVH

Depuis plusieurs semaines les messages "spam" provenant soi-disant d'OVH ont fortement augmenté. Ne cliquez pas sur le lien

Beaucoup de messages indiquant que votre nom de domaine va être suspendu si vous ne payez pas peuvent arriver sur votre boite mail. Ce sont de faux messages destinés à recueillir des informations confidentielles sur vos comptes voir vos coordonnées bancaires.

Si vous avez le moindre de doute il faut en faire part à votre prestataire qui gère votre site internet.

Si vous gérer vous même votre nom de domaine chez OVH alors connectez vous à votre site d'administration OVH et signalez le message que vous avez reçu. Un formulaire spécial est à votre disposition.

Plus d'information chez OVH : https://www.ovh.com/fr/news/a1...tte-contre-spam

Formulaire de signalement : https://www.signal-spam.fr/



25août2018

Passage en mode sécurisé des sites actupro

Depuis plusieurs mois, Actupro migre ses sites internet vers des versions sécurisées via des certificats gratuits Let's Encrypt

La première phase a consisté à mettre à jour la version de Yacs. La version 20170830_yacs_netgrabber.RC1 permet de faire la migration avec son certificat de sécurité.

Nous avons réalisé des maintenances sur les sites internet afin que la version de Yacs corresponde au minimum à celle-ci. Ensuite il a juste fallu modifié un paramètre dans le panneau de contrôle.

La manipulation du logiciel est donc ultra rapide. Il est même possible de regénéré son fichier .htaccess depuis ce même panneau de contrôle.

 

7juin2016

Le saviez-vous : analytics ?

Quelques petites informations à savoir sur Google Analytics

Visiteurs uniques

Un visiteur est considéré unique pendant 6 mois. Si un internaute visite plusieurs fois dans un mois un site web, il sera considéré comme unique jusqu'à 6 mois après sa dernière visite.

Recherche naturelle

Le trafic provenant d'une publicité depuis Bing peut être considéré comme une recherche naturelle. Il faut alors la déclarer dans les UTM tracking

Liens référant

google images est considéré comme source de lien référent

3mai2016

migration thelia 1.5 vers thelia 2.2

Adieu la migration facile de Yacs me voici plonger dans une migration majeure de thélia

Et là les choses deviennent un peu plus compliquées.

Pour ma part j'ai commencé par installer un version 2.2 vierge sur un hébergement OVH.

Il faut savoir qu'il n'est pas possible d'utiliser une base de données utilisée par la version 1.5 de thélia. Ceci me semble absurde mais c'est ainsi.

Installation

Attention lors de l'installation "web" de thelia en local si "localhost" ne fonctionne pas dans "host" de l'étape 3 je vous conseille d'essayer "127.0.0.1" Là ca devrait marcher

récupération des données

Tentons de le faire par la module d'import !

le chemin chez moi : /Applications/MAMP/htdocs/dec-materieldentaire/client

 Problème : il manque la table accessoire.

DROP TABLE IF EXISTS `accessoire`; 
CREATE TABLE `accessoire` ( `idint(11NOT NULL AUTO_INCREMENT, `produitint(11NOT NULL DEFAULT '0', `accessoireint(11NOT NULL DEFAULT '0', `classementint(11NOT NULL DEFAULT '0'PRIMARY KEY (`id`), KEY `produit` (`produit`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

messages d'erreur

<p>
<
strong>Fatal error</strong>: Call to a member function setTitle() on a non-object in <strong>/home/viennean/www/rougecitron/core/lib/Thelia/Model/Base/FeatureAv.php</strongon line <strong>2056</strong>

et

[ERROR2016-05-03 9:22:16:Failed to create rewritten URL for locale fr_FRfond dossierwith params %id_dossier=1
 [
ERROR2016-05-03 9:22:16:Call to undefined methodfilterByView

En rechargeant la page l'importation se termine et les données sont importées à priori correctement

Activation du module TinyMce

Voir ce sujet dans le forum Thelia : http://thelia.net/forum/viewtopic.php?pid=66034#p66034

 

23mar.2016

installation thelia 2.2 chez OVH

La procédure d'installation de Thélia pour un néophyte comporte quelques petits pièges surtout sur un hébergement mutualisé OVH.

Voici donc quelques problèmes rencontrés avec leurs solutions

J'ai choisi d'installer Thélia à partir du fichier Zip disponible sur thelia.net

Après avoir dézipper le fichier dans mon répertoire la première mauvaise surprise est que thélia crée un repertoire nommé avec la version de thélia.

Première manipulation je déplace les fichiers vers la racine de mon répertoire (facile)

Je lance l'installation via le navigateur et je m'aperçois que thelia est redirigé vers un nouveau sous-repertoire "/web/". Pour l'instant je laisse tomber ce problème ... on verra plus tard.

en tombant sur une magnifique ERROR 500 je fais quelques recherches sur les forums

  1. il faut être en php 5.4
  2. il faut changer certains droits sur les répertoires ( voir ici dans le forum thélia )
    mois j'ai fais çà
    chmod 755 -R local/session
    chmod 755 -R local/media
    chmod 755 -R web/
    chmod 755 -R log/
    chmod 755 -R cache/

Je ne sais plus comment j'ai raté ma première installation mais il n'en reste pas moins que pour relancer une installation il faut que les tables de thélia ne soient plus présentes.

Impossible de supprimer la base de données car j'ai d'autres sites internet qui utilisent cette base. Il me faut donc faire des drops.Il nest pas simple de repérer les tables thélia car elles ne sont pas préfixées. C'est fort dommage car cela empêche de mettre plusieurs thélia sur une même base de données. De ce que j'ai pu voir sur les forums thélia cette lacune devrait subsister longtemps.

Le bon point de Thélia c'est l'utilisation des clés étrangères. Par contre pour supprimer les tables cela implique de tout vider ou de faires les drop dans un certains ordre

Ainsi j'ai pu terminer mon installation correctement.

Cet article sera complété pour

  1. enlever les /web/
  2. corriger la séquence de drop (il faut queje reteste)

Un autre article sera réalisé pour la partie Migration soit avec l'outil proposé par Thélia soit avec Talend. Mais l'utilisation de ce dernier demande de bien connaître le modèle de données. Il faudra donc que je le (re)découvre.

drop des tables


DROP TABLE IF EXISTS `attribute_av_i18n`;
DROP TABLE IF EXISTS `brand_document_i18n`;
DROP TABLE IF EXISTS `brand_i18n`;
DROP TABLE IF EXISTS `attribute_i18n`;

DROP TABLE IF EXISTS `category_i18n`;
DROP TABLE IF EXISTS `category_image_i18n`;
DROP TABLE IF EXISTS `category_document_i18n`;
DROP TABLE IF EXISTS `config_i18n`;
DROP TABLE IF EXISTS `content_document_i18n`;
DROP TABLE IF EXISTS `content_image_i18n`;
DROP TABLE IF EXISTS `country_i18n`;
DROP TABLE IF EXISTS `coupon_i18n`;
DROP TABLE IF EXISTS `export_category_i18n`;
DROP TABLE IF EXISTS `customer_title_i18n`;
DROP TABLE IF EXISTS `currency_i18n`;
DROP TABLE IF EXISTS `content_i18n`;
DROP TABLE IF EXISTS `export_i18n`;
DROP TABLE IF EXISTS `feature_av_i18n`;
DROP TABLE IF EXISTS `feature_i18n`;
DROP TABLE IF EXISTS `folder_i18n`;
DROP TABLE IF EXISTS `folder_image_i18n`;
DROP TABLE IF EXISTS `folder_document_i18n`;
DROP TABLE IF EXISTS `import_category_i18n`;
DROP TABLE IF EXISTS `module_config_i18n`;
DROP TABLE IF EXISTS `message_i18n`;
DROP TABLE IF EXISTS `hook_i18n`;
DROP TABLE IF EXISTS `import_i18n`;
DROP TABLE IF EXISTS `module_i18n`;
DROP TABLE IF EXISTS `module_image_i18n`;
DROP TABLE IF EXISTS `order_status_i18n`;
DROP TABLE IF EXISTS `product_image_i18n`;
DROP TABLE IF EXISTS `product_document_i18n`;
DROP TABLE IF EXISTS `profile_i18n`;
DROP TABLE IF EXISTS `resource_i18n`;
DROP TABLE IF EXISTS `product_i18n`;
DROP TABLE IF EXISTS `product_price`;
DROP TABLE IF EXISTS `sale_i18n`;
DROP TABLE IF EXISTS `tax_i18n`;
DROP TABLE IF EXISTS `tax_rule_i18n`;
DROP TABLE IF EXISTS `template_i18n`;

delete from `tax`;
delete from `template`;
delete from `brand`;

delete from `product_associated_content`;
delete from `product_category`;
delete from `product_document`;
delete from `product_image`;
delete from `product_sale_elements`;
delete from `product_sale_elements_product_document`;
delete from `product_sale_elements_product_image`;
delete from `product_version`;
delete from `product`;

delete from `profile`;
delete from `profile_module`;
delete from `profile_resource`;

delete from `accessory`;
delete from `address`;
delete from `admin`;
delete from `admin_log`;
delete from `api`;
delete from `area`;

delete from `area_delivery_module`;
delete from `attribute`;
delete from `attribute_av`;
delete from `attribute_combination`;
delete from `attribute_template`;
delete from `brand_document`;
delete from `brand_image`;
delete from `brand_image_i18n`;
delete from `cart`;
delete from `cart_item`;
delete from `category`;
delete from `category_associated_content`;
delete from `category_document`;
delete from `category_image`;
delete from `category_version`;
delete from `config`;
delete from `content`;
delete from `content_document`;
delete from `content_folder`;
delete from `content_image`;
delete from `content_version`;
delete from `country`;
delete from `country_area`;
delete from `coupon`;
delete from `coupon_country`;
delete from `coupon_customer_count`;
delete from `coupon_module`;
delete from `coupon_version`;
delete from `currency`;
delete from `customer`;
delete from `customer_title`;
delete from `customer_version`;
delete from `export`;
delete from `export_category`;
delete from `feature`;
delete from `feature_av`;
delete from `feature_product`;
delete from `feature_template`;
delete from `folder`;
delete from `folder_document`;
delete from `folder_image`;
delete from `folder_version`;
delete from `form_firewall`;
delete from `hook`;
delete from `ignored_module_hook`;
delete from `import`;
delete from `import_category`;
delete from `lang`;
delete from `message`;
delete from `message_version`;
delete from `meta_data`;
delete from `module`;
delete from `module_config`;
delete from `module_hook`;
delete from `module_image`;
delete from `newsletter`;
delete from `order`;
delete from `order_address`;
delete from `order_coupon`;
delete from `order_coupon_country`;
delete from `order_coupon_module`;
delete from `order_product`;
delete from `order_product_attribute_combination`;
delete from `order_product_tax`;
delete from `order_status`;
delete from `order_version`;

delete from `resource`;
delete from `rewriting_argument`;
delete from `rewriting_url`;
delete from `sale`;
delete from `sale_offset_currency`;
delete from `sale_product`;
delete from `tax_rule`;
delete from `tax_rule_country`;




DROP TABLE IF EXISTS `tax`;
DROP TABLE IF EXISTS `template`;
DROP TABLE IF EXISTS `brand`;

DROP TABLE IF EXISTS `product_associated_content`;
DROP TABLE IF EXISTS `product_category`;
DROP TABLE IF EXISTS `product_document`;
DROP TABLE IF EXISTS `product_image`;
DROP TABLE IF EXISTS `product_sale_elements`;
DROP TABLE IF EXISTS `product_sale_elements_product_document`;
DROP TABLE IF EXISTS `product_sale_elements_product_image`;
DROP TABLE IF EXISTS `product_version`;
DROP TABLE IF EXISTS `product`;

DROP TABLE IF EXISTS `profile`;
DROP TABLE IF EXISTS `profile_module`;
DROP TABLE IF EXISTS `profile_resource`;

DROP TABLE IF EXISTS `accessory`;
DROP TABLE IF EXISTS `address`;
DROP TABLE IF EXISTS `admin`;
DROP TABLE IF EXISTS `admin_log`;
DROP TABLE IF EXISTS `api`;
DROP TABLE IF EXISTS `area`;

DROP TABLE IF EXISTS `area_delivery_module`;
DROP TABLE IF EXISTS `attribute`;
DROP TABLE IF EXISTS `attribute_av`;
DROP TABLE IF EXISTS `attribute_combination`;
DROP TABLE IF EXISTS `attribute_template`;
DROP TABLE IF EXISTS `brand_document`;
DROP TABLE IF EXISTS `brand_image`;
DROP TABLE IF EXISTS `brand_image_i18n`;
DROP TABLE IF EXISTS `cart`;
DROP TABLE IF EXISTS `cart_item`;
DROP TABLE IF EXISTS `category`;
DROP TABLE IF EXISTS `category_associated_content`;
DROP TABLE IF EXISTS `category_document`;
DROP TABLE IF EXISTS `category_image`;
DROP TABLE IF EXISTS `category_version`;
DROP TABLE IF EXISTS `config`;
DROP TABLE IF EXISTS `content`;
DROP TABLE IF EXISTS `content_document`;
DROP TABLE IF EXISTS `content_folder`;
DROP TABLE IF EXISTS `content_image`;
DROP TABLE IF EXISTS `content_version`;
DROP TABLE IF EXISTS `country`;
DROP TABLE IF EXISTS `country_area`;
DROP TABLE IF EXISTS `coupon`;
DROP TABLE IF EXISTS `coupon_country`;
DROP TABLE IF EXISTS `coupon_customer_count`;
DROP TABLE IF EXISTS `coupon_module`;
DROP TABLE IF EXISTS `coupon_version`;
DROP TABLE IF EXISTS `currency`;
DROP TABLE IF EXISTS `customer`;
DROP TABLE IF EXISTS `customer_title`;
DROP TABLE IF EXISTS `customer_version`;
DROP TABLE IF EXISTS `export`;
DROP TABLE IF EXISTS `export_category`;
DROP TABLE IF EXISTS `feature`;
DROP TABLE IF EXISTS `feature_av`;
DROP TABLE IF EXISTS `feature_product`;
DROP TABLE IF EXISTS `feature_template`;
DROP TABLE IF EXISTS `folder`;
DROP TABLE IF EXISTS `folder_document`;
DROP TABLE IF EXISTS `folder_image`;
DROP TABLE IF EXISTS `folder_version`;
DROP TABLE IF EXISTS `form_firewall`;
DROP TABLE IF EXISTS `hook`;
DROP TABLE IF EXISTS `ignored_module_hook`;
DROP TABLE IF EXISTS `import`;
DROP TABLE IF EXISTS `import_category`;
DROP TABLE IF EXISTS `lang`;
DROP TABLE IF EXISTS `message`;
DROP TABLE IF EXISTS `message_version`;
DROP TABLE IF EXISTS `meta_data`;
DROP TABLE IF EXISTS `module`;
DROP TABLE IF EXISTS `module_config`;
DROP TABLE IF EXISTS `module_hook`;
DROP TABLE IF EXISTS `module_image`;
DROP TABLE IF EXISTS `newsletter`;
DROP TABLE IF EXISTS `order`;
DROP TABLE IF EXISTS `order_address`;
DROP TABLE IF EXISTS `order_coupon`;
DROP TABLE IF EXISTS `order_coupon_country`;
DROP TABLE IF EXISTS `order_coupon_module`;
DROP TABLE IF EXISTS `order_product`;
DROP TABLE IF EXISTS `order_product_attribute_combination`;
DROP TABLE IF EXISTS `order_product_tax`;
DROP TABLE IF EXISTS `order_status`;
DROP TABLE IF EXISTS `order_version`;

DROP TABLE IF EXISTS `resource`;
DROP TABLE IF EXISTS `rewriting_argument`;
DROP TABLE IF EXISTS `rewriting_url`;
DROP TABLE IF EXISTS `sale`;
DROP TABLE IF EXISTS `sale_offset_currency`;
DROP TABLE IF EXISTS `sale_product`;
DROP TABLE IF EXISTS `tax_rule`;
DROP TABLE IF EXISTS `tax_rule_country`;

suppression du /web/

Personnellement je trouve dommageable que Thelia impose ce sous repertoire lors d'une installation par défaut. Cela rend le logiciel difficile d'accès pour une néophite. Ce defaut combiné à l'absence de préfixe de table SQL rend son exploitatiion moins simple.

Pour supprimé le /web/ le plus simple pour moi a été de paramètré mes DNS du nom de domaine afin de le faire pointer directer sur le repertoire /web/

Je n'ai pas voulu me lancer dans d'autres aventures ou tentatives de paramètrages !

12mar.2015

Migration de version PHP sur nos hébergements

Nous allons devoir migrer tous nos sites internet afin de les rendre comptatible avec la version 5.5 de php.

En effet les versions 5.2 et 5.3 seront officiellement plus maintenues et deviendront obsolètes.

Jusqu'à la fin du mois d'Août nous allons migrer nos sites internet un part un et nos clients seront avertis lorsque les opérations de maintenance seront terminées

Travail préparatoire

Avant d'entamer le migration, il nous faut valider la nouvelle version du logiciel utilisé pour nos sites internet. Majoritairement nous utilisons le CMS Yacs. Une nouvelle version dénommée "netgrabber" est en cours de finalisation. Elle apporte de nombreuses améliorations sur les fonctionnalités existantes mais aussi un bon nombre de nouveautés.

Le début de la migration devrait débuter au mois d'avril. Certains sites internet ont une version du logiciel plus ancienne et devront être retouché pour fonctionner à l'identique.

Cette opération est incluse dans notre contrat de maintenance et n'engendrera aucun cout supplémentaire. La condition est d'être à jour de vos règlements.

On passe en responsive ?

Si certains le désirent nous pouvons en profiter pour passer le site internet en version responsive (affichage adapté aux tablettes et smartphones). Par contre il s'agit là d'une évolution non prise en compte dans le contrat de maintenance. Nous pouvons en discuter et vous établir un devis personnalisé

20août2014

Revue d'onglet

il m'arrive souvent de cliquer sur des articles intéressants via mon compte twitter et de laisser ouvert l'onglet pendant un grand moment sur mon navigateur. Avant de refermer ces onglets je les partage avec vous

Graphisme et design

Cet article en anglais explique les problématiques d'une site responsive en css et avec 3 colonnes utilisant la "grille" Bootstrap. En fouillant un peu sur le site on trouve un tutoriel sur Boostrap.

http://www.helloerik.com/the-subtle-magic-behind-why-the-bootstrap-3-grid-works

une page qui recense différents générateurs CSS : http://www.jng-web.com/labo/ge...css3-connaitre/

Comunity management

C'est un bien grand mot si vous n'avez pas de communauté à gérer et  vous voulez seulement suivre ce qu'il se passe autour de votre marque ou votre nom. Voici donc une liste de 12 outils recensé par Squid Impact. Je vous conseille de les aborder un par un en prenant le temps à chaque fois

lien : http://www.squid-impact.fr/201...rait-connaitre/

Voilà c'est tout pour le moment.

 

24juil.2013

Migration OSCommerce vers Prestashop

Dans une migration d'un logiciel e-commerce vers un autre, l'une des phases importantes est la reprise des données. J'ai choisi de la faire avec l'ETL Talend

Talend Open Studio est un ETL puissant et libre qui permet de traiter des données, de les transformer et de les intégrer dans n'importe quel environnement.

Dans mon travail précédent j'ai eu l'ocasion de travailler avec son équivalent Datastage. La transition n'a pas été trop difficile mais une pratique régulière m'aurait fait gagner du temps.

Pour migrer une boutique OSCommerce ou plutôt OSCSS vers Prestashop le plus difficile reste de connaître les subtilités du modèle de données de Prestashop. Et là ce n'est pas simple du tout. Je n'ai pas trouvé de documentation expliquant ce modèle et le code source est très mal documenté. A ce jour j'ai encore des zones d'ombre.

L'avantage de Talend réside aussi dans sa rapidité de traitement.

Les Jobs Talend

J'ai découpé mon traitement en plusieurs jobs

  1. les produits et les attributs
  2. les clients
  3. les commandes et factures

Les images sont traitées par un petit script php

Au cours de l'été je vais revenir sur les différents traitements Talend plus en détail. Voici déjà un aperçu en image du traitement sur les produits.

Surveiller

Pages récentes
Fichiers récents

Le blog »