FrenchTech SAAS
33.5K views | +2 today
FrenchTech SAAS
Les news de l'univers SAAS et FrenchTech
Curated by Mickael Ruau
Your new post is loading...
Your new post is loading...

Popular Tags

Scooped by Mickael Ruau
March 4, 2014 9:27 AM
Scoop.it!

Multilanguage database design approach | GS Design

Before you go right to the comment section and recommend gettext or other similar ways, know that i am talking about content that is manageable from an admin panel or is added by the user

Also this article is based on personal experience and is not necessary the best way to do this.


Mickael Ruau's insight:

I am sure that there are other methods of doing a multilingual website, this are just the ones that i thought are most commonly used. My solution is the best, its just the best for me, because it works for my project and its easier for me to work with compared to other approaches.
In the end the best approach is the one that is the best for you. The one that you find the most easier to work with and maintain.

No comment yet.
Scooped by Mickael Ruau
March 4, 2014 9:25 AM
Scoop.it!

MySQL Database versioning strategy | GS Design

IF you just got into versioning your code then you are probably really happy with your acomplishment. But do you have your database versioned ?

Mickael Ruau's insight:
The strategy

The main ideea is to have a folder with this structure in your project base path
/__DB
—-/changesets
——–/1123
—-/data
—-/tables

Now who the whole thing works is that you have 3 folders:
Tables
Holds the table create query. I recommend using the naming “table_name.sql”.

Data
Holds the table insert data query. I recommend using the same naming “table_name.sql”.
Note: Not all tables need a data file, you would only add the ones that need this initial data on project install.

Changesets
This is the main folder you will work with.
This holds the change sets made to the initial structure. This holds actually folders with changesets.
For example i added a folder 1123 wich will contain the modifications made in revision 1123 ( the number is from your code source control ) and may contain one or more sql files.

I like to add them grouped into tables with the naming xx_tablename.sql – the xx is a number that tells the order they need to be runned, since sometimes you need the modification runned in a certain order.

Note:
When you modify a table, you also add those modifications to table and data files … since those are the file s that will be used to do a fresh install.

This is the main ideea.

No comment yet.
Scooped by Mickael Ruau
March 4, 2014 9:18 AM
Scoop.it!

MySQLdiff - checking for differences in database structures

mysqldiff is a little tool to detect layout differences between two databases.

Mickael Ruau's insight:

lmost every developer knows the that changes of the database on the developement system have to be logged in order to update the live-system later on.

To make this easier the tool MySQLdiff has been developed. Not as a real project but ...

MySQLdiff will create a SQL-ALTER-Script which has to be run onto the live-system to 'patch' it to the state of the developement system.

No comment yet.
Scooped by Mickael Ruau
March 4, 2014 9:14 AM
Scoop.it!

Effective Unit Testing with DbUnit - O'Reilly Media

The open source DbUnit framework, created by Manuel Laflamme, provides an elegant solution for controlling a database dependency within applications by allowing developers to manage the state of a database throughout a test. With DbUnit, a database can be seeded with a desired data set before a test; moreover, at the completion of the test, the database can be placed back into its pre-test state.

Mickael Ruau's insight:

The DbUnit framework's ability to manage the state of a database throughout a test's lifecycle enables rapid test-case creation and adoption; furthermore, by controlling a major dependency, tests that utilize the DbUnit framework are easily automated.

DbUnit's elegant design makes learning how to properly utilize its features a breeze. Once it's in place as a part of an effective testing strategy, overall code stability will increase dramatically, along with the collective confidence of your development team.

No comment yet.
Scooped by Mickael Ruau
March 4, 2014 9:00 AM
Scoop.it!

Vue d'ensemble du test unitaire de base de données

Vous pouvez utiliser les tests unitaires de base de données pour établir un état de base pour votre base de données, puis vérifier toutes les modifications ultérieures apportées aux objets de base de données. 

Mickael Ruau's insight:

La première étape consiste à écrire des jeux de tests T-SQL qui s'appliquent à un certain objet de base de données et à vérifier que l'objet de base de données fonctionne correctement. Par la suite, comme vous modifiez le schéma sous-jacent, vous utilisez ces tests pour vérifier que les modifications n'ont pas interrompu les fonctionnalités existantes. En écrivant des tests unitaires qui évaluent la réussite ou l'échec des modifications de conception de base de données, vous pouvez garantir que ces modifications sont appliquées comme prévu et sans introduire d'erreurs. Les tests unitaires de base de données sont complémentaires aux tests unitaires de logiciel créés par vos développeurs de logiciels. Les deux jeux de tests unitaires sont requis pour gérer les modifications apportées à la globalité de l'application.

No comment yet.
Scooped by Mickael Ruau
March 4, 2014 5:08 AM
Scoop.it!

Convert MySQL to XML using PHP | Mighty Webdeveloper

How to automatically convert any MySQL table and data to a well-formed XML document using PHP. Check out the easy sample code.
Mickael Ruau's insight:

In some cases the “mysqldump –xml” might be sufficient.

No comment yet.
Scooped by Mickael Ruau
March 4, 2014 4:37 AM
Scoop.it!

Save the date ! BarCamp Mahout pour les Nuls en maths (comme moi) | Palo-IT

Save the date ! BarCamp Mahout pour les Nuls en maths (comme moi) | Palo-IT | FrenchTech SAAS | Scoop.it
Palo IT vous donne rendez-vous jeudi 6 mars prochain pour assister à son BarCamp intitulé "Mahout pour les Nuls en maths (comme moi) !", animé par Nicolas Gapaillard, Architecte JAVA. Au cours de cette présentation, vous découvrirez l'outil Apache Mahout et ses fonctionnalités. Des cas pratiques de recommandation, classification et regroupement seront également proposés...
Mickael Ruau's insight:

Avec l’avènement du Big Data, nous sommes aujourd’hui capables de récolter énormément d’informations sur les utilisateurs de nos systèmes d’information. Cependant, nous ne savons toujours pas comment les interpréter pour en tirer profit. C’est là qu’intervient Apache Mahout, un outil Open Source écrit en JAVA qui permet de classer, regrouper et prédire automatiquement des informations, ainsi que d’identifier les comportements des utilisateurs.

No comment yet.
Scooped by Mickael Ruau
March 2, 2014 3:48 PM
Scoop.it!

The MySQL ARCHIVE storage engine – Alternatives

The MySQL ARCHIVE storage engine – Alternatives | FrenchTech SAAS | Scoop.it
In my previous post I pointed out that the existing ARCHIVE storage engine in MySQL may not be the one that will satisfy your needs when it comes to effectively storing large and/or old data. But are there any good alternatives?
No comment yet.
Scooped by Mickael Ruau
February 27, 2014 11:23 AM
Scoop.it!

Open data : ouvrir ses données au public, ça peut rapporter gros

Open data : ouvrir ses données au public, ça peut rapporter gros | FrenchTech SAAS | Scoop.it
Les administrations ne sont plus les seules à rendre publiques les informations qu'elles détiennent. Désormais, les entreprises y voient aussi le moyen de développer des services innovants.
Mickael Ruau's insight:
Solutions alternatives. Crédit agricole a emprunté cette voie avec son CA Store, lancé en septembre dernier. Il s'agit d'une place de marché d'applications mobiles qui met en relation clients et développeurs. Les premiers sont invités à déposer leurs idées d'applications et à noter les suggestions déjà déposées. Charge ensuite aux seconds, les développeurs, surnommés ici des digiculteurs, de bâtir les applications suscitant l'intérêt le plus large. Ces derniers ne manipulent aucune donnée des clients. La banque leur donne simplement accès à une interface de programmation documentée et à une clé qui leur ouvre les portes d'entrée du système d'information. Crédit agricole s'assure ainsi qu'elle répond réellement aux besoins de sa clientèle.
La Poste a adopté une démarche similaire avec son service d'identité numérique (IDN), un système initialement utilisé pour les courriers recommandés électroniques. Désormais, il donne accès à une liste des internautes dont l'identité a pu être vérifiée par un facteur. Depuis octobre dernier, les sites d'échange et de location entre particuliers peuvent facilement intégrer ce service (grâce à une API) sur leur site en ligne. Avec cette garantie contre l'usurpation d'identité, leurs clients ont plus de chance de réussir leur troc ou leur location.
No comment yet.
Scooped by Mickael Ruau
February 27, 2014 11:19 AM
Scoop.it!

Big Data ou comment la technologie se met au service des métiers

Big Data ou comment la technologie se met au service des métiers | FrenchTech SAAS | Scoop.it
Le Big Data a d’abord été annoncé comme une révolution technique. Puis, les entreprises ont cherché à justifier leurs investissements en identifiant des cas métiers appropriés. Aujourd’hui, il est temps de faire aboutir les initiatives et d’en reconsidérer la finalité.
Mickael Ruau's insight:
Et si nous mettions les fonctions et les technologies de l’information autour d’une même table pour construire un environnement agile et durable Les leviers pour identifier les cas d’usage existent, à commencer par l’application de modèles de différentiation marketing éprouvés, appliqués à l’échelle de l’entreprise ou de l’entité. Mais la réussite d’une initiative Big Data vient de la capacité à prouver le cas, et par là même, le bien-fondé de la démarche.
Dans cette optique, nous préconisons une organisation en deux temps ne nécessitant pas forcément d’investissements lourds mais un mode de gouvernance dédié
No comment yet.
Scooped by Mickael Ruau
February 27, 2014 7:57 AM
Scoop.it!

Sécurité des applications : les logs sont une mine d’informations pour les pirates informatiques

Sécurité des applications :  les logs sont une mine d’informations pour les pirates informatiques | FrenchTech SAAS | Scoop.it
La plupart des entreprises s’appuient sur des applications web pour leurs activités mais celles-ci représentent aussi une source d’attaques pour les pirates et les utilisateurs internes malveillants. Cet été, des actes d’accusation ont été portés à l’encontre de 5 cybercriminels, suspectés d’avoir piratés 17 grandes entreprises, parmi lesquelles le NASDAQ, 7-Eleven et JetBlue Airways. La méthode utilisée par ces hackers est l’injection SQL, technique bien connue pour compromettre les applications, mais ce n’est pas la seule.
Mickael Ruau's insight:

Restreindre l’accès aux logs peut également réduire les risques. L’authentification forte et la gestion des autorisations peuvent empêcher les utilisateurs malveillants d’accéder aux données sensibles à partir des logs.

No comment yet.
Scooped by Mickael Ruau
February 25, 2014 7:58 AM
Scoop.it!

How to Make Menu tree ( Unlimited Category SubCategory ) from database using PHP mySQLblognya DIGIBALI

How to Make Menu tree ( Unlimited Category SubCategory ) from database using PHP mySQLblognya DIGIBALI | FrenchTech SAAS | Scoop.it

If you want to make a menu tree ( unlimited category sub category ) using PHP and MySQL, may this script will help you. 

No comment yet.
Scooped by Mickael Ruau
February 25, 2014 7:38 AM
Scoop.it!

Most SQL users flunk performance test

Most SQL users flunk performance test | FrenchTech SAAS | Scoop.it
When it comes to optimizing database queries, a new study suggests that most programmers could use a refresher course
Mickael Ruau's insight:

Winand found that:


  • 33% of respondents didn't know that that applying functions to columns in a where clause effectively disables indexes

  • 38% failed to demonstrate the proper knowledge of how multi-column indexes work

  • 61% of respondents didn't understand index-only scans

  • Overall, only 38% of respondents passed the test, defined as answering at least 4 of the 5 questions correctly

  • PostgresSQL users did the best, with 50% of those respondents passing, followed by Oracle and SQL Server users (38% of each group passed) and MySQL users coming in last in SQL performance knowledge, with only 33% passing

No comment yet.
Scooped by Mickael Ruau
March 4, 2014 9:26 AM
Scoop.it!

How to Find and Replace Text in MySQL Table using SQL | GS Design

The database engine MySQL has a string function called REPLACE that performes similar to the php function str_replace(). This really comes in handy


Mickael Ruau's insight:

MySQL reference :

REPLACE(str,from_str,to_str)

Returns the string str with all occurrences of the string from_str replaced by the string to_str. REPLACE() performs a case-sensitive match when searching for from_str.

This function is multi-byte safe.

No comment yet.
Scooped by Mickael Ruau
March 4, 2014 9:23 AM
Scoop.it!

11 Tools for Database Versioning

11 Tools for Database Versioning | FrenchTech SAAS | Scoop.it

Many developers (I suggest 'most') have no form of version control on their stored procedures or their table structures etc.

So here's some articles and some tools, to get you thinking about how you can implement change control over this other, crucial, piece of your work.

Mickael Ruau's insight:
No comment yet.
Scooped by Mickael Ruau
March 4, 2014 9:15 AM
Scoop.it!

DB Testing

These are my notes on how I've gone about unit testing database functionality. The examples are in Java, but I think the ideas are applicable to a variety of programming environments. I'm looking for better solutions.

The problem is this: you have a SQL database, some stored procedures, and a layer of code sitting between your application and the database. How can you put tests in place to make sure your code really is reading and writing the right data from the database?

Mickael Ruau's insight:
No comment yet.
Scooped by Mickael Ruau
March 4, 2014 9:09 AM
Scoop.it!

Applications et bases de données, comment tester ?

Applications et bases de données, comment tester ? | FrenchTech SAAS | Scoop.it
Même si lon préfèrerait léviter, les tests unitaires dune application web par exemple, portent souvent sur des parties du programme accédant à une base...
Mickael Ruau's insight:
Quelques références
No comment yet.
Scooped by Mickael Ruau
March 4, 2014 8:54 AM
Scoop.it!

PHPUnit Manual – Chapitre 8. Tester des bases de données

De nombreux exemples de tests unitaires de niveau débutant ou intermédiaire dans de nombreux langages de programmation suggèrent qu'il est parfaitement facile de tester la logique de votre application avec de simples tests. Pour les applications centrées sur une base de données, c'est loin d'être la réalité. Commencez à utiliser WordPress, TYPO3 ou Symfony avec Doctrine ou Propel, par exemple, et nous serez vite confrontés à des problèmes considérables avec PHPUnit : juste parce que la base de données est vraiment étroitement liée à ces bibliothèques.

Vous connaissez probablement ce scénario rencontré tous les jours sur les projets, dans lequel vous voulez mettre à l'oeuvre votre savoir-faire tout neuf ou déjà aguerri en matière de PHPUnit et où vous vous retrouvez bloqué par l'un des problèmes suivants :

  1. La méthode que vous voulez tester exécute une opération de jointure plutôt vaste et utilise les données pour calculer certains résultats importants.

  2. Votre logique métier exécute un mélange d'instructions SELECT, INSERT, UPDATE et DELETE.

  3. Vous devez configurer les données de test dans (éventuellement beaucoup) plus de deux tables pour obtenir des données initiales raisonnables pour les méthodes que vous voulez tester.

L'extension DbUnit simplifie considérablement la configuration d'une base de données à des fins de test et vous permet de vérifier le contenu d'une base de données après avoir réalisé une suite d'opérations. 

Mickael Ruau's insight:

Il y a une bonne raison pour laquelle les exemples concernant le test unitaire n'inclut pas d'interaction avec une base de données : ces types de test sont à la fois complexes à configurer et à maintenir. Quand vous faites des tests sur votre base de données, vous devez prendre soin des variables suivantes :

  • Le schéma et les tables de la base de données

  • Insérer les lignes nécessaires pour le test dans ces tables

  • Vérifier l'état de la base de données après que votre test a été exécuté

  • Nettoyer la base de données pour chaque nouveau test

No comment yet.
Scooped by Mickael Ruau
March 4, 2014 4:48 AM
Scoop.it!

Generate XML from MySQL in PHP « The Integrity

Generate XML from MySQL in PHP « The Integrity | FrenchTech SAAS | Scoop.it
In this tutorial we will generate an XML file from the data stored in MySQL database. As an example we will use a database table storing UK
Mickael Ruau's insight:

Article ancien est très simple à comprendre et facile à adapter avec pdo.

No comment yet.
Scooped by Mickael Ruau
March 2, 2014 3:50 PM
Scoop.it!

How rows_sent can be more than rows_examined?

How rows_sent can be more than rows_examined? | FrenchTech SAAS | Scoop.it
When looking at queries that are candidates for optimization I often recommend that people look at rows_sent and rows_examined values as available in the slow query log (as well as some other places).
No comment yet.
Scooped by Mickael Ruau
March 2, 2014 3:47 PM
Scoop.it!

How to avoid common (but deadly) MySQL development mistakes

How to avoid common (but deadly) MySQL development mistakes | FrenchTech SAAS | Scoop.it
MySQL software developers are under pressure to do more in less time and create applications that adapt to ever-changing requirements.
No comment yet.
Scooped by Mickael Ruau
February 27, 2014 11:20 AM
Scoop.it!

La « data » n’a pas besoin d’être « big » pour générer de la valeur

La « data » n’a pas besoin d’être « big » pour générer de la valeur | FrenchTech SAAS | Scoop.it
Il est nécessaire d’introduire un nouveau niveau d’analyse pour les données qui se situent entre les données décisionnelles et le big data : l’over data.
Mickael Ruau's insight:

Le big data entre toutefois dans des critères de  volume, de variété et de vélocité (3V) bien précis et tellement importants (voire hors norme) qu’ils ne concernent finalement qu’une partie des projets d’exploitation de données. Mais les réflexions ont fait naître une multitude de projets d’analyse qui, sans pour autant être de type big data, ont beaucoup de valeur

No comment yet.
Scooped by Mickael Ruau
February 27, 2014 11:18 AM
Scoop.it!

3 Suisses affine son catalogue en ligne grâce au big data

3 Suisses affine son catalogue en ligne grâce au big data | FrenchTech SAAS | Scoop.it
Le groupe 3SI a fait appel à un spécialiste de l'analyse comportementale des internautes pour comprendre les manques de son catalogue en ligne et les combler. Prix, disponibilité, remises... Il en a profité pour optimiser la plupart des paramètres.
Mickael Ruau's insight:

“ Les conclusions apportées par le big data sont rationnelles, incontestables. Elles laissent de moins en moins de place à l'intuition humaine. D'une certaine manière, le big data devient l'ennemi des salariés du marketing, en charge de l'ergonomie et de la présentation ! ”

No comment yet.
Scooped by Mickael Ruau
February 27, 2014 7:44 AM
Scoop.it!

La violation de données chez la Barclays devrait être une leçon pour tout le monde

La violation de données chez la Barclays devrait être une leçon pour tout le monde | FrenchTech SAAS | Scoop.it
Le journal britannique The Mail, dans son édition de dimanche dernier, a révélé que les informations personnelles et financières de près de 27 000 clients de la banque Barclays aurait été volées, ce qui constitue la pire violation de données subis par une banque britannique à ce jour.
Mickael Ruau's insight:

Les détails sur la façon dont les données ont été exfiltrées n’ont pas encore été rendus public, mais en réalité, que ce soit un acte malveillant interne ou une cyber-attaque très sophistiquée, la leçon à retenir est toujours être la même : sans savoir exactement ce qui est se passe sur le réseau à tout moment, et sans parvenir à comprendre ce qu’est l'activité "normale", les données peuvent être l’objet d’exfiltration, de manière totalement inaperçue. 

No comment yet.
Scooped by Mickael Ruau
February 25, 2014 7:39 AM
Scoop.it!

Results of the SQL Performance Quiz: 60% fail

Results of the SQL Performance Quiz: 60% fail | FrenchTech SAAS | Scoop.it
No wonder people believe SQL is slow, if more than 60% fail to apply basic indexing techniques.
No comment yet.