Aller au contenu

Blogs

Nos blogs communautaires

  1. En un seul clic… Avec la fiche Astuce 133, nous jouons les prolongations puisque depuis la semaine dernière, nous mettons en place un nouveau script qui, d’un seul clic, permet de convoquer toutes les personnes de votre table Personne à une date donnée quelle que soit la situation, et ce, sans créer de doublon… Rappelons que […]

    Afficher la totalité du billet

  2. fabriceN
    Dernier billet

    Aux bords du lac de Paladru ( Isère ) on trouve d’autres trésors que ceux laissés par les chevaliers paysans de l’an mil… On y dégote par exemple des développeurs FileMaker chevronnés ! En cette fin d’année 2018, nous sommes ravis d’accueillir dans l’équipe de 1-more-thing Yann Trauchessec, un développeur multi-langage avec comme prédilection celui […]

    Cet article Bienvenue Yann ! est apparu en premier sur 1-more-thing.


    >>> Lire la suite… <<<

  3. FileMaker Magazine
    Dernier billet

    If it's not obvious by the types of videos I produce, one of my most favorite areas of software development and design is the user interface. It's where the real test of your software happens. A user either "gets it" or not. If they don't, then you're back to the drawing board.

    Of course, there's always the learning curve which is present for anyone, but if you can create something that has less of a learning curve, then you feel like a winner.

    In this video, I cover a wide variety of topics related to FileMaker development. The video introduces a subtle ui widget which I implemented based on the intended usage of the software. This is what reflects the real process of software development within FileMaker. Not just taking the super obvious approach, but the one which might make more sense to the user and is a bit more difficult for the developer to implement.

    This requires you to know how to get things done in FileMaker and implement a feature which is user friendly and facilitates a fluid workflow process.

    Click the title or link to this article to view the video.


    Afficher la totalité du billet

  4. A colleague recently posed this challenge: is it possible to show two columns in a portal, such that the first row displays records 1 and 2, the second row displays records 3 and 4, etc.? With FileMaker, the answer is usually “Yes!” The Challenge Here are some clarifications of the challenge: The records must be […]

    Afficher la totalité du billet

  5. A CRM is more than a way to track sales. It allows you to see what types of leads are converting to customers, uncover what activities are driving sales, automate tasks, provide better customer service, and streamline your business processes to boost profitability. A CRM is the hub of your business, the tool that [...]

    The post What to Look for in a CRM appeared first on The Scarpetta Group, Inc..


    Afficher la totalité du billet

  6. Recently we’ve looked at two methods to generate a “faux” subsummary to address a shortcoming of FileMaker native subsummaries… namely that in a multipage report you can have orphaned entries at the top of a given page with no indication of what parent entity they belong to. The methods were documented here: Conditional Summary Report […]

    Afficher la totalité du billet

  7. Mail Merge with FileMaker

    493.4 million pieces of mail are delivered every day by the US Postal Service. If you currently hand type your business’s envelopes, letters, and other complex documents like proposals and legal forms, you would greatly benefit from using mail merge.

    Mail merging, the process of filling in a template document with records from a data source, saves countless hours of double data entry and reduces human error; instead of typing out each recipient’s information, Microsoft Word (or another similar word processor) automatically does all the work for you. In addition it is possible to create mail merges with records from your FileMaker system to save even more time.

    Basics of Mail Merge

    To create a mail merge, you need two things: a template and a data source. In this example, we will be using Microsoft Word to create a template, and FileMaker as the data source. If you do not have Microsoft Word, there are plenty of other free word processors out there that are able to perform mail merges.

    Exporting FileMaker Records

    In order to prepare your FileMaker records for mail merging, you need to export them as a .mer file. To export a merge file:

    1. In your FileMaker system, get into the found set of records you would like to merge with your template.
    2. Click “File” > “Export Records,” change the file type to “Merge,” and choose where you want to save your file.
      FileMaker Export Records Dialog
    3. In the “Specify Field Order for Export” dialog, chose the fields you want to be able to merge in your template file and click export.

    Your mail merge data source can be other file types, but a .mer file is certainly the easiest to create from FileMaker.

    Creating Your Mail Merge Template

    Because mail merging has been around for a while, many people will already have their templates ready. In case you don’t, however, the process is very straight forward:

    1. Create a document with your preferred word processor.
    2. Choose the .mer file that you exported earlier as your data source. To do this in Microsoft Word 2016, click “Mailings” > “Select Recipients” > “Use an Existing List” and find your .mer file.
    3. Place fields in the template where necessary. In Word, click “Mailings” > “Insert Merge Field” and select the field you wish to place in the document.
    4. If you wish to view what your filled out template looks like in Word, click “Mailings” > “Preview Results”.

    Now your template is all set for merging! You can reuse this template for later mail merges. The image below shows what your Word document will look like before and after the mail merge respectively.

    Mail Merge with FileMaker Before and After

    Things To Note

    • There are more ways to make the process even easier! We have created a FileMaker file that allows users to export contact records and a mail merge template with a few simple clicks.
    • If you change the name of a field in FileMaker that is also used in your mail merge, you will need to update the corresponding variable in your template file.
    • If your solution requires more automation, you can use FileMaker plugins like 360Works Scribe or MonkeyBread Software to automatically generate documents without the need for exporting records.
    • You can also use AppleScript instead of plugins to automatically generate documents out of FileMaker, but you will still need to export the .mer file and have AppleScript automatically run the mail merge in Word or a similar word processor.

    Conclusion

    Using mail merge with FileMaker is a highly efficient technique at generating documents as simple as letters to as complex as proposals or legal forms. Feel free to contact us if you would like assistance generating documents from your FileMaker system!

    Did you know we are an authorized reseller for FileMaker Licensing?
    Contact us to discuss upgrading your FileMaker software.

    Download FileMaker HubspotDownload Mail Merge with FileMaker Database

    Please complete the form below to download your FREE FileMaker database file.

    • Name*
      First Last
    • Company
    • Phone*
    • Email*
    • Deployment Assistance?
      Please contact us to assist integrating into your FileMaker Database.
      • Yes
    • Terms of Use
      • I agree
      OPT-IN: I agree that I am downloading a completely free FileMaker application file with no strings attached. This database is unlocked, and I may use it for my business or organization as I see fit. Because I am downloading a free database, I agree that I should receive occasional marketing. I understand that I can OPT-OUT of these emails at anytime.

    Afficher la totalité du billet

  8. Point, set et match !

    Un entraîneur de la Fédération Anglaise de Volleyball a développé une application FileMaker pour le suivi des joueurs, des stages et des compétitions.

    1*dhvdSTC1KwuWiP0Ojon2yw.png

    Éducateur sportif spécialisé en volleyball, Bertrand Olie a commencé sa carrière dans un club de la région lyonnaise. Fort de cette première expérience, et à la recherche d’un nouveau défi, ce dernier déménage en Angleterre en 2006 pour intégrer Volleyball England, la Fédération Anglaise de Volleyball.

    L’enjeu

    En 2014, la direction lui demande de prendre en charge le suivi des joueurs et des activités de la Fédération. Celle-ci compte 12 équipes nationales, organise 7 à 12 stages par an et participe à un certain nombre de compétitions. Le suivi s’effectuait à l’époque sur Excel et était synonyme de perte de temps, dispersion d’informations et utilisation de données inexactes ou obsolètes.

    1*VbiGH6BLiSRUsGhqZnKPtg.png
    “Nous avions une multitude de fichiers Excel qui buggaient très souvent. La recherche d’informations était laborieuse, d’autant plus que nous conservions des données qui remontaient jusqu’à 2010.”

    Bertrand réussit à convaincre la direction d’investir dans la Workplace Innovation Platform FileMaker, qu’il avait connue dans le cadre de son précédent poste. Bertrand avait en effet travaillé avec des professeurs d’EPS qui utilisaient la plateforme pour gérer les informations de leurs élèves : contacts, rapports d’activités et bulletins scolaires.

    “J’étais convaincu que la plateforme FileMaker était adéquate pour la Fédération. Je n’avais jamais réussi à développer un outil de gestion avec Access, et Excel n’était pas assez puissant pour le suivi que nous souhaitions effectuer. La plateforme FileMaker combinait simplicité d’utilisation et performance.”

    La solution

    Il y a un an, Bertrand se lance ainsi dans le développement d’une application personnalisée pour la gestion des informations des joueurs, des équipes, des stages et des compétitions. Cette dernière, qu’il nomme Talent Tracker, comprend les informations de plus de 500 joueurs, une cinquantaine de stages et une trentaine de compétitions. Bertrand y ajoute progressivement des données telles que les tests physiques des joueurs ou encore les résultats des compétitions.

    “Je ne suis pas informaticien de formation mais j’ai démarré avec mes connaissances personnelles, j’ai fait des recherches en ligne et je m’aide de la communauté FileMaker. Cette plateforme est très visuelle, ce qui en rend le développement plus simple par rapport à d’autres outils.”

    La Fédération bénéficie aujourd’hui d’une unique source d’informations et la gestion des joueurs et des activités s’en est trouvée améliorée.

    Lors de stages et compétitions en Angleterre ou à l’étranger, il est par exemple essentiel d’accéder rapidement aux informations de chaque joueur pour les transmettre aux entraîneurs et organisateurs : noms, contacts d’urgence ou encore contre-indications médicales.

    “Auparavant, mes collègues et moi-même devions ouvrir plusieurs fichiers Excel et recouper les informations entre ces derniers. Aujourd’hui en quelques clics nous accédons à l’ensemble des données, reliées entre-elles. C’est un vrai gain de temps !”
    1*wuJeLYE7xcC1mlA6sQf9lA.png

    Aussi, en tant que Fédération nationale, Volleyball England doit produire des rapports à propos de certains programmes d’excellence. Ces rapports doivent par exemple inclure le nombre de joueurs de l’équipe nationale suivant tel ou tel programme, la date à laquelle ils les ont intégrés, ou encore le nombre d’entre-eux ayant par la suite rejoint un club national à l’étranger. La production de tels rapports a été facilitée grâce à l’utilisation de la plateforme FileMaker.

    Et le développement de Talent Tracker ne va pas s’arrêter là ! Bertrand souhaite en effet créer un portail en ligne afin de permettre aux entraîneurs nationaux d’accéder aux informations des joueurs et des prochaines compétitions, et de permettre aux joueurs d’y consulter leur profil, le retour de leur entraîneur ou encore les résultats de leurs tests physiques.

    1*R72tDop7Zsv33cmCRCuE3Q.png

    Vous souhaitez vous aussi explorer les opportunités offertes par la plateforme FileMaker ?

    ➡️ Téléchargez notre version d’essai gratuite.

    stat?event=post.clientViewed&referrerSource=full_rss&postId=4c4e1bcfee92

    Point, set et match ! was originally published in FileMaker Fr on Medium, where people are continuing the conversation by highlighting and responding to this story.


    Afficher la totalité du billet

  9. One of the biggest risks in undertaking a big software development project is underestimating the time and effort involved from start to finish. Our team has provided estimates for hundreds of projects, and sometimes we’ve missed the mark, especially in the early days of our business.

    Over the years, we’ve put together a strong model for estimating how much time and effort a project is likely to require; our employees undergo annual training on the method. Using these methods ensures we present our clients with the most useful estimates possible and effectively set expectations for each project.

    Not Just Simple Math

    When you think of hours estimation, you probably imagine a small team of people putting together a list of tasks and then assigning hours to each. From there, it’s just simple addition, right?

    From the outside, I’m sure that’s what the estimation process seems like. Behind the scenes, however, things work much differently.

    Building Uncertainty Ranges

    No two projects are exactly the same. Even if you feel like you’re developing the same solution, there are too many variables at play to borrow from another experience to build your estimate. Comparing one project to another can be good for getting an order-of-magnitude or “ballpark”-level estimate. However, you wouldn’t want to make firm commitments based on just a rough comparison.

    Adding Non-Development Factors

    Not all of the effort in a project is spent by developers. Our project management team works hard to ensure communication remains open and transparent and keeps projects running smoothly. They need time to accomplish their tasks. Especially going into a new client relationship, no one knows how much time and effort that will take. Some of our clients appreciate a daily update email and have few questions. Others like detailed explanations on how things work behind the scenes.

    Projects also vary widely in how much support they need; for small projects with a single developer, a project manager may stay a little behind the scenes, making sure the developer has what she needs and sending periodic status updates. In larger projects with multiple developers, multiple client contacts, and a multi-step testing process, the project manager is heavily involved every day. He or she leads scrums and meetings, facilitates communication and monitors overall project risks.

    Besides project management, an estimate should include time for meetings, both internal and external, for quality assurance activities and for work necessary for deployment, to name some of the major non-coding categories.

    An estimate that fails to budget time for activities like testing, internal and external communication, and project management, may only come up slightly short for a smaller project. However, it will leave a major gap for a large effort.

    Foundation Phase Estimates

    If a project requires up-front design and discovery work (and most do), you also need to account for business analysis time.

    During our Foundation phase activities (also known in the industry as “discovery and design”), our business analysts work with clients to uncover their biggest challenges, opportunities, and goals and then build a plan to address the highest-value features and capabilities during solution development. As we wrap up design and discovery, our developers build a more accurate estimate of hours based on their lessons learned and the emerging solution blueprint.

    (In fact, we often provide mid-foundation in addition to post-foundation estimates to help put our clients at ease and promote the transparency required for successful projects. Each one gets more and more accurate and therefore encourages better client communication.)

    Consider Task Size

    When estimating items, smaller is definitely better. Most of us can’t reliably estimate pieces of effort that are bigger than a day or two in size. If your estimate has an item that says “manage invoicing, 20-50 hours,” you’re going to be well-served by breaking that into smaller units of functionality. This can include “Create Invoice,” “Print Invoice,” “View List of Invoices,” and so forth. If the project has several types of invoice, each with its own print format, then you can probably break “Print Invoice” into smaller items, one for each invoice type. If it’s too soon to break that item maybe it’s too soon to estimate it; or, if 20-50 hours “feels” right, just be aware that you’re estimating based partly on intuition. Make sure your estimate has a range that allows for the fact that there’s more definition yet to do.

    Number of Estimated Items

    The number of estimated items matters too. The fewer tasks you’re combining into an estimate, the less meaningful your estimate is. Nobody estimates items right on the nose. We’re either over or we’re under, for any given item. With a large number of items, we hope that the overs and the unders balance out. Too few items, and your estimate risks being derailed by a poor estimate for a single item. We abide by the rule of ten: estimates containing fewer than ten items are very dubious. However, the farther over 10 items you go, the more stable your math gets. For best results, try to have no fewer than twenty.

    Size of Estimate Ranges

    Just as important is for all of your estimate items to fit within a certain range of sizes. Huge disparities between your biggest and smallest estimate items suggest either that the small items have been broken down prematurely, or the big items are not yet broken down enough, adding uncertainty to your estimate and the project as a whole. As a rule of thumb, we try to have a range of no greater than 6x between the smallest and largest items in an estimate.

    Incomplete Tasks Lists

    Estimation is all about finding something to count; your estimate is only valid to the extent your list of work items is complete. If you’re missing 20% of your tasks, it doesn’t matter how good your estimates for the rest are. You can’t possibly know how many hours you will need for what’s not there.

    This is why our team prefers to make multiple estimates and only feels confident making commitments based on an end-of-foundation phase estimate. Once we’ve gone through a thorough foundation for a given body of work, we feel pretty confident that there are no major items that are completely missing from our list.

    Using the Right Tools

    To help our team estimate projects more effectively, we built a tool to put these ideas into practice. It uses some simple statistical math to create a master estimate out of a collection of work item estimates. These estimates could be generated by a single developer. Or, in a project with multiple people doing different kinds of work, the estimates could come from separate estimators. The tool can merge the estimates of multiple estimators. Just remember that, as with all estimation, the best estimates are created by the people who will actually do the work.

    We believe successful businesses are built on efficient solutions, so how could we not build one for ourselves? We call it our Three-Point Estimator.

    What is the Three-Point Estimator?

    To provide our clients with accurate estimates, we built a custom solution for our projects. It starts with a set of line items representing individual work items; usually, these are user stories, though occasionally they represent necessary technical tasks. Estimators give each item three different estimates. One number represents the “expected” or “most likely” case — if everything goes reasonably well it should take about this long. The other two numbers are a best case (if things go perfectly) and worst case (I can’t imagine it taking me longer than X).

    The algorithm then measures the span of this range. Wider ranges indicate more uncertainty in the estimate, while smaller ranges indicate more confidence. Finally, the algorithm combines the line items estimates into an overall estimate. Just like the individual line items, the overall estimate is a range. Generally, we don’t consider overly optimistic scenarios. We focus on project outcomes that, according to our tool, have a 60-90% chance of occurring. Sharing optimistic scenarios that only have a 1 in 3 chance of coming true, say, doesn’t serve the project well.

    Our final project estimate, therefore, considers not only the sum of the starting task estimate ranges but also factors in the uncertainty surrounding each item. This paints a clearer picture of what the project could require.

    Of course, we are always working toward more concrete numbers. The more work we do on a project, the closer we get to accurate numbers. This is why we often have a project-start estimate but provide a much tighter estimate following our Foundation phase. We’ve learned enough about the work through extensive conversations with the clients and end users to minimize uncertainty in our estimated ranges for hours of work required.

    Building Your Own Estimates

    During your project estimation, I recommend keeping these principles in mind:

    • Your biggest risk is not in mis-estimating an item on your list — it’s in having no estimates at all for items that aren’t on the list, but should be.
    • Good estimates start with lists of at least 20 distinct items.
    • Estimated items shouldn’t vary too widely in size.
    • Budget for non-development activities like meetings, interviews, project management, user acceptance testing, training.

    Then have a group meeting for a frank discussion around uncertainty in the project. Consider big gaps in estimates and what you need to know to reduce them. Then either track down that information or discuss and plan for best and worst case scenarios.

    Good luck with your next project estimate! Let us know if you have any questions in a comment below.

    The post Project Estimation Best Practices: A Look at Our Three-Point Estimator appeared first on Soliant Consulting.


    Voir le billet d'origine

  10. FileMaker, Inc. recently adopted a new core message that encapsulates the strength of their software platform and helps business leaders better understand their focus.

    FileMaker is a Workplace Innovation Platform. Essentially, the platform bridges the gap between appliance applications (like Quickbooks, Microsoft Office, file sharing) and enterprise systems (ERPs, CRMs) in order to free up time to focus on critical and strategic projects by eliminating manual processes, managing spreadsheets, disconnected systems and administrative tasks.

     

    Are you spending too much time on repetitive tasks? Do you feel like your time would be better spent working to grow your business, but you’re too bogged-down with manual processes?

    You are in a work rut. It’s likely that you’re using a mix of limited appliance apps and enterprise systems that have a different focus and are cumbersome to customize. This is where a Workplace Innovation Platform comes in – it’s a customizable tool that allows you to put your ideas and expertise into action.

    FileMaker’s Workplace Innovation Platform provides a way to easily create applications that can be shared across your organization and integrated into your other applications. There’s no other tool that’s as easy to get started with developing that still has the depth to create powerful applications. While the ability for self-service development is one huge advantage to the FileMaker platform, the efficient development toolset also means that working with a development partner amplifies your return on investment.

    Innovation made simple with FileMaker

    Innovation is the driving force behind FileMaker. When it comes to building custom apps, getting an idea out of your head and into the world can be a daunting task. FileMaker focuses on removing the barriers between ideation and actualization. A basic custom app can be produced in minutes – hours instead of weeks – months. Choosing a platform with a low entry barrier and quick delivery time means that you’re able to achieve results with a small, initial investment, while still reaping the rewards of having a customized tool.

    MainSpring’s development process

    AMPProWebGraphic-600x281.png

    MainSpring has rolled out a new way for clients to work with our expert development teams that’s specifically driven by the rhythms of developing in the FileMaker platform. Our AMP Pro program provides our clients with the process and tools to quickly deliver custom applications. We teach you how to define and communicate your ideas so that they can be translated into working custom applications as quickly as possible. Once your applications are deployed, we work with you to provide continued proactive development so that you can adopt a cycle of continuous improvement and innovation. MainSpring also provides cloud hosting, application, and end user support, making FileMaker easy to integrate into your organization.

    Free development consultation

    MainSpring’s expertise in the FileMaker platform extends over 20 years. Our team of skilled consultants and certified developers is paired with processes and tools that we’ve developed to ensure success. If you’re stuck in a work rut, or think that there must be a better way to get your team to achieve their goals—chances are that FileMaker’s Workplace Innovation Platform is the solution that you need.

    Schedule your free consultation today  »


    Afficher la totalité du billet

  11. Nous avons le plaisir de vous présenter 22 petites vidéos explicatives sur les nouveautés de la plateforme !

    1*NwOo-f8_338VUCVh8eBjDg.gif

    FileMaker Pro 17 Advanced (10 vidéos)

    Nouvelle gestion des apps

    Nouvelle gestion des hôtes

    Activer les outils avancés

    Ajout de mini-app

    Multiples pièces jointes dans les courriers

    Table externe sur la table active

    Nouvel espace de travail du mode Modèle

    Copier/coller de menus

    Actions de script amélioré

    Ajout automatique de rubriques à la création de table

    FileMaker Go 17 (5 vidéos)

    Les notifications locales

    Gestion des sondes/capteurs iOS

    Saisie prédictive

    Prise en compte des raccourcis clavier

    Menu contextuel du centre de démarrage

    FileMaker Server 17 (7 vidéos)

    L’installation de FileMaker Server 17

    La nouvelle console d’administration

    L’API Admin

    Les nouveautés de l’API Data

    1ère partie

    2ème partie

    L’outil de migration de données (Data Migration Tool)

    Certificat SSL

    Merci à nos contributeurs : David Julot (Julot David), Eric Cahours (Eric C), Vincent Miano, Julien Rouard, Florian Guilbert et Lucie Guilbert !

    Ces vidéos vous ont plu ? N’hésitez pas à laisser vos commentaires et quelques applaudissements !

    Abonnez-vous à notre chaîne YouTube

    1*z2wMZFwRck40aEHOz2kvPQ.pngstat?event=post.clientViewed&referrerSource=full_rss&postId=7702e48a3dd6


    Découvrez FileMaker 17 en vidéos was originally published in Lesterius FR on Medium, where people are continuing the conversation by highlighting and responding to this story.

     

    Afficher la totalité du billet

     

  12. ModularFilemaker
    Dernier billet

    SimpleBackup is a FileMaker module to create backups or snapshots of local files.

     

    • Easy backups of local files
    • Filenames include a timestamp
    • An additional script allows to include several FileMaker files at once
    • Works in Runtime solutions
    • Create snapshots during development
    • Automate backups at the closing of files

     

     

    SimpleBackup-001-1030x786.jpg

     

     

    Download this file:
    fmstarter.com/en/simplebackup/

     

     


    Afficher la totalité du billet

  13. ipb_blog_OpenData__dataNOVA_codesPostaux.png

    Pour notre première intégration, nous allons nous intéresser aux codes postaux français, en imaginant que nous souhaitons proposer aux utilisateurs de notre solution FileMaker une liste de communes suivant le code postal saisi. Pour cela nous avons besoin de la liste des codes postaux et des communes françaises associées. En effectuant une recherche sur le site data.gouv.fr nous trouvons le jeu de données souhaité et son producteur dataNOVA.

    dataNOVA est la plateforme officielle des données ouvertes du Groupe La Poste, en nous connectant sur le site dédié nous y trouvons la description du jeu de données de la Base officielle des codes postaux dont voici le résumé :

     

    ipb_blog_OpenData__chapitre_importation.png

    Avant de savoir quel format de fichier nous allons utiliser pour l'intégration par importation du jeu de données, nous devons les étudier, cela fait partie de notre analyse avant de pouvoir prendre notre décision quand à la méthodologie à employer pour effectuer une intégration par importation.

     

    Le format CSV

    Commençons par le premier d'entre eux, le format CSV. À première vue notre choix porterait sur ce format car c'est le plus léger, seulement 1,6 Mo. Cette petite taille permettra d'effectuer un téléchargement rapide et sans gréver la bande passante.

    Le lien pour le télécharger est le suivant :

    http://datanova.legroupe.laposte.fr/explore/dataset/laposte_hexasmal/download/?format=csv&timezone=Europe/Berlin&use_labels_for_header=true

    En effectuant une importation dans FileMaker Pro, on s'aperçoit que ce fichier utilise le point-virgule comme séparateur de données et non la virgule comme le souhaiterai FileMaker. Ce qui ne nous permet pas de l'importer directement. Cela va donc nous demander un petit traitement préalable. Le traitement en question consiste à :

    1. Importer le fichier directement dans une rubrique texte ;
    2. Remplacer le point-virgule par la virgule ;
    3. Exporter le contenu de la rubrique dans un fichier texte.

    Le fichier ainsi obtenu pourra être importé de manière classique dans notre solution FileMaker. Ces opérations ne demande aucun plugin ou fonction personnalisée.

    Vous trouverez un exemple de script pour effectuer cette importation dans le fichier d'exemples.

     

    Le format EXCEL

    Le lien pour télécharger le jeu de données au format EXCEL est le suivant :

    http://datanova.legroupe.laposte.fr/explore/dataset/laposte_hexasmal/download/?format=xls&timezone=Europe/Berlin&use_labels_for_header=true

    Le format EXCEL du jeu de données proposé par dataNOVA est au format Feuille de calcul Excel 2004 XML, format non reconnu par FileMaker Pro. Nous avons donc un format EXCEL qui est en fait un format XML. Pour importer ce jeu de données il nous faudra donc créer une feuille de transformation XSL-T. Pour cela je vous suggère de lire ou relire mes billets sur l'importation de données XML.

     

    Le format JSON

    Le lien pour télécharger le jeu de données au format JSON est le suivant :

    http://datanova.legroupe.laposte.fr/explore/dataset/laposte_hexasmal/download/?format=json&timezone=Europe/Berlin

    La récupération du fichier proprement dit n'est pas difficile, nous suivons la procédure suivante :

    1. Importation du fichier directement dans une rubrique texte ; 
    2. Traitement des données JSON.

    Mais le point n°2 est plus compliqué car FileMaker Pro n'intègre pas de parser (traducteur) JSON. Il nous faut soit faire appel à un plugin tel que BaseElements Plugin (gratuit) ou MBS FileMaker Plugin (payant), soit faire appel à des fonctions personnalisées. Tout cela pour générer par une boucle toutes les données issues du fichier JSON.

     

    En conclusion

    Suite à l'analyse des trois formats de fichier proposés par dataNOVA, mon choix porte sur le format CSV, malgré la petite opération de remplacement de caractères, c'est le plus léger des trois (moins de 2 Mo) et le plus simple à mettre en œuvre via une importation classique.

    Vous trouverez dans le fichier d'exemples un script effectuant ce type d'importation.

    Ce type d'importation peut être effectuée régulièrement dans l'année pour maintenir la liste des communes et des codes postaux français à jour. Et aussi simplement qu'un clic de souris (pour une mise à jour à la demande), ou automatiquement par FileMaker Server, une fois par mois par exemple. Pour ce dernier cas, le script présent dans le fichier d'exemples ne fonctionne pas sous FileMaker Server.

     

     

    ipb_blog_OpenData__chapitre_api.png

    La documentation de l'API est disponible à l'adresse suivante, cette documentation intègre une console pour nous permettre d'effectuer des requêtes et tester ainsi les différentes options.

    L'API proposé par dataNOVA permet d'effectuer des interrogations (requêtes) en ligne pour obtenir diverses informations. L'API fonctionne sous la forme d'une adresse URL, elle est donc simple à mettre en œuvre.

    L'adresse URL de base est :

    Le paramètre dataset avec la valeur laposte_hexasmal indique à l'API que nous effectuons une requête dans le jeu de données des codes postaux.

    D'après la documentation de l'API, on peut effectuer nos interrogations en utilisant le paramètre en lui transmettant soit le nom d'une ville, soit le code postal, etc. La valeur transmise peut-être incomplète. Mais si nous souhaitant avoir un résultat plus précis et plus restreint, nous utiliserons d'autres paramètres.

     

    Rechercher le code postal correspondant à une commune

    Pour rechercher le code postal correspondand à une commune, nous utiliserons le paramètre refine.nom_de_la_commune et en lui adressant comme valeur la commune. Attention, nous utilisons ici un paramètre restrictif, il faudra envoyer le nom de la commune en majuscule, sans accent et sans apostrophe. Dans le fichier d'exemples vous trouverez un script qui effectue ces transformation.

    Nous utiliserons donc une requête comme celle-ci :

    Et nous obtenons en retour le résultat au format JSON

    {
    	"nhits":1,
    	"parameters":{
    		"dataset":[
    			"laposte_hexasmal"
    		],
    		"refine":{
    			"nom_de_la_commune":"CHARTRES"
    		},
    		"timezone":"UTC",
    		"rows":10,
    		"format":"json"
    	},
    	"records":[
    		{
    			"datasetid":"laposte_hexasmal",
    			"recordid":"1f0f84c05e42dbfa1b0d4f6780ae4552d9b9a225",
    			"fields":{
    				"nom_de_la_commune":"CHARTRES",
    				"libell_d_acheminement":"CHARTRES",
    				"code_postal":"28000",
    				"code_commune_insee":"28085"
    			},
    			"record_timestamp":"2016-05-09T13:17:00+00:00"
    		}
    	],
    	"facet_groups":[
    		{
    			"name":"nom_de_la_commune",
    			"facets":[
    				{
    					"name":"CHARTRES",
    					"path":"CHARTRES",
    					"count":1,
    					"state":"refined"
    				}
    			]
    		}
    	]
    }

     

    Le but du jeu c'est de récupérer le contenu de la valeur code_postal dont le chemin JSON est records[0].fields.code_postal.

    Le [0] correspond à la première valeur du tableau records.

    Et s'il y a plusieurs codes postaux trouvés (car il y a plusieurs communes homonymes en France) il faut alors effectuer une boucle pour générer notre liste de codes postaux correspondant à la commune recherchée. Vous trouverez dans le fichier d'exemples un script effectuant cette opération. Pour connaître le nombre d'enregistrements trouvés, nous récupérons la valeur de nhits.

    Et comme nous obtenons du JSON, nous utiliserons le plugin BaseElements pour nous permettre d'effectuer toutes ces opérations. Si vous ne l'avez pas, vous trouverez dans ce billet tous les éléments nécessaires pour le télécharger et l'installer

     

    Rechercher la commune correspondante à un code postal

    Pour rechercher la commune correspondante à un code postal, nous utiliserons le paramètre refine.code_postal et en lui adressant comme valeur le code postal. Attention, pour un code postal pouvons obtenir plus de dix communes, l'API se limite par défaut à 10 enregistrements retournés, et comme nous ne souhaitons pas effectuer plusieurs appels, nous augmenterons la limite par défaut en utilisant le paramètre rows et en lui mettant la valeur 50, qui devrait être largement suffisant.

    Nous utiliserons donc une requête comme celle-ci :

    Et nous obtenons en retour le résultat au format JSON

    {
    	"nhits":1,
    	"parameters":{
    		"dataset":[
    			"laposte_hexasmal"
    		],
    		"refine":{
    			"code_postal":"28000"
    		},
    		"timezone":"UTC",
    		"rows":50,
    		"format":"json"
    	},
    	"records":[
    		{
    			"datasetid":"laposte_hexasmal",
    			"recordid":"1f0f84c05e42dbfa1b0d4f6780ae4552d9b9a225",
    			"fields":{
    				"nom_de_la_commune":"CHARTRES",
    				"libell_d_acheminement":"CHARTRES",
    				"code_postal":"28000",
    				"code_commune_insee":"28085"
    			},
    			"record_timestamp":"2016-05-09T13:17:00+00:00"
    		}
    	],
    	"facet_groups":[
    		{
    			"name":"code_postal",
    			"facets":[
    				{
    					"name":"28000",
    					"path":"28000",
    					"count":1,
    					"state":"refined"
    				}
    			]
    		}
    	]
    }

    Comme précédemment, le but du jeu c'est de récupérer le contenu cette fois-ci de la valeur nom_de_la_commune dont le chemin JSON est records[0].fields.nom_de_la_commune.

    Le [0] correspond à la première valeur du tableau records.

    Et s'il y a plusieures communes trouvées (car il y a plusieurs communes ayant le même bureau distributeur en France) il faut alors effectuer une boucle pour générer notre liste de communes correspondantes au code postal recherché. Vous trouverez dans le fichier d'exemples un script effectuant cette opération. Pour connaître le nombre d'enregistrements trouvés, nous récupérons la valeur de nhits.

    Et comme nous obtenons du JSON, nous utiliserons le plugin BaseElements pour nous permettre d'effectuer toutes ces opérations. Si vous ne l'avez pas, vous trouverez dans ce billet tous les éléments nécessaires pour le télécharger et l'installer

     

    ipb_blog_OpenData__chapitre_base.png

    Voici le fichier d'exemples, vous y trouverez trois scripts :

    • Le premier pour la récupération de la liste des codes postaux et des communes via une importation d'un fichier CVS.
    • Le deuxième pour la récupération de la liste des codes postaux suivant une ville saisie via l'API.
    • Le troisième pour la récupération de la liste des communes suivant un code postal saisi via l'API.

    Bonne découverte !

    :excl: Le fichier est optimisé pour FileMaker Pro 14 et plus. Si vous avez une version antérieure vous perdrez uniquement de l'interface graphique… Ce fichier d'exemples ne comporte pas de fonction personnalisée.

    Fichier d'exemples : dataNOVA.zip

  14. fm-infographicp.jpgLa saga FileMaker en une infographie…

    CoreSolutions Software, Inc. via son blog, nous présente toute l'histoire de FileMaker résumée en une infographie. Pour les nostalgiques comme moi cela permet de nous remémorer les dates clefs de notre logiciel préféré…

    • 1987 - Naissance de Claris
    • 1988 - FileMaker II
      • première version à être éditée par Claris Corp.
    • 1990 - FileMaker Pro
    • 1992 - FileMaker Pro 2
      • signe la première version pour Windows
    • 1994 - FileMaker Pro Server
    • 1995 - FileMaker 3
      • architecture relationnelle
      • protocole réseau TCP/IP
    • 1997 - FileMaker 4
      • ouverture aux plugins
    • 1998 - FileMaker Pro 4 Developer Edition
      • dernière édition par Claris Corp.
      • Claris Corp. devient FileMaker, Inc.
    • 1999 - FileMaker Pro 4.1v2
      • première édition par FileMaker, Inc.
    • 1999 - FileMaker Pro 5
    • 2002 - FileMaker 6
      • dernière version à supporter Mac OS 9 et 8
    • 2004 - FileMaker Pro 7
      • multi-tables
      • multi-fenêtres
      • graphe de liens
      • variables dans les formules de calcul
      • nouvelle sécurité
      • nouveau format de fichier
    • 2005 - FileMaker 8
      • génération PDF scriptable
      • variables dans les scripts
      • panneaux à onglet
    • 2007 - FileMaker 9
      • support des sources de données MS SQL Server, MySQL et Oracle
      • formatage conditionnel
    • 2008 - Bento
    • 2009 - FileMaker 10
      • changement d'orientation de la zone d'état (verticale) qui devient barre d'outils (horizontale)
      • déclencheurs de script
    • 2010 - FileMaker Go 1.0
    • 2010 - FileMaker 11
      • outil Graphique
      • lien snapshot
      • tables externes filtrées
      • importations récurrentes
    • 2012 - FileMaker Pro 12 et FileMaker Pro 12 Advanced
      • thèmes
      • fenêtres de type modale et document
      • fonction ExecuterSQL
      • amélioration des rubriques de type conteneur et des graphiques
    • 2013 - FileMaker 13
      • WebDirect et support du HTML 5
      • développement de solution mobile amélioré
      • conception d'interface graphique améliorée
      • action pour exécuter des scripts par le serveur
      • connexion SSL 256 bit
    • 2015 - FileMaker 14
      • espace de travail de script
      • barre de boutons
      • infobulles pour les badges en mode modèle, et Gestion des solutions
    • 2016 - FileMaker 15

    Retrouver l'infographie en haute résolution directement depuis le billet du blog «Core FileMaker Blog» par Steve Malott.

    Et puisque je suis nostalgique, je ne peux résister à l'envie de vous montrer quelques ouvrages qui trainent encore sur mon bureau... Cela rappellera des bons souvenirs à certaines personnes :rolleyes:

    Fichier 09-06-2016 23 19 57.jpeg

  15. fmi_certif15.png

    FileMaker, Inc. vous propose de valider votre expertise FileMaker.

     

    Démontrez vos capacités FileMaker

    Ce diplôme officiel prouve à vos clients, à vos pairs et à votre direction que vous avez acquis les connaissances, l'expérience et les compétences essentielles en matière de développement sur la plateforme FileMaker.

    Que vous soyez consultant indépendant ou développeur interne, la certification FileMaker vous offre bien des avantages :

    • Vous développez vos connaissances et devenez un développeur aux multiples talents.
    • Vous restez informé des toutes dernières technologies FileMaker.
    • Vous vous dotez d'un avantage concurrentiel sur les autres développeurs.
    • Vous investissez dans votre carrière et augmentez votre rentabilité.
    • Vous offrez plus de crédibilité à votre entreprise.
    • Vous pouvez utiliser le logo de la certification FileMaker sur votre site Web et vos cartes de visite.
    • Vous augmentez votre visibilité sur le site Web de FileMaker (partenaires uniquement).

     

    Préparez l'examen

    Une expérience pratique de la plateforme FileMaker peut augmenter vos chances de réussir l'examen. Nous vous recommandons au moins 6 mois d'expérience en développement sur la plateforme FileMaker avant de passer l'examen.

    1. Spécifications techniques
      • Décrivez les spécifications techniques pour la plateforme FileMaker 15.
         
    2. Définition du schéma de base de données
      • Décrivez et appliquez les options de saisie automatique.
      • Identifiez les mécanismes et les comportements des options de validation, et décrivez les résultats possibles lorsqu'une option est déclenchée.
      • Utilisez une option de stockage pour atteindre un résultat souhaité.
      • Définissez le résultat d'un graphe de liens particulier, selon un scénario donné.
      • Définissez le lien approprié pour atteindre un résultat souhaité, selon un scénario donné.
      • Utilisez les sources de données SQL externes pour intégrer les données d'une source de données externe et concevoir correctement un schéma.
         
    3. Conception de modèles
      • Décrivez les conséquences de la liaison d'un modèle à une occurrence de table spécifique.
      • Identifiez la façon dont une table externe peut afficher les données distantes de plusieurs liens et certains des comportements qui peuvent être attribués à une table externe.
      • Décrivez les comportements des objets de modèle/rubrique qui peuvent être modifiés.
      • Décrivez les types et les attributs des déclencheurs de script.
      • Identifiez les conséquences du choix d'un type de déclencheur particulier, selon un scénario donné.
      • Décrivez l'utilisation d'un objet de graphique.
      • Identifiez les conséquences de la sélection ou de l'utilisation de thèmes.
      • Identifiez les propriétés, l'utilisation et les capacités des thèmes, des styles d'objet et des états.
      • Décrivez le format et le comportement des éléments de modèle.
         
    4. Utilisation de calculs
      • Identifiez la syntaxe d'expression, la logique et l'ordre des opérations.
      • Décrivez le comportement et l'utilisation des fonctions de calcul.
      • Décrivez le comportement et l'utilisation des fonctions personnalisées.
         
    5. Rédaction de scripts
      • Identifiez l'utilisation des principales techniques de conception d'algorithmes, selon un scénario donné.
      • Identifiez l'utilisation des principales fonctions de rédaction de scripts de la plateforme FileMaker.
      • Décrivez la façon dont le contexte (et les changements de contexte) peut affecter le comportement des scripts lors de la récupération ou de la mise à jour des données de tables liées ou non liées, et/ou la navigation entre les tables et les fenêtres.
      • Décrivez les éléments à prendre en compte lors de la rédaction de scripts pour un environnement multi-utilisateur.
         
    6. Sécurisation d'apps FileMaker
      • Décrivez les comptes, les jeux de privilèges et les interactions avec l'authentification.
      • Décrivez le contrôle d'accès et la gestion de la sécurité dans les apps FileMaker via les jeux de privilèges.
      • Décrivez l'utilisation du cryptage et de la protection de fichiers externes pour protéger les données FileMaker.
      • Décrivez l'utilisation de la protection de fichiers externes pour protéger les données FileMaker.
         
    7. Déploiement d'apps personnalisées via FileMaker Server
      • Décrivez les principaux éléments de l'installation, du déploiement, de la configuration, de l'administration, de la résolution des problèmes et de la surveillance de FileMaker Server.
      • Décrivez les meilleures pratiques pour la création de sauvegardes efficaces et sécurisées.
      • Décrivez les principaux éléments de la rédaction de scripts coté serveur.
         
    8. Intégration de données
      • Décrivez les formats et les méthodes d'importation de données dans des fichiers FileMaker.
      • Décrivez les formats et les méthodes d'exportation de données dans des fichiers FileMaker.
      • Décrivez les méthodes d'échange de données entre des fichiers FileMaker et d'autres sources de données.
      • Décrivez les principales sources de données dynamiques prises en charge, leur connexion et leur intégration dans une app FileMaker.
         
    9. Publication de données FileMaker sur le Web
      • Décrivez les options de publication Web disponibles pour FileMaker Server, leurs configurations, l'emplacement des composants et les options d'administration.
      • Décrivez la préparation d'une app FileMaker accessible sur le Web.
         
    10. Outils et processus de développement
      • Décrivez un éventail de techniques de développement, des fondamentales au plus avancées.
      • Décrivez les conséquences de l'utilisation de plusieurs fenêtres.
      • Décrivez les options et les processus utilisés dans la récupération de fichiers.
      • Décrivez les conséquences du contrôle de différentes fonctions visibles de l'utilisateur par le développeur.
         
    11. FileMaker Go
      • Décrivez les options de déploiement d'une app dans FileMaker Go.
      • Identifiez les conséquences uniques du développement et du déploiement d'apps personnalisées pour FileMaker Go.
      • Décrivez les fonctions uniques de FileMaker Go.

     

    icon_register_for_exam.png

    Inscrivez-vous à l'examen

    Disponible en anglais et en japonais, l'examen consiste en des questions à choix multiples.

    Les examens de certification sont proposés dans les centres d'évaluation Pearson Vue du monde entier. Lorsque vous vous inscrivez à l'examen, vous pouvez choisir le site qui vous convient le mieux.

    Inscrivez-vous auprès de Pearson VUE

    Pour plus d'informations sur l'examen, consultez les politiques de certifications.

     

    icon_certification_faqs.png

    Questions / réponses sur la certification

    Si vous avez des questions supplémentaires sur le processus de certification, consultez nos questions/réponses sur la certification.

    Consultez les questions / réponses >

     

    icon_test_dev_process.png

    Processus de développement de l'examen

    Les procédures suivies pour créer l'examen destiné aux développeurs FileMaker est conforme aux normes de l'industrie conçues pour fournir le plus haut niveau de fiabilité et de validité d'examen.

    En savoir plus >

     

    Retrouvez toutes les informations sur le site de l'éditeur :
    http://www.filemaker.com/fr/learning/certification/index.html

  16. Previously, I wrote about how to convert your solution away from the Classic theme. In this part, I discuss five FileMaker 14-exclusive changes you might want to make while updating your solution. These interface features will add professionalism, usability, and—dare I say?— “glory” to your solutions.

    Converting From Classic Glory

    Read Part 1

    Now that you’ve decided to update your layouts to a modern theme in FileMaker, there are a few things you might want to do at the same time, that don’t require any major changes to your layouts. Since you’re already touching every layout in your solution, why not take advantage of some of the new features in FileMaker 14? It makes sense to get the most bang for your buck. Here are…drumroll please…Five Things New in FileMaker 14 That Will Improve Your Interfaces (in no particular order):

    1. Hidden Scroll Bars

    Readers of this blog know I like scrollbars! I’ve written about them before, probably because they can be one of the most distinctive elements of a layout, and in FileMaker there is very little about scrollbars that can be styled. So choosing the look of the scrollbars is a major portion of deciding on a new theme. And no other theme’s scrollbar is exactly like the Classic scrollbar style. So finding something to replace it with is a bit of a challenge. Here is the layout after switching from Classic to a custom theme based on Cool:

    Before

    Well, instead of styling the scrollbar, how about hiding it altogether? This new feature is an option on fields and portals, and allows you to only show a scrollbar slider when the user’s cursor is actually scrolling. It’s the same way that scrolling works inside the FileMaker window itself—you only see a scrollbar slider when you activate the scroll wheel or perform a scrolling gesture on the mouse. This is the standard way scrolling is done on the Mac, in fact.

    Limitation: Make sure that users have scrolling capability on their mice, or this feature won’t work.

    2. Button Bar

    The new button bar object is awesome! Buttons are one of the most complex objects to style, with all the different parts and states they can have. The button bar drastically cuts down on the number of objects you need to deal with across potentially many layouts, and can even be conditionally or dynamically populated if you want. (Here’s an article from Digital Fusion describing how to create an abstracted navigation system using the button bar object.)

    Now, rather than managing a row of individual button objects when creating a navigation bar, for instance, you can use a button bar instead. A single object can take the place of five or six separate objects. Be sure to go through all the button bar parts and states and make sure they are set how you want—There are a lot of them and the format painter transfers hardly any styles from a button object to a button bar object. There may be inactive, in focus and hover states inherited from the theme that you probably will want to change to match the previous behaviour, so you’ll have to do some work setting up the first button bar.

    You can also mix a button bar with a regular button. In these examples, the Menu button is its own button, placed beside the button bar.

    Limitation: You can dynamically set a button label, but you can’t conditionally specify an icon. Also, all the buttons in the button bar get the same width, no matter how long or short their label might be. So you have to set the button width to accommodate the longest button label, including some white space on either side. This might mean that short labels (such as the “Print” button below) end up with more space than before. So make sure you are okay with buttons possibly being more spread out, and have the space for them if you switch out individual buttons for the button bar.

    3. Top Navigation Part

    The new top header navigation part keeps the most important objects (like primary navigation) accessible at the top, where users need it most. It helps prevent users from getting lost, and provides them a quick way of getting around with a minimum of window scrolling. Don’t forget to check the style for the top navigation part, it may have a fill or border that you may want to change or remove to match your layout.

    Limitation: Any background colour you set for a top navigation part stretches across the whole layout, even the inactive part (seen when the user stretches the window to the right). However, when objects on it are anchored to the top and left, the body background colour ends at the edge of the active part of the layout. When you pull the body part down with the mouse, a gray (or default layout background-coloured) gap opens up between the top navigation and the body part.

    Top Navigation Gap

    You can mitigate this by anchoring objects in the header to stretch between the left and right edges of the window. Or, create a rectangle the exact size of your top navigation part and send it to the back, and then remove any background fill colour on the top navigation part. This way, your top navigation will appear to end at the edge of the layout when objects are anchored to the top left, just like the body part.

    Neat Edge

    White rectangle is placed at the back of the top navigation part

    One final alternative is to anchor the body objects to the middle. In this case, the white body background fills the screen and no “inactive” colour is seen.

    Centered

    Body objects are anchored to the center of the layout

    4. Placeholder Text

    Who hasn’t wanted to dispense with field labels at times, especially on obvious fields, such as addresses? The user needs a text label to guide them when they’re entering data, but once a record has been filled out, it’s clear where the Street Name, City, Prov/State, and Zip Code should go. You don’t really need to devote layout space to them forever and ever. And yet, creating inline placeholder text has been too much work to maintain in the past, so I often didn’t bother with it, except when really necessary.

    Now, placeholder text is an option on the field itself. You can have field descriptors show up inside an empty field without creating a separate text object. You can even set this text dynamically by calculation if you want.

    Placeholder text

    Placeholder text is also helpful in cases where you want to guide the user to a field, without cluttering the layout with field borders, which can be distracting when there is a lot of data. Placeholder text subtly cues the user to the text entry location, without disrupting the layout once all the data has been entered.

    Limitation: Don’t do away with field labels completely. You’ll still likely need some field labels under certain circumstances, such as multiple phone numbers (e.g. home, office, mobile), or numerical data which needs to be identified to be understood.

    After

    5. Custom Theme Colours

    This is such a useful update to the colour palette! You can now drag a colour to the theme colours grid, located directly below the hex picker colour swatch. FileMaker will store the colour, and automatically create both a lighter and darker shade. This is a super easy way to create a range of hues to represent different button states (e.g. lighter on hover, darker when pressed) with literally the click of a button. You can reorder the colours by dragging the swatches around the colour grid.

    Limitation: You can’t directly remove a colour from the colour grid. You can replace an existing colour by dragging a new colour onto it, or you can drag white onto it to “clear” it (although you’ll get gray as the top colour as a result).

    Custom Theme Palette

    Conclusion

    Using or implementing one or more of these new features will definitely improve your solutions and make them more usable and polished. Whether they’ll make them glorious or not—well, that will be up to you!


    Resources

    New in 14:

    Hidden scroll bar feature
    https://community.filemaker.com/docs/DOC-6266

    Button bar
    https://community.filemaker.com/docs/DOC-6263

    Navigation parts
    https://community.filemaker.com/docs/DOC-6262

    Placeholder text
    https://community.filemaker.com/docs/DOC-6265

    Custom theme colours
    http://help.filemaker.com/app/answers/detail/a_id/14417


    Afficher la totalité du billet

    • 0
      billet
    • 0
      commentaire
    • 616
      vues

    Aucun billet pour le moment

  17. Michel

    • 0
      billet
    • 0
      commentaire
    • 187
      vues

    Aucun billet pour le moment

  18. Michel

    • 0
      billet
    • 0
      commentaire
    • 214
      vues

    Aucun billet pour le moment

×