|Food packaging open courseware for higher education and staff of companies|
|🇪🇺 ERASMUS+ Programme|
INRAE\Olivier Vitrac - December 2020
FITNESS PLATFORM1. CONTEXT & OUR AMBITION|🌱2. OUR GOALS & APPROACH| 📚📖💻🎓3. FITNESS PLATFORM AT A GLANCE | 👁️3.1 Everything in 54'' | ⏱3.2 Welcome screen | 😊3.3 It works with all screens | 📲3.4 An adaptive interface | 🏫🏭🏛️3.5 Hundreds contents for self- or directed- training | 🗓️💯3.6 Find relations on each page | 🧭🕸️4. HOW IT WORKS | ℹ🧙♂️4.1 Workflow automation | ⚙️🐾4.2 Why Markdown? | 📑4.3 Metadata | 🔎🔖5. HOW TO USE IT | 👥5.1 Browsing | 🕵️♀️🕵️♂️5.2 Learning | 👩🎓👨🎓5.3 Teaching and learning | 👩🏫👨🏫6. HOW TO CLONE FITNESS OR TO RUN IT OFFLINE | 📴6.1 Download procedure | ⬇️6.2 Running off-line | 💤6.3 Cloning FITNess | 🤳7. HOW TO REVISE OR ADD CONTENT| 🙋🏻♀️🎗️✏️7.1 License 🔓©🖼7.2 Minor revisions and derivative works | 🛩️7.3 Major updates | ✈️7.4 Main developed tools (server-side) | 🧰8. CONTRIBUTORS | 🧑🤝🧑8.1 Acknowledgments | 🧗🧗♀️8.2 Academic contributors | 🏫8.3 Technical contributors | 👨💻
Because the lifetime of food packaging materials is short (less than 6 months), they represent the majority of ♳ plastic wastes. Their 🏭 production, 🚮 collection and ♻️ recycling is also impacting the 🌱environment. They are, however, essential to the 🧃preservation of food, ⛑️food safety and 🥡 food convenience. We are engaged in a ⏲️transitional period imposed by coercive ⚖️ laws : 🚫Single Use Plastics Directive (EU) 2019/904/EC, ⛔ French anti-waste law... None of the proposed lecture contains the 🔢 solution, but the 🔌🌐🎓 platform FITNess provides the only 💡 sensible answer to this 🚩complex issue.
It is necessary to educate oneself, to complete one's education on these complex issues and to mobilize scattered and interdisciplinary knowledge.
All food packaging and food contact materials are considered ♳♴♵♶♷♸♹🥫🧃🥤🍵🍺☕🍯🍼🥗🍱🍫🥡🍬🍭🍽️🥢🍳🍜 as well as the supply chain ⛓️📦🚚🛒🏬🏭🥦🌾🐟🐄🐖🐔. Production, distribution, design, convenience, environmental impacts, risks, costs, legal constraints are detailed 💰🛢️⚖️🚮♻️🍂🌍⛰️🌊🌈🌥️☠️.
FITNess stands for "Food packaging open courseware for higher education and staff of companies". It is a part of an ERASMUS+ Programme funded by the EU Commission (contract 2017-1-FR01-KA202-037441). The starting point of the project is that the challenges posed by food packaging (waste, food and packaging safety, food waste, food prices) need to be addressed through better education of future and current professionals.
The concept of FITNess version 1️⃣ (this version, https://fitness.agroparistech.fr/) is based on three pillars:
A ✅ validated content (quality, rigor, and openness) covering all essential aspects of food packaging for two levels (novice and advanced);
An 🔓 open-source distribution format, which can be read on any terminal and even as a PowerPoint replacement product for teaching classrooms. All interactive and non-interactive WEB documents are supported and can be run with or without a server.
A 🔍search engine adapted to blended-learning education.
The organization in two levels common | specialized is arbitrary and do not represent necessarily an indication on the level of difficulty. They notify whether recent scientific results are used or not. Common contents do not require any specific technical or scientific background. Specialized content are specific and therefore more advanced. The different sections and units are less connected together. They can be read in arbitrary order based on your interests and needs. Our intent was not to be exhaustive, but to propose sufficient materials to resolve real problems associated to food packaging: design, compliance, risk and impact assessment... Though the content was prepared by experts in the field, the content cannot be considered authoritative and cannot replace the scientific literature or reference text books.
The content is provided "AS IS". We are diligent to improve the quality of the content and of the experience.
👷The video was recorded with an oldest version of the platform FITNess (version 2️⃣01️⃣9). 🎁 Check below the new content and features of FITNess 🎂2️⃣02️⃣0.
FITNess works within your web-browser online or offline: no installation, no password, no tracking.
👍 The platform is organized as an APP, you can reach all the proposed content from one single page. 💡 The platform integrates its own search engine, but you can ask Google what it knows from any topic using the platform FITNess.
Example 1: https://www.google.com/search?q=diffusion&sitesearch=fitness.agroparistech.fr (search the word diffusion)
Example 2: https://www.google.com/search?q=bottle+site%A3fitness.agroparistech.fr&tbm=isch (search the image of a bottle)
Take the benefit of the permissive license of FITNess content.
The interface is intuitive and accessible at the tips of your fingers. Learn whenever 🕗🕓📅 and wherever 🏡🏖️🌴🏢🏫 you want.
👍 We recommend the users to select a terminal, which is adapted to your eyes and fingers.
The interface is intuitive and adapts to the needs and context whether you are a 👩🎓👨🎓 student/learner who is being followed by a 👩🏫👨🏽🏫 teacher/trainer, an 🧍🧍♀️🧍♂️🤰 autodictate, a 👷👨🔧👨🔬👨🍳👨🌾👨💼 professional updating his knowledge, or a teacher needs a software to deliver his course in a 🏫 classroom or a 🏡📡distance learning environment.
👍 We encourage curiosity, do not hesitate to click on related documents and activities.
The content of FITNess is varied and sufficiently developed to offer 2️⃣to 3️⃣📆 months of online training. It is not constructed in a linear sequence and can be followed in an order adapted to each individual's level and needs. The main index 🗃️ provides a reading guide built on the basis of progressive 🎚️ level and complexity.
👍 Though we offer a wealth of presentations and videos, we invite trainees and students to take time to read more detailed documents and to follow step-by-step the proposed case-studies.
⛓️🔗 Relations can appear as as linked 📄 documents and ⛳🎣 activities or as 📖 related lectures. Topics offer a free alternative to 🧭discover new contents and lectures.
👍 In presentation mode, press ? to list ⌨️ shortcuts. Keys ESC or O gives you access to access to the slide sorter. Note the ⏯️ button to launch the slideshow automatically. The horizontal bar enables to jump to any slide (⏮️⏭️). Arrows ↔️️️ ️(content direction) ↕️ (links) appear automatically to adapt to the content.
jsonsearch2de()) reuses a database (1.2 MB) built during conversion stage using semantic analysis and statistical analysis. The 🕵search occurs in real-time (by typing three letters) directly in the webpage. Additional metadata added by the teacher enable to connect all lectures and contents regardless their location in the structure.
Example of the generation of FITNess 2020 (version Dec 21, 2020). The core of FITNess (version 2020) was built from 115 PPTx documents (>300 slides, obeying to ), which were converted and indexed in about 10-15 mins using three main core programs (open-source, located in the directory make/):
update_content_JSON(). Scripts (last one:
addsearch2index) finalize the assembly of all generated files and attach all related documents (videos, animations, Q&A, case-studies, guidelines).
The following features have been explicitly considered:
Server conversion vs. standalone one. Streamline conversion is agile, efficient and independent of commercial software. It enabled trainers/teachers to be focused on the creation of original contents. Full traceability is maintained at each stage by embedding metadata on each page/slide and page (source file, version, list of converted objects, text searchable by Google). The content and the structure can be refreshed as many times as required. The workflow combines prefetch files and fingerprints (hash keys) to determine, which files and branches need to be updated.
Metadata are essential to offer an experience of blended learning: you start where, when and how you wish. Their nature is diverse. Firstly, they provide an automatic and human description of each material. They contain also structural and administrative information, such as the type of license, the name, the revision history and the list of authors of the original document.
Metadata are organized in a very large database (JSON format), which can be read by a browser and added to the content of a web page. This information is used to offer new capabilities: such as extracting all documents related together or containing a specific keyword. The depicted example (below) is showing how the equation of Piringer can be retrieved and visualized from the multiple content of FITNess.
Ninety percent of metadata are extracted automatically from documents (PPTx, PDF...). Specific contents such as abstracts, topics, recommended readings require the contribution of the teacher/professor. A specific interface is proposed to revise the default values of metadata. A robot merge the different versions to smooth conflicts and reach a consistent database.
The main content of FITNess is proposed as a single index corresponding to a suggestion of a full curriculum. Alternatively, a lecture can be found by entering keywords and/or following suggested topics. The content of FITNess is vast and interdisciplinary. The contributors think that the structured and specific approaches of learning are both valuable. As a rule of thumb, starts by the table of content when you need to learn progressively and type in the search area as soon as you are looking for something more specific. Clicking on search by keywords activates a full search on all slides.
Most of the lectures are provided as a slideshow very similar to PowerPoint. The main difference is that the progression (backward and forward) can be done horizontally (as in PowerPoint: main slides) and vertically. Vertical slides are slides generated automatically to offer a table of content and connections with previous and next lectures. Press ? to list all available options. For example, O is used to activate the overview (slide sorter in PowerPoint).
Each presentation includes a presenter mode (P) enabling a display on dual screens or screen+beamer. The presenter mode is showing the notes, the elapsed time, the next slide... The layout can be changed. Pressing Ctrl+P prints the entire document or a specific slide.
The FITNess platform combines computer code (client and server sides, on-line and off-lines), teaching (HTML, Markdown, SVG, PNG) material and activities (Q&A, case-studies, guidelines, videos...). The 🗄️ entire content of FITNess (with sources) is released as 🗜️ ZIP packages with (~3.5 GB, without movies and animations) and without videos (~18 GB, all included). The ⬇️ download page is called
Zip/; it is accessible from the welcome page or with this link: https://fitness.agroparistech.fr/fitness/zip.
Sort the files by date or size by clicking on the corresponding column titles Last modified or Size and pick the version, which fits your need. Bash scripts are made available to show which files have been excluded.
Original PowerPoint files are not provided as it was decided to distribute only 🌐 WEB compliant files. All slides are available as JPG (raster images) and SVG (vectorial images) in the 📂 folders
src_part1/, src_part2/...corresponding to the considered part. The text is available in the original MarkDown files next to the 📄 original files
You do not it any 🖧 webserver to 🛫 launch the FITNess platform content. You just need to ⬇️ download everything (see §6.1), open the 📂 folder
lectures/ and start the application by clicking on the 📄 file
index.html. No installation is needed and it runs on Windows, Linux, Mac with a modern 🗔 Web browser. Eligible browsers must use the render engine WebKit or Chromium such as: Google Chrome, FireFox, Safari, Microsoft Edge based on Chromium... Internet Explorer is not supported.
We use a🏳️🏴 dual technology enabling FITNess to run within a webserver (Apache for us on Ubuntu 18.04 for development and CentOS 8 for production) or without. All URLs are indeed relative and not absolute, asynchronous connections to the server are replaced by a faked server when the system goes offline 💤.
FITNess runs on https://fitness.agroparistech.fr within a VirtualHost directory
conf.d/in Apache. We use a customized version of 🗟 fancy-index to render 🗦nicely🗧 the content of each folder with a uniform 🖽 layout between all 🗐 pages of FITNess.
🆘Send an 📧 e-mail to Olivier Vitrac if you need assistance during duplication.
The 🖼️ content of FITNess is 🆓 and released on permissive licenses (Creative Commons version 4.0: CC). The content of FITNess is publicly © copyrighted (free distribution).
The © rights associated to the content of FITNess depends on the document and on the author. Please, check all the time the license associated to it. In case of doubts ,contact the author or the administrator of the platform.
In absence of license CC BY-NC-SA holds (Attribution, Non-Commercial, Share-alike). For some works, the previous license is replaced by a more restrictive one: CC BY-ND-SA holds (Attribution, Non-Derivative, Share-alike).
Meaning of clauses CC 4.0 | Remember that our work is non-commercial and educational.
BY Credit must be given to the author and the affiliated institution. We add that you have to acknowledge that the content and the tools have been partly funded by the European Commission under the contract 2017-1-FR01-KA202-037441.
NC You copy, distribute, display, and perform the work and make derivative works and remixes based on it only for non-commercial purposes.
SA You may distribute derivative works only under a license identical ("not more restrictive") to the license that governs the original work.
Minor revisions and derivations are easily to perform as the entire platform and content relies on web technologies. All files are TEXT files or IMAGES or VIDEOS and interpreted by your browser, not by the server. All documents can be edited and updated on the platform (nothing is hidden, CTRL+U on any page will show you the code).
HTML 5 documents with complex interactions are not easy to modify. You need a good text editor, such as Visual Studio Code, it is free and available on all systems. For presentations and text works, we recommend an alternative is to modify the native Markdown document, which has been used to generate the corresponding HTML 5. Standard Markdown documents are used for text (usually written with Typora, free while in beta version). A flavored Markdown is used to create animated presentations using the the HTML presentation framework | reveal.js.
Example: To modify the presentation common>S4>U4.3>part1 on "Smart Packaging", replaces in the URL the extension .html by .md:
The content reads easily. Slides are added vertically () or horizontally ().
🆘The file above has been generated automatically with
ppt2reveal_v2, but it can edited and 📧 send back to Olivier Vitrac. The conversion to HTML 5 is performed command line (syntax in Bash, assuming
node.js10.x or later installed, as well as
reveal-md, current version 4.3):
For Typora files, choose File→Export→Html.
⚠️The platform does not accept direct upload to the server. You need an account with valid credentials to change the content on the platform. On your personal duplicate of the platform, you do not suffer similar constraints.
It is not recommended to apply large modifications (insertions, replacements, new structures) using the previous methodology. 🖇️Dependencies and 👣 metadata will not be properly managed. The ⚙️ process to generate automatically the entire platform is quite complex. The ⛓️ workflow used to generate the version of December 21st, 2020 is shown as an illustration. ⏳The final result has the size of 9.8 GB (excluding all prefetch files) and is completed in a couple of minutes on a fast computer (16 cores, SSD). Videos require usually reencoding to be watched embedded within a web page.
The presented nomenclature followed the one used internally.
ℹ️ Similar information is included on the platform as README.html, README.pdf and README.md file.
🎨 The conversion from 🗍 PPTx to 🖺 HTML5 uses an intermediate conversion in 🗐 PDF (and 🖻 PNG files for legacy with the initial behavior). The conversion to PDF is automatic via
libreoffice --headless --convert-to pdf PPTxfile.pptxand the subsequent conversion to PNG via
convert -density 300x300 PPTxfile.pdf Slide%d.pngare acceptable options. However, it is recommended to use the export (saveas) features of Microsoft Office 2019/365 to preserve 100% of the appearance of the slides (ex. transparencies, fonts, etc.). All slides were exported with a 300dpi resolution (see How to change the export resolution of a PowerPoint slide).
🎟 Simple examples to convert a single 🗍 PPTx are shown in the 📂
make/folder. Two files are needed:
- an ODS file, for example: fileid_design_yoghurt.ods | example from the yogurt case-study
- a m-file to run the conversion: fileid_design_yoghurt.m
The typical script is short and fully object-oriented.
💡Read the next section for details. | 🚨 The codes run with several dependencies (to other opensource projects). The main code has been designed in ⚙️Matlab, but it may run in ⚙️Octave with little modifications. | 🥼The code is fully compatible with our simulation framework, developed at INRAE/AgroParisTech/LNE for for the safety of food contact materials.
Several significant tools (server-side) have been developed to automate the conversion of files, the creation of metadata and the generation of the entire website and to maintain 🧷versioning and traceability of all actions. All developments have be made with Linux Ubuntu LTS 18.04 in mind, they may work on other distributions, Windows and MacOS with little modifications.
🖿 The main developed tools (which have been made public) are located in the 📂
🛠️All the tools in this folder are released under the GNU General Public License v3.0. We attract your attention on article 15 and on the absence of Warranty of any kind.
⚖️15. Disclaimer of Warranty
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
⚡Please use these tools with care, they are moving/deleting, writing, modifying files and folders. The use of relative paths instead of absolute paths require a careful definition of server fitness via its
fileid_###.odsfile. The language alias() has bee developed to avoid mistakes. The syntax is close to Bash, but with object methods and capabilities mimicking the features of PowerShell of Microsoft. It is used now in our group to manage simulation scripts in our researches.
|🔧🔨Tools (main)||🗒️ Short description||🔗 Main dependencies|
|fileid_20201123_20201221.ods||🗃️ last full website definition||alias.m|
|fileid_20201123_20201221.m||🗃️ last website script engine||extractTXTfromPPT.m|
|alias.m||🗨 scripting language (full class) to generate the entire website||none|
|update_content_JSON.m||🕵 script to manage and update all metadata (fully automatic)||alias.m|
|mergemetadata.m||👌 script to mitigate existing data and those generated by authors using the online interface||alias.m|
|addsearch2index||🔎 Add the search engine to the main index generated by fileid_20201123_20201221.ods||alias.m|
|pptx2reveal_v2.m||🎨main conversion tool (many examples are provided )||pdf2svg (external)|
|extractTXTfromPPT.m||💬 main tool to extract text, layout from PPTx files|
|🎞️ video conversion for the web||FFmpeg (external)|
🗄️ Metadata plays an essential role, the current database used by the platform is available here:
🌌 If you need tools from our research laboratory, which are not included in n the 📂
make/matlabfolder, please refer to our companion project FMECAengine:
🌄 A large project such as FITNess cannot be successful without the help of its contributors: the testers, the creators of course materials, the teachers and the students. We would like to thank them all warmly. We learn a lot together.**
🛤️The creation of the platform has been a real adventure and a real gamble after some erring with commercial tools that were not able to manage efficiently and faithfully thousands of slides. Commercial tools are efficient on small projects only and they require a lot of human resources and recoding. An update can be done with our framework within a couple of minutes without using a 🖱️.
😷🦠The platform was widely used during the COVID19 pandemic. Don't refrain from using it, it is free and highly available. We have achieved a tripling of the network bandwidth. The server has 48 cores available and will eventually host the calculation tools that are today on the SafeFoodPackaging Portal.
Nine institutions originating from five countries contributed to create contents for FITNess.
FRANCE (ACTIA, LNE, AGROPARISTECH/INRAE, AGROSUPDIJON)
Olivier VITRAC, INRAE - main designer and developer, documentation, server administrator, author - all versions
Steward OUADI, AgroParisTech - client side (current version of the search engine, interface to metadata) - FITNess 2️⃣02️⃣0
Dipesh CHAUDHARI, AgroParisTech - client side (first version of the search engine) - FITNess 2️⃣01️⃣9
$ Revision date: 2021-01-02 | FITNess 2020 $ | Please report to Olivier Vitrac