 Est-ce que vous avez déjà entendu parler de DynamoDB ? Ok, on va commencer par expliquer ce que c'est. En gros, c'est une baisse de données de clés valeurs qui est managée, qui est sortie en janvier dernier, qui est gérée par Amazon. Clés valeurs, c'est-à-dire que c'est très simple. Manager par Amazon, ça veut dire qu'on n'est pas emmerdés par la gestion. Et le point où il se différencie de la plupart des bases de données, c'est que les performances sont garanties, parce qu'on achète les performances, d'où le joli petit castor avec la pièce de 2500. L'ennui, c'est que les performances sont garanties, donc on les paye et ça devient vite très cher, surtout quand vous devez faire des tests. Et surtout, les opérations de création, de suppression et de mise à jour de table prennent environ une minute chacune. Alors vous imaginez un scénario. Vous faites des tests unitaires. Si vous faut une minute dans chaque setup ou chaque tire d'un honte pour créer et supprimer les tables, ça fait déjà deux minutes par test, sans compter toutes les opérations d'insertion. Parce que vous avez le choix entre un système qui est bon marché ou un système qui est rapide, parce que vous payez pour les performances. Pour les tests, vous n'avez pas envie de dépenser la même chose que votre système de production. C'était vraiment un problème pour nous, donc on a cherché une solution. La meilleure solution qu'on a trouvée, c'est de réinventer d'InamoDB. Et c'est comme ça qu'on a créé ddbmock. Oui, c'est ça. Je ne sais pas si je viens d'insister dessus, mais c'est lent. Lui, il s'appelle Amazon. Du coup, on a fait simple. Au-delà de réinventer la roue, ddbmock, c'est une réimplémentation in memory de l'ensemble de l'interface que vous expose Amazon. Pour l'installer, c'est difficile de faire plus simple. Pour l'utiliser, c'est pareil, c'est difficile de faire plus simple. Vous importez la fonction de connexion, et ça marche avec Boto. Vous n'avez pas besoin de changer votre programme, juste d'ajouter deux lignes à l'intérieur. Celle-là et celle-là. Et c'est terminé. Là, ça marche. Et vos tests, d'un coup, ils se mettent à aller super vite. En gros, qu'est-ce que ça fait ? C'est génial pour des tests unitaires. C'est ce que j'ai présenté. Là, vous le connectez dans votre application et vous connecteriez Esculite. Esculite. Ça marche de même manière. Librairie, memory. C'est terminé. En mode test fonctionnel, vous voulez voir comment votre application, avant de la déployer, est-ce qu'on porte s'il y a plusieurs clients dessus ? Pas de problème. On a aussi un mode serveur. Le point d'entrée avec Pyramid. Et un point d'entrée en mode librairie via Boto. Là où ça devient intéressant, et c'est surtout dans les développements à venir, c'est qu'on va vous aider à planifier les ressources. En mode B, c'est un système où vous payez les ressources. Je ne suis pas encore à la science de testue. Vous payez à la taille utilisée, comme tous les systèmes d'Amazon. Mais ça, il n'y a pas vraiment besoin de le planifier. Ça, c'est juste pour anticiper. Et surtout, vous avez besoin de réserver le débit puisqu'il est garanti. Il faut le réserver à l'avance. Si vous en réservez trop d'un coup, vous allez payer trop cher. Et si vous n'en réservez pas assez, votre application ne va pas marcher. C'est tout pour la partie présentation. Je vais vous le prouver.