vendredi 27 février 2015

Webix : un framework javascript UI performant !

Trouver un Framework Web performant n'est pas une chose facile.

Une fois trouvé, il est nécessaire que la mise en oeuvre de ce Framework soit la plus "rapide" et la plus "intuitive" possible pour le développeur.

Ce Framework doit aussi correspondre à certaines exigences techniques (support HTML5, support des différents "devices" actuels, collection complète de widgets UI).

Webix correspond à ces exigences.

Ce Framework est proposé en version gratuite et en version pro (payante).

La version gratuite est très complète et permet de couvrir la plupart des besoins.

La version pro propose des fonctionnalités plus avancées.

Nous avons testé ce Framework sur une application qui doit être mise en production.

Voici les résultats de ce premier test :

Possibilité de choisir un thème (skin) pour les widgets UI utilisés.

Quelques thèmes sont fournis - nous avons toujours la possibilité d'ajouter de nouveaux skins (par fichier CSS), voire de modifier les skins existants

 Nous avons apprécié la collection de widgets UI très complète.

Chaque widget peut être "facilement" géré (styling, gestion des events, initialisation, validation).

 La documentation et les samples sont de qualité.

Vous pouvez aussi vous appuyer sur un Forum "réactif".

 Les widgets UI qui travaillent avec des données utilisent des appels AJAX asynchrones par défaut.

Très pratique - ce qui évite d'écrire du code supplémentaire.

A noter que le format des données gérées lors des appels AJAX est "souple" - par exemple support XML ou JSON.

 Moins de code à écrire.

 Meilleure architecture du code.

Vous distinguez très bien les données à extraire du code UI - Votre projet peut ainsi être bien architecturé.

A noter que vous trouverez sur le site des conseils à ce sujet.

 Exécution du code rapide.

vendredi 6 février 2015

Serveur Web / FTP et Linux

Vous avez fait l’acquisition d’un super hébergement externe avec une pré-installation de Linux.

C'est une bonne chose.

Mais comment installer et paramétrer un serveur Web et FTP sur cet hébergement ?

Car le but est de pouvoir utiliser au mieux votre hébergement.

Voici une procédure qui a été testée dans un environnement de production (Ubuntu Serveur 12.04).

Nous partons du principe que vous êtes connectés en ROOT (plus facile pour la suite du tutoriel).

Pour commencer, mettre à jour la liste des Packages : apt-get update

Créons ensuite l'utilisateur non « ROOT » qui va être utilisé pour l'accès FTP : adduser nom_user

Le mot de passe va être demandé : mon_pwd

Retapez le mot de passe.

Le reste des informations peut rester vide.


L'installation du serveur FTP

apt-get install proftpd

Comment configurer notre serveur FTP ?

vi /etc/proftpd/proftpd.conf

Nous partons du principe que vous connaissez suffisamment l'éditeur de texte vi.

Mettre à "
off" le paramètre "UseIpv6" (L'ipv6 peut être une source d'erreur, en fonction des routeurs des hébergeurs).


Chercher la Ligne "#
Use this to jail all users in their homes" et dé-commenter "DefaultRoot".

Cela empêche les utilisateurs de se déplacer dans les niveaux supérieurs de l’arborescence.


L'installation du serveur Web (LAMP)

apt-get install lamp-server^              

Note : "^" : ce n'est pas une faute de frappe.

Suivre les étapes d'installation : le mot de passe root de mysql va être demandé.

Ne pas oublier d'installer phpmyadmin : apt-get install phpmyadmin

Configurer automatiquement apache2 pendant l'installation en cochant "apache2" avec la touche espace, lorsque cela est demandé.


Association du dossier Home de l'utilisateur et apache

Cette étape est nécessaire pour pouvoir accéder aux fichiers sources de l'application web à partir de l'utilisateur.

Copier le fichier de configuration par défaut comme backup :

cp /etc/apache2/sites-available/default /etc/apache2/sites-available/default-backup

Modifier le fichier default : vi /etc/apache2/sites-available/default

Modifier les 2 entrées "/var/www" et "/var/www/" en "/home/nom_user" et "/home/nom_user/".

Valider et quitter.

Relancer le serveur : service apache2 restart

Créer un fichier "index.html" de test puis l'uploader sur le serveur ftp en utilisant les identifiants de l'utilisateur.

Tester la page sur un navigateur internet.


Attribution à apache les droits d'écriture sur le dossier d'utilisateur

  • Changer le propriétaire du dossier :
chown –R nom_user:www-data /home/nom_user

nom_user étant l’utilisateur et www-data pour apache.

  • Donner les droits d’écriture, d’exécution et de lecture :
chmod –R ug=rwxs /home/nom_user

-R : Récurrence ; C'est-à-dire s’applique au dossier, aux sous dossiers / fichiers


Et voilà nos serveurs Web et FTP sont opérationnels !

Liste des processus sous SQL SERVER

Voici un script fort utile pour lister les processus sous SQL SERVER.

Script

SELECT S.*, C.*, R.*,
       MRS.dbid AS DERNIERE_BD_REQUETE, MRS.text AS DERNIERE_REQUETE,
       Q.dbid AS BD_REQUETE, Q.text AS REQUETE,
       P.query_plan AS PLAN_REQUETE
FROM   sys.dm_exec_sessions AS S
       LEFT OUTER JOIN sys.dm_exec_connections AS
            ON S.session_id = C.session_id
            OUTER APPLY sys.dm_exec_sql_text(most_recent_sql_handle) AS MRS 
       LEFT OUTER JOIN sys.dm_exec_requests AS R
            ON S.session_id = R.session_id
            OUTER APPLY sys.dm_exec_sql_text(sql_handle) AS Q

            OUTER APPLY sys.dm_exec_query_plan(plan_handle) AS P;

Un exemple d'utilité de ce script : vous devez supprimer ("killer") un processus - il vous suffit juste de récupérer l'identifiant du processus dans  la liste.

lundi 2 février 2015

Caisse enregistreuse tactile et Cloud

Caisse enregistreuse tactile et Cloud : à la croisée des chemins

Qu’est-ce que Cloud apporte concrètement à nos caisses enregistreuses tactiles ? Il nous faudra d’abord cerner comment fonctionne un logiciel Cloud.

Cloud est un outil big data – aucun débat à ce propos. Avec ce système, les données d’une entité sont stockées sur un serveur distant. Outre la capacité de stockage, le niveau de sécurité est une exigence phare pour tout serveur Cloud.

Retour donc sur l’innovation apportée par Cloud et sur l’intérêt de stocker les données d’une caisse enregistreuse dans un serveur Cloud.

Le fonctionnement de Cloud

Comme évoqué ci-dessus, le niveau de sécurité élevé est la première raison qui convainc les nombreux professionnels utilisant à Cloud. Mais il existe d’autres raisons pratiques.

On pense notamment à la réactivité d’un serveur Cloud. Ça se traduit par la fluidité de l’accès aux données, mais pas seulement.

L’entité utilisant Cloud ne se prend pas la tête pour pas mal de problèmes informatiques. Le serveur peut lui-même se charger des tâches liées à la maintenance.

Cloud est en outre l’allié des professionnels qui se déplacent beaucoup. Les données sont consultables en temps réel, y compris depuis un Smartphone ou une tablette.

Sinon, Cloud vient maximiser, en quelque sorte, la performance d’une caisse enregistreuse tactile, en matière de stockage de données, mas pas seulement.

La place de Cloud dans le fonctionnement d’une caisse enregistreuse

La
caisse enregistreuse tactile est un outil informatique comme un autre. Grâce à un bon logiciel de caisse, elle emmagasine et exploite les données d’un commerce.

Sans Cloud, la caisse enregistreuse est toujours performante. En effet, en exploitant ses différentes données, elle les fait interagir entre elles.

Concrètement, les données du stock impactent sur celles de la gestion de la clientèle, par exemple en termes de préférences. Cette interconnexion de données est exploitée par les CHR et les salons de coiffure en particulier pour promouvoir une politique ciblée.

Alors, tout ce que la
caisse enregistreuse est capable de faire, elle le fait aussi quand les données sont stockées sur un serveur distant. D’un autre côté, Cloud devient un peu comme un système concurrent d’Ethernet.

Ethernet permet à plusieurs caisses d’un commerce d’émettre sur une ligne unique leurs données. Chacune peut exploiter voire modifier les données émises par d’autres. C’est très pratique dans les restaurants.

Alors, quand les données sont sur serveur Cloud, toutes les caisses d’un commerce y ont accès. L’utilisateur d’une des caisses exploitera les données dont il a besoin, et son action impactera sur l’état de la base de données.