herve

Ubuntu Server 14.04 « Trusty Tahr » : Installation d’apache, php et mysql ( lamp)

Une fois notre utilisateur principal créé : ( cf. création d’un utilisateur avec des droits d’administration  ) , l’utilisation principale de mon serveur étant du web il est temps d’installer les éléments nécessaires : Apache , Php et Mysql

Avant toute installation n’oubliez pas d’actualiser les dépendances Ubuntu avec la commande

sudo apt-get update

 – Apache

Apache est le serveur http, il se chargera de transmettre les demandes des visiteurs au serveur et d’afficher les pages.

entrez la commande suivante pour installer apache :

sudo apt-get install apache2

Une fois apache installé vous devez pouvoir accéder à votre machine directement depuis son ip et obtenir la page suivante

install-apache-ok

http://votre.ip.serveur/

  – Php

Php est le langage dans lequel seront programmées vos page ( il peut y en avoir d’autres 🙂 )

Entrer la commande suivante

sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt

(l’extension mcrypt pose un problème sur cette version d’ubuntu, voir en fin d’article comment le corriger.)…

Ubuntu Server 14.04 « Trusty Tahr » : Installation d’apache, php et mysql ( lamp) Lire la suite »

Ubuntu Server 14.04 « Trusty Tahr » : Création d’un utilisateur avec des droits d’administration

Lors de la réception du serveur, il n’existe en général qu’uniquement un utilisateur « root » sur la machine.
Celui-ci dispose de l’ensemble des privilèges,c’est pourquoi pour des raisons de sécurité il est nécessaire de créer un autre utilisateur administrateur.
C’est celui-ci qui sera utilisé pour réaliser l’ensemble des actions sur le serveur ( nous empêcherons plus tard le login de l’utilisateur root )

Voici les commandes à exécuter pour créer cet utilisateur et lui donner les droits d’accès cohérents ( Ubuntu Server 14.04 « Trusty Tahr » )

#Création de l'utilisateur "herve" ( renseignez ensuite le mot de passe et les informations demandées )
adduser herve
#ajout de l'utilisateur "herve" au groupe sudo
gpasswd -a herve sudo

Et voila le nouvel utilisateur est en place.
Pour finaliser la création de cet accès, nous allons mettre en place une authentification par clé SSH
Pour créer ces clés sous windows avec putty, la procédure est la même que dans cet article : Créer clés ssh avec PuttyGen

Il faut ensuite se connecter en ssh avec le nouvel utilisateur, pour créer un dossier .ssh…

Ubuntu Server 14.04 « Trusty Tahr » : Création d’un utilisateur avec des droits d’administration Lire la suite »

Ubuntu Server 14.04 « Trusty Tahr » LTS en place sur mon serveur dédié

Après plus d’une année sur la version Ubuntu 12.04 LTS (« The Precise Pangolin ») je viens de passer mon serveur dédié de test sur la dernière version LTS Ubuntu Server 14.04 « Trusty Tahr ».
J’ai réalisé de nombreux tests et script sur la version précédente, sans les relater sur ce blog.

C’est pourquoi je viens de réinitialiser complément le serveur afin de reprendre sa configuration de 0.
Cela devrait donc me permettre de détailler les actions intéressantes réalisées sur celui-ci 🙂 et d’en faire un dossier que j’espère exhaustif sur la configuration et l’utilisation d’un serveur dédié

Vous pouvez trouver ci-dessous les articles déjà rédigés ( cette page sera mise à jour régulièrement)

Ubuntu Server 14.04 « Trusty Tahr » LTS en place sur mon serveur dédié Lire la suite »

Retour d’expérience Wiko Rainbow

Pour une fois je fais un article qui s’éloigne un peu du développement web :-p
Voici mon retour d’expérience sur mon dernier téléphone le wiko rainbow.

Autant vous annoncer la couleur tout de suite, je suis plus que déçu de cette marque, et je ne recommande absolument plus d’acheter wiko...

Comme vous avez pu le voir sur ce blog j’avais directement rencontré un problème avec ce téléphone car le clavier ne s’affichait pas, du coup impossible de configurer et d’installer le téléphone…
Premier approche du téléphone vraiment pas terrible déjà…

Après quelques recherches sur les forums la solution était trouvée relativement rapidement, et j’ai pu procéder à la configuration du téléphone et à l’installation des applications essentielles ( mails // Actus // Sports // Jeux … 🙂 )
Place aux tests sur les jeux ou applications : sur ce point tout est bon, le téléphone est fluide et réactif, la qualité de l’écran est très bonne.

Voila le tour de la partie téléphonie :

Il faut savoir que j’ai choisi le wiko rainbow pour sa double sim, car j’utilise une ligne perso et une ligne professionnelle et cela me permets donc d’utiliser un téléphone pour les 2 lignes.…

Retour d’expérience Wiko Rainbow Lire la suite »

Bonnes pratiques : Mise en place d’un environnement de développement normalisé avec NetBeans

Avec leur multiples contributeurs, la maintenabilité des solutions open-source est relativement complexe.
C’est pourquoi celles-ci instaurent des normes de développement qui garantissent la qualité et l’apparence du code.
Ces normes peuvent avoir pour nom « PSR-1 », « PSR-2 » etc..

Je vais vous détailler comment mettre en place un environnement de développement qui vous permettra de suivre au mieux ces normes.
Selon les développeurs, l’éditeur peut varier, pour ma part j’utilise NetBeans au quotidien et j’en suis vraiment très satisfait.

Je vais donc vous détailler comment procéder pour tout configurer avec cet éditeur 🙂 sous Windows
( Certains points sont communs à l’ensemble des éditeurs // Cette méthode ne prétends pas être la meilleure mais détaille l’ensemble des étapes nécessaires à la mise en place)

Installation de Wampserver

Télécharger le fichier d’installation en 32 ou 64 bits en fonction de votre ordinateur depuis le site : http://www.wampserver.com/
Procéder à l’installation standard de Wampserver dans sa dernière version.
( Nous partirons du postulat que Wamp sera installé dans le dossier c:/wamp/ )

Une fois l’installation de wampserver effectuée, il faut se connecter à la console Windows ( Touches Windows + R / puis cmd )
Puis il faudra se rendre dans le dossier c:/wamp/bin/php/php.x.x.x

Bonnes pratiques : Mise en place d’un environnement de développement normalisé avec NetBeans Lire la suite »

Prestashop 1.4 : Afficher le prix produit sans l’écotaxe

Par défaut l’affichage du prix des produits sous Prestashop ( version 1.4 ) inclus l’écotaxe dans son montant.
Si pour différentes raison il vous est nécessaire de modifier cet affichage voici comment l’afficher sans l’écotaxe.

Pour commencer il est nécessaire de surcharger la classe Product dans le fichier override/classes/Product.php
Dans cette classe nous allons ajouter 2 fonctions qui vont récupérer les prix sans l’écotaxe.

<?php
 
/**
 * Surcharge de la classe produits
 *
 */
class Product extends ProductCore {
 
 
    /**
     * Reprise de la fonction getPrice mais en appellant la fonction getProductPriceStatic avec le paramètre ecotaxe à false
     *
     * @param boolean $tax With taxes or not (optional)
     * @param integer $id_product_attribute Product attribute id (optional)
     * @param integer $decimals Number of decimals (optional)
     * @param integer $divisor Util when paying many time without fees (optional)
     * @return float Product price in euros
     */
    public function getPriceWithoutEcotax($tax = true, $id_product_attribute = NULL, $decimals = 6, $divisor = NULL, $only_reduc = false, $usereduc = true, $quantity = 1) {
        return Product::getPriceStatic((int) ($this->id), $tax, $id_product_attribute, $decimals, $divisor, $only_reduc, $usereduc, $quantity,false, NULL, NULL, NULL, $this ,false);
    }
    
    /**
     * Reprise de la fonction getPrice mais en appellant la fonction getProductPriceStatic avec le paramètre ecotaxe à false
     *
     * @param boolean $notax
     * @param intege $id_product_attribute
     * @return float Product price in euros
     */
    public function getPriceWithoutReductWithoutEcotax($notax = false, $id_product_attribute = false)
    {
        return Product::getPriceStatic((int)($this->id), !

Prestashop 1.4 : Afficher le prix produit sans l’écotaxe Lire la suite »

Prestashop 1.4 : Créer un controller Front Office pour un module

Dans sa version 1.4, la gestion des controllers front office des modules n’est pas aussi optimisée que sur les versions suivantes.
Malgré tout cette version reste encore assez utilisée sur des anciennes boutiques.

Voici donc comment créer « proprement » un module qui disposera d’un controller front office.
Par proprement j’entends un module qui déposera les fichiers nécessaires aux bons emplacements, et qui peut être désinstallé sans laisser de traces 🙂

Le nom du module sera « sample » et sa structure sera la suivante :

Structure du module sample

Les contenus des fichiers css,js et tpl n’ayant pas d’importance je ne détaillerais pas leur contenu. ( il s’appelleront respectivement sample.css , sample.js et sample.tpl )

Voici le contenu du fichier de gestion du module « sample.php »
C’est dans ce fichier via les fonction _installModuleController et _uninstallModuleController que le controller Front office du module est bien installé ou supprimé

<?php
 
if (!defined('_PS_VERSION_'))
exit;
 
class Sample extends Module {
 
/** Nom de la page Front Office du module */
private $_module_page_name = 'sample_front_office_page';
 
 
public function __construct() {
 
$this->name = "sample";
$this->tab = "others";
$this->version = '0.1.0';
$this->author = "Hennes Herve";
$this->need_instance = 0;
 
parent::__construct();
$this->displayName = $this->l("Sample Module");
$this->description = $this->l("Sample module with front controller");
}
 
/**
* Installation du module
*/
public function install() {
 
//Installation Standard du module
if (!

Prestashop 1.4 : Créer un controller Front Office pour un module Lire la suite »

Magento : Importer / Exporter les produits complémentaire ( upsell , crossell , related ) via les profils avancés

Suivant la même méthodologie que l’import export des commentaires clients, nous allons voir à présent comment importer/ exporter les produits complémentaires.

Nous partons du postulat que nous créons un nouveau module « Module_Dataflow »
( les étapes de création du module ne seront pas détaillées )

Cette méthode fonctionne pour les éléments suivants :

  • Produits apparentés
  • Ventes incitatives
  • Ventes croisées

 

Voici le xml pour l’export des produits complémentaires

<action type="mymodule_dataflow/convert_parser_LinkedProducts" method="unparse">
<!-- Filtrage par produit <var name="product_id" >157</var> -->
<!-- Filtrage par type export ( upsell|crossel|related) defaut : upsell ) <var name="type">upsell</var> -->
</action>
<action type="dataflow/convert_mapper_column" method="map">
</action>
<action type="dataflow/convert_parser_csv" method="unparse">
<var name="delimiter"><![CDATA[;]]></var>
<var name="enclose"><![CDATA["]]></var>
<var name="fieldnames">true</var>
</action>
<action type="dataflow/convert_adapter_io" method="save">
<var name="type">file</var>
<var name="path">var/export</var>
<var name="filename"><![CDATA[exports-produits-complementaires.csv]]>

Magento : Importer / Exporter les produits complémentaire ( upsell , crossell , related ) via les profils avancés Lire la suite »

Magento : Traductions multilingues dans un même fichier

Voici un code qui vous permettra de traduire un template dans l’ensemble des langues du site dans une seule fonction.
C’est pratique notamment pour l’envoi de contenus emails traduits.

Dans le snippet ci-dessous la langue du template sera basé sur le store_id de la commande

foreach ( $orders as $order ) {
 
//Pour bien gérer la traduction on change le store en fonction de la commande
Mage::app()->setCurrentStore($order->getStoreId());  //Changement de store
$locale  = Mage::getModel('core/locale')->getLocaleCode(); // Récupération de la locale du store
Mage::app()->getTranslator()->setLocale($locale); // Définition de la locale pour la traduction
Mage::app()->getTranslator()->init('frontend', true);   //Réinitialisation du cache  de traduction
 
//Création du block qui sera traduit dans la  langue du store et stockage de son contenu dans une variable
$layout = Mage::getSingleton('core/layout');
$contenu =  $layout->createBlock('core/block')
->setTemplate('order.phtml'

Magento : Traductions multilingues dans un même fichier Lire la suite »

Magento : Importer / Exporter les commentaires et les notes des produits via les profils avancés

Voici comment importer / exporter facilement les avis clients et leur notes associées sur la plateforme magento.
Nous partons du postulat que nous créons un nouveau module « Module_Dataflow »
( les étapes de création du module ne seront pas détaillées )

Pour réaliser nos actions nous allons utiliser les profils avancés d’import disponibles en standard sur la plateforme Magento.
Note : Cette version ne gère pas pour l’instant la mise à jour des commentaires existants

Voici le xml d’action pour l’export des commentaires

<action type="mymodule_dataflow/convert_parser_CustomerReviews" method="unparse">
<!--<var name="product_id"><![CDATA[21]]></var>-->
</action>
 
<action type="dataflow/convert_mapper_column" method="map">
</action>
 
<action type="dataflow/convert_parser_csv" method="unparse">
<var name="delimiter"><![CDATA[;]]></var>
<var name="enclose"><![CDATA["]]></var>
<var name="fieldnames">true</var>
</action>
 
<action type="dataflow/convert_adapter_io" method="save">
<var name="type">file</var>
<var name="path">var/export</var>
<var name="filename"><![CDATA[myCsvExportFile.csv]]>

Magento : Importer / Exporter les commentaires et les notes des produits via les profils avancés Lire la suite »