From 394386742fc0a5d423da71b51970f15dfa173ca2 Mon Sep 17 00:00:00 2001 From: Olivier Maury <Olivier.Maury@inrae.fr> Date: Tue, 19 Sep 2023 17:22:33 +0200 Subject: [PATCH 1/2] =?UTF-8?q?D=C3=A9but=20Bouton=20AgroClim.=20refs=20#2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + .../www/client/i18n/AppConstants.java | 12 ++++ .../www/client/view/LayoutView.java | 68 +++++++++++-------- 3 files changed, 54 insertions(+), 27 deletions(-) diff --git a/.gitignore b/.gitignore index 4880582..37f02e8 100644 --- a/.gitignore +++ b/.gitignore @@ -19,5 +19,6 @@ tokei war/ /www-client/gwt-unitCache/ /www-client/target/ +!/www-server/src/main/webapp/assets/ /www-server/target/ /www-shared/target/ diff --git a/www-client/src/main/java/fr/agrometinfo/www/client/i18n/AppConstants.java b/www-client/src/main/java/fr/agrometinfo/www/client/i18n/AppConstants.java index 99558ea..cb6eb64 100644 --- a/www-client/src/main/java/fr/agrometinfo/www/client/i18n/AppConstants.java +++ b/www-client/src/main/java/fr/agrometinfo/www/client/i18n/AppConstants.java @@ -20,6 +20,12 @@ public interface AppConstants extends com.google.gwt.i18n.client.ConstantsWithLo @DefaultStringValue("By logging in, you agree to AgroMetInfo's terms of use and privacy policy.") String acceptEULA(); + /** + * @return translation + */ + @DefaultStringValue("AgroClim's applications") + String agroclimApps(); + /** * @return translation */ @@ -185,6 +191,12 @@ public interface AppConstants extends com.google.gwt.i18n.client.ConstantsWithLo + "from the <b>selected year</b>.") String normalComparisonTooltip(); + /** + * @return translation + */ + @DefaultStringValue("Other AgroClim's applications") + String otherAgroclimApps(); + /** * @return translation */ diff --git a/www-client/src/main/java/fr/agrometinfo/www/client/view/LayoutView.java b/www-client/src/main/java/fr/agrometinfo/www/client/view/LayoutView.java index ff240ad..0694fae 100644 --- a/www-client/src/main/java/fr/agrometinfo/www/client/view/LayoutView.java +++ b/www-client/src/main/java/fr/agrometinfo/www/client/view/LayoutView.java @@ -3,6 +3,7 @@ package fr.agrometinfo.www.client.view; import static org.jboss.elemento.Elements.a; import static org.jboss.elemento.Elements.div; import static org.jboss.elemento.Elements.i; +import static org.jboss.elemento.Elements.img; import static org.jboss.elemento.Elements.li; import static org.jboss.elemento.Elements.select; @@ -75,6 +76,10 @@ public final class LayoutView extends AbstractBaseView<LayoutPresenter> implemen */ private static final AppMessages MSGS = GWT.create(AppMessages.class); + private static void addMenuItem(final Menu<String> menu, final String name, final String logo, final String url) { + menu.appendChild(a(url, "_blank").textContent(name).add(img(logo))); + } + private static HtmlContentBuilder<HTMLElement> faIcon(final String className, final String color) { // <i class="fas fa-cloud-showers-heavy" style="color:#AAAAAA;"></i> return i().css("fas " + className).style("color:" + color); @@ -142,6 +147,8 @@ public final class LayoutView extends AbstractBaseView<LayoutPresenter> implemen */ private final HtmlContentBuilder<HTMLSelectElement> yearSelect = select(); + private final Menu<String> agroclimApps = Menu.<String>create(); + /** * @param text link text * @param callback {@link EventCallbackFn<MouseEvent>} to be added to the @@ -215,6 +222,12 @@ public final class LayoutView extends AbstractBaseView<LayoutPresenter> implemen initMapView(); } + private void initAgroClimApps() { + agroclimApps.add(li().textContent(CSTS.agroclimApps())); + addMenuItem(agroclimApps, "Carto", "images/logo_carto.png", "https://agroclim.inrae.fr/carto/"); + agroclimApps.add(li().add(a().textContent(CSTS.otherAgroclimApps()))); + } + private void initFooter() { layout.showFooter(); layout.fixFooter(); @@ -265,13 +278,13 @@ public final class LayoutView extends AbstractBaseView<LayoutPresenter> implemen regionOptions.put("93", "Provence-Alpes-Côte d'Azur"); regionOptions.put("94", "Corse"); new HTMLSelectElementBuilder<Entry<String, String>>() // - .setSelect(regionSelect) // - .setPrompt(CSTS.selectPrompt()) // - .setTextFunction(Entry<String, String>::getValue) // - .setValueFunction(Entry<String, String>::getKey) // - .addValueChangeHandler(this::onRegionChange) // - .addOptions(regionOptions.entrySet()) // - .build(); + .setSelect(regionSelect) // + .setPrompt(CSTS.selectPrompt()) // + .setTextFunction(Entry<String, String>::getValue) // + .setValueFunction(Entry<String, String>::getKey) // + .addValueChangeHandler(this::onRegionChange) // + .addOptions(regionOptions.entrySet()) // + .build(); panel.appendChild(regionSelect); // @@ -283,12 +296,12 @@ public final class LayoutView extends AbstractBaseView<LayoutPresenter> implemen yearOptions.put("2003", "2003"); yearOptions.put("2023", "2023"); new HTMLSelectElementBuilder<Entry<String, String>>() // - .setSelect(yearSelect) // - .setPrompt(CSTS.selectPrompt()) // - .setTextFunction(Entry<String, String>::getValue) // - .setValueFunction(Entry<String, String>::getKey) // - .addValueChangeHandler(this::onYearChange) // - .addOptions(yearOptions.entrySet()); + .setSelect(yearSelect) // + .setPrompt(CSTS.selectPrompt()) // + .setTextFunction(Entry<String, String>::getValue) // + .setValueFunction(Entry<String, String>::getKey) // + .addValueChangeHandler(this::onYearChange) // + .addOptions(yearOptions.entrySet()); panel.appendChild(yearSelect); // @@ -302,8 +315,8 @@ public final class LayoutView extends AbstractBaseView<LayoutPresenter> implemen comparisonBtn.addChangeHandler(this::onComparisonChange); comparisonBtn.getOnOffLabelElement().add(infoIcon); Tooltip.create(infoIcon, "") // - .position(PopupPosition.RIGHT) // - .getInnerElement().setInnerHtml(CSTS.normalComparisonTooltip()); + .position(PopupPosition.RIGHT) // + .getInnerElement().setInnerHtml(CSTS.normalComparisonTooltip()); panel.appendChild(comparisonBtn); // @@ -331,18 +344,19 @@ public final class LayoutView extends AbstractBaseView<LayoutPresenter> implemen private void initTopBar() { GWT.log("initTopBar()"); - layout.getTopBar() - .appendChild(DominoElement.of(li().css(Styles.pull_right) - .add(a() - .css(Styles.m_t_10) - .add(Icons.ALL.dots_vertical_mdi() - .clickable() - .setColor(Color.WHITE) - ) - )) - .showOn(ScreenMedia.SMALL_AND_DOWN) - .hideOn(ScreenMedia.MEDIUM_AND_UP) - .setDropMenu(dotMenuItem)); + initAgroClimApps(); + + layout.getTopBar() // + .appendChild(DominoElement.of(li()// + .css(Styles.pull_right)// + .add(a().css(Styles.m_t_10)// + .add(Icons.ALL.apps().clickable()))) + .setDropMenu(agroclimApps)) + .appendChild(DominoElement.of(li()// + .css(Styles.pull_right) + .add(a().css(Styles.m_t_10) + .add(Icons.ALL.dots_vertical_mdi().clickable().setColor(Color.WHITE)))) + .showOn(ScreenMedia.SMALL_AND_DOWN).hideOn(ScreenMedia.MEDIUM_AND_UP).setDropMenu(dotMenuItem)); // https://openlayers.org/en/latest/examples/layer-swipe.html // https://openlayers.org/en/latest/examples/webgl-layer-swipe.html // https://viglino.github.io/ol-ext/examples/control/map.control.swipe.html -- GitLab From d63be5db14fae2e6ea8c86b354af7aacc647750a Mon Sep 17 00:00:00 2001 From: Olivier Maury <Olivier.Maury@inrae.fr> Date: Thu, 21 Sep 2023 16:32:00 +0200 Subject: [PATCH 2/2] Ajouter le bouton des applications AgroClim. fixes #2 --- config/pmd-suppressions.properties | 2 + .../java/fr/agrometinfo/www/client/App.java | 4 +- .../www/client/i18n/AppConstants.java | 18 +- .../www/client/i18n/AppMessages.java | 8 + .../www/client/presenter/LayoutPresenter.java | 9 + .../www/client/presenter/LoginPresenter.java | 3 + .../www/client/ui/AgroclimAppsMenu.java | 58 ++++++ .../www/client/view/LayoutView.java | 191 +++++++++--------- .../www/client/view/LoginView.java | 25 ++- .../client/i18n/AppConstants_fr.properties | 4 + .../www/client/i18n/AppMessages_fr.properties | 1 + .../public}/img/android-chrome-192x192.png | Bin .../public}/img/android-chrome-512x512.png | Bin .../client/public}/img/apple-touch-icon.png | Bin .../www/client/public}/img/browserconfig.xml | 0 .../www/client/public}/img/favicon-16x16.png | Bin .../www/client/public}/img/favicon-32x32.png | Bin .../www/client/public}/img/favicon.ico | Bin .../www/client/public}/img/favicons.md | 0 .../client/public/img/logo_agrometinfo.png | Bin 0 -> 4341 bytes .../client/public}/img/logo_agrometinfo.svg | 0 .../www/client/public/img/logo_carto.png | Bin 0 -> 3875 bytes .../www/client/public/img/logo_climatik.png | Bin 0 -> 10106 bytes .../public}/img/logo_etat-agrometinfo.svg | 0 .../www/client/public/img/logo_getari.png | Bin 0 -> 6547 bytes .../client/public}/img/logo_meteo-france.svg | 0 .../www/client/public/img/logo_siclima.png | Bin 0 -> 9421 bytes .../www/client/public/img/logo_tempo.png | Bin 0 -> 10131 bytes .../www/client/public}/img/mstile-150x150.png | Bin .../client/public}/img/safari-pinned-tab.svg | 0 .../www/client/public}/img/site.webmanifest | 0 .../agrometinfo/www/client/public}/style.css | 30 ++- .../public}/vendors/fa/fa-solid-900.eot | Bin .../public}/vendors/fa/fa-solid-900.svg | 0 .../public}/vendors/fa/fa-solid-900.ttf | Bin .../public}/vendors/fa/fa-solid-900.woff | Bin .../public}/vendors/fa/fa-solid-900.woff2 | Bin .../public}/vendors/ol/ol-layerswitcher.css | 0 .../public}/vendors/ol/ol-layerswitcher.js | 0 .../www/client/public}/vendors/ol/ol.css | 0 .../www/client/public}/vendors/ol/ol.js | 0 .../www/client/public}/vendors/ol/ol.js.map | 0 www-server/src/main/webapp/index.html | 24 +-- 43 files changed, 247 insertions(+), 130 deletions(-) create mode 100644 www-client/src/main/java/fr/agrometinfo/www/client/ui/AgroclimAppsMenu.java rename {www-server/src/main/webapp => www-client/src/main/resources/fr/agrometinfo/www/client/public}/img/android-chrome-192x192.png (100%) rename {www-server/src/main/webapp => www-client/src/main/resources/fr/agrometinfo/www/client/public}/img/android-chrome-512x512.png (100%) rename {www-server/src/main/webapp => www-client/src/main/resources/fr/agrometinfo/www/client/public}/img/apple-touch-icon.png (100%) rename {www-server/src/main/webapp => www-client/src/main/resources/fr/agrometinfo/www/client/public}/img/browserconfig.xml (100%) rename {www-server/src/main/webapp => www-client/src/main/resources/fr/agrometinfo/www/client/public}/img/favicon-16x16.png (100%) rename {www-server/src/main/webapp => www-client/src/main/resources/fr/agrometinfo/www/client/public}/img/favicon-32x32.png (100%) rename {www-server/src/main/webapp => www-client/src/main/resources/fr/agrometinfo/www/client/public}/img/favicon.ico (100%) rename {www-server/src/main/webapp => www-client/src/main/resources/fr/agrometinfo/www/client/public}/img/favicons.md (100%) create mode 100644 www-client/src/main/resources/fr/agrometinfo/www/client/public/img/logo_agrometinfo.png rename {www-server/src/main/webapp => www-client/src/main/resources/fr/agrometinfo/www/client/public}/img/logo_agrometinfo.svg (100%) create mode 100644 www-client/src/main/resources/fr/agrometinfo/www/client/public/img/logo_carto.png create mode 100644 www-client/src/main/resources/fr/agrometinfo/www/client/public/img/logo_climatik.png rename {www-server/src/main/webapp => www-client/src/main/resources/fr/agrometinfo/www/client/public}/img/logo_etat-agrometinfo.svg (100%) create mode 100644 www-client/src/main/resources/fr/agrometinfo/www/client/public/img/logo_getari.png rename {www-server/src/main/webapp => www-client/src/main/resources/fr/agrometinfo/www/client/public}/img/logo_meteo-france.svg (100%) create mode 100644 www-client/src/main/resources/fr/agrometinfo/www/client/public/img/logo_siclima.png create mode 100644 www-client/src/main/resources/fr/agrometinfo/www/client/public/img/logo_tempo.png rename {www-server/src/main/webapp => www-client/src/main/resources/fr/agrometinfo/www/client/public}/img/mstile-150x150.png (100%) rename {www-server/src/main/webapp => www-client/src/main/resources/fr/agrometinfo/www/client/public}/img/safari-pinned-tab.svg (100%) rename {www-server/src/main/webapp => www-client/src/main/resources/fr/agrometinfo/www/client/public}/img/site.webmanifest (100%) rename {www-server/src/main/webapp => www-client/src/main/resources/fr/agrometinfo/www/client/public}/style.css (76%) rename {www-server/src/main/webapp/assets => www-client/src/main/resources/fr/agrometinfo/www/client/public}/vendors/fa/fa-solid-900.eot (100%) rename {www-server/src/main/webapp/assets => www-client/src/main/resources/fr/agrometinfo/www/client/public}/vendors/fa/fa-solid-900.svg (100%) rename {www-server/src/main/webapp/assets => www-client/src/main/resources/fr/agrometinfo/www/client/public}/vendors/fa/fa-solid-900.ttf (100%) rename {www-server/src/main/webapp/assets => www-client/src/main/resources/fr/agrometinfo/www/client/public}/vendors/fa/fa-solid-900.woff (100%) rename {www-server/src/main/webapp/assets => www-client/src/main/resources/fr/agrometinfo/www/client/public}/vendors/fa/fa-solid-900.woff2 (100%) rename {www-server/src/main/webapp/assets => www-client/src/main/resources/fr/agrometinfo/www/client/public}/vendors/ol/ol-layerswitcher.css (100%) rename {www-server/src/main/webapp/assets => www-client/src/main/resources/fr/agrometinfo/www/client/public}/vendors/ol/ol-layerswitcher.js (100%) rename {www-server/src/main/webapp/assets => www-client/src/main/resources/fr/agrometinfo/www/client/public}/vendors/ol/ol.css (100%) rename {www-server/src/main/webapp/assets => www-client/src/main/resources/fr/agrometinfo/www/client/public}/vendors/ol/ol.js (100%) rename {www-server/src/main/webapp/assets => www-client/src/main/resources/fr/agrometinfo/www/client/public}/vendors/ol/ol.js.map (100%) diff --git a/config/pmd-suppressions.properties b/config/pmd-suppressions.properties index 9a6ae43..b0dff33 100644 --- a/config/pmd-suppressions.properties +++ b/config/pmd-suppressions.properties @@ -6,7 +6,9 @@ fr.agrometinfo.www.shared.dto.IndicatorDTOBeanJsonDeserializerImpl=UnnecessaryIm fr.agrometinfo.www.shared.dto.IndicatorDTOBeanJsonSerializerImpl=UnnecessaryImport fr.agrometinfo.www.shared.dto.IndicatorDTO_MapperImpl=UnnecessaryImport fr.agrometinfo.www.shared.service.IndicatorServiceFactory=UnnecessaryImport +org.geojson.FeatureBeanJsonDeserializerImpl=UnnecessaryImport org.geojson.FeatureBeanJsonSerializerImpl=UnnecessaryImport +org.geojson.FeatureCollectionBeanJsonDeserializerImpl=UnnecessaryImport org.geojson.FeatureCollectionBeanJsonSerializerImpl=UnnecessaryImport org.geojson.FeatureCollection_MapperImpl=UnnecessaryImport org.geojson.Feature_MapperImpl=UnnecessaryImport diff --git a/www-client/src/main/java/fr/agrometinfo/www/client/App.java b/www-client/src/main/java/fr/agrometinfo/www/client/App.java index 8ae2629..f86a85a 100644 --- a/www-client/src/main/java/fr/agrometinfo/www/client/App.java +++ b/www-client/src/main/java/fr/agrometinfo/www/client/App.java @@ -5,6 +5,7 @@ import org.pepstock.charba.client.Charba; import com.google.gwt.core.client.EntryPoint; import com.google.gwt.core.client.GWT; +import com.google.gwt.user.client.Cookies; import com.google.gwt.user.client.Window; import fr.agrometinfo.www.client.presenter.LayoutPresenter; @@ -18,7 +19,8 @@ import fr.agrometinfo.www.client.presenter.LoginPresenter; public class App implements EntryPoint { private boolean isLoggedIn() { - return false; + // fake check + return "true".equals(Cookies.getCookie("agrometinfo-logged")); } /** diff --git a/www-client/src/main/java/fr/agrometinfo/www/client/i18n/AppConstants.java b/www-client/src/main/java/fr/agrometinfo/www/client/i18n/AppConstants.java index cb6eb64..a7e4255 100644 --- a/www-client/src/main/java/fr/agrometinfo/www/client/i18n/AppConstants.java +++ b/www-client/src/main/java/fr/agrometinfo/www/client/i18n/AppConstants.java @@ -29,7 +29,8 @@ public interface AppConstants extends com.google.gwt.i18n.client.ConstantsWithLo /** * @return translation */ - @DefaultStringValue("AgroMetInfo provides agroclimatic indicators and winter crop monitoring indicators (soft wheat type crop) and spring crop (corn type crop) updated daily in the form of maps and graphs.") + @DefaultStringValue("AgroMetInfo provides agroclimatic indicators and winter crop monitoring indicators " + + "(soft wheat type crop) and spring crop (corn type crop) updated daily in the form of maps and graphs.") String agrometinfoIntro(); /** @@ -171,6 +172,12 @@ public interface AppConstants extends com.google.gwt.i18n.client.ConstantsWithLo @DefaultStringValue("Login or sign in") String loginOrSignIn(); + /** + * @return translation + */ + @DefaultStringValue("Log out") + String logout(); + /** * @return translation */ @@ -212,7 +219,14 @@ public interface AppConstants extends com.google.gwt.i18n.client.ConstantsWithLo /** * @return translation */ - @DefaultStringValue("You must be identified to access AgroMetInfo due to Meteo-France agreements related to SAFRAN data exchanges with AgroClim.") + @DefaultStringValue("Profile and settings") + String userProfile(); + + /** + * @return translation + */ + @DefaultStringValue("You must be identified to access AgroMetInfo due to Meteo-France agreements related to " + + "SAFRAN data exchanges with AgroClim.") String whyConnectionIsRequired(); /** diff --git a/www-client/src/main/java/fr/agrometinfo/www/client/i18n/AppMessages.java b/www-client/src/main/java/fr/agrometinfo/www/client/i18n/AppMessages.java index e3ee11a..90a3783 100644 --- a/www-client/src/main/java/fr/agrometinfo/www/client/i18n/AppMessages.java +++ b/www-client/src/main/java/fr/agrometinfo/www/client/i18n/AppMessages.java @@ -9,6 +9,14 @@ import com.google.gwt.i18n.client.Messages; */ public interface AppMessages extends Messages { + /** + * @param username user's full name + * @param email user's email + * @return translation + */ + @DefaultMessage("{0}''s account ({1})") + String account(String username, String email); + /** * @param details failure details * @return translation diff --git a/www-client/src/main/java/fr/agrometinfo/www/client/presenter/LayoutPresenter.java b/www-client/src/main/java/fr/agrometinfo/www/client/presenter/LayoutPresenter.java index df4bc2f..beafb19 100644 --- a/www-client/src/main/java/fr/agrometinfo/www/client/presenter/LayoutPresenter.java +++ b/www-client/src/main/java/fr/agrometinfo/www/client/presenter/LayoutPresenter.java @@ -7,6 +7,7 @@ import org.dominokit.domino.ui.notifications.Notification; import org.dominokit.rest.shared.request.FailedResponseBean; import com.google.gwt.core.client.GWT; +import com.google.gwt.user.client.Cookies; import fr.agrometinfo.www.client.view.BaseView; import fr.agrometinfo.www.client.view.LayoutView; @@ -57,6 +58,14 @@ public final class LayoutPresenter implements Presenter { return !Objects.equals(GWT.getModuleBaseURL(), GWT.getModuleBaseForStaticFiles()); } + /** + * Logout the user. + */ + public void logout() { + // fake logout + Cookies.removeCookie("agrometinfo-logged"); + } + /** * @param choice the user's choice */ diff --git a/www-client/src/main/java/fr/agrometinfo/www/client/presenter/LoginPresenter.java b/www-client/src/main/java/fr/agrometinfo/www/client/presenter/LoginPresenter.java index f56906c..2878220 100644 --- a/www-client/src/main/java/fr/agrometinfo/www/client/presenter/LoginPresenter.java +++ b/www-client/src/main/java/fr/agrometinfo/www/client/presenter/LoginPresenter.java @@ -4,6 +4,7 @@ import java.util.Arrays; import java.util.List; import com.google.gwt.core.client.GWT; +import com.google.gwt.user.client.Cookies; import fr.agrometinfo.www.client.view.BaseView; import fr.agrometinfo.www.client.view.LoginView; @@ -46,6 +47,8 @@ public final class LoginPresenter implements Presenter { GWT.log("Item: " + idp); view.close(); // check user + // fake login + Cookies.setCookie("agrometinfo-logged", "true"); // display the app new LayoutPresenter().start(); } diff --git a/www-client/src/main/java/fr/agrometinfo/www/client/ui/AgroclimAppsMenu.java b/www-client/src/main/java/fr/agrometinfo/www/client/ui/AgroclimAppsMenu.java new file mode 100644 index 0000000..f4a7da6 --- /dev/null +++ b/www-client/src/main/java/fr/agrometinfo/www/client/ui/AgroclimAppsMenu.java @@ -0,0 +1,58 @@ +package fr.agrometinfo.www.client.ui; + +import org.dominokit.domino.ui.menu.Menu; +import org.jboss.elemento.Elements; +import org.jboss.elemento.HtmlContentBuilder; + +import com.google.gwt.core.client.GWT; + +import elemental2.dom.HTMLLIElement; +import fr.agrometinfo.www.client.i18n.AppConstants; + +/** + * Drop down menu to show main applications of AgroClim. + * + * @author Olivier Maury + */ +public class AgroclimAppsMenu extends Menu<String> { + /** + * I18N constants. + */ + private static final AppConstants CSTS = GWT.create(AppConstants.class); + + /** + * Constructor. + */ + public AgroclimAppsMenu() { + super(); + super.addCss("agroclim-apps"); + super.setHeaderVisible(true); + super.getMenuHeader().setTextContent(CSTS.agroclimApps()).show(); + addMenuItem("Carto", "app/img/logo_carto.png", "https://agroclim.inrae.fr/carto/"); + addMenuItem("CLIMATIK", "app/img/logo_climatik.png", "https://agroclim.inrae.fr/climatik/"); + addMenuItem("GETARI", "app/img/logo_getari.png", "https://agroclim.inrae.fr/getari/"); + addMenuItem("SICLIMA", "app/img/logo_siclima.png", "https://agroclim.inrae.fr/siclima/"); + addMenuItem("TEMPO", "app/img/logo_tempo.png", "https://tempo.pheno.fr/"); + super.add(Elements.div().css("menu-item").add(Elements.a("https://www6.paca.inrae.fr/agroclim/Les-outils") + .attr("target", "_blank").textContent(CSTS.otherAgroclimApps()))); + } + + /** + * Add an item. + * + * @param text application name + * @param logo application logo (in src/main/resources/..../public/) + * @param url URL of prod + */ + private void addMenuItem(final String text, final String logo, final String url) { + final HtmlContentBuilder<HTMLLIElement> link = Elements.li().css("menu-item simple-menu-item"); + link.add(Elements.a(url).attr("target", "_blank")); + if (logo != null) { + link.add(Elements.img(logo)); + link.add(Elements.div().textContent(text)); + } else { + link.textContent(text); + } + super.getItemsContainer().add(link); + } +} diff --git a/www-client/src/main/java/fr/agrometinfo/www/client/view/LayoutView.java b/www-client/src/main/java/fr/agrometinfo/www/client/view/LayoutView.java index 0694fae..ea46425 100644 --- a/www-client/src/main/java/fr/agrometinfo/www/client/view/LayoutView.java +++ b/www-client/src/main/java/fr/agrometinfo/www/client/view/LayoutView.java @@ -1,9 +1,6 @@ package fr.agrometinfo.www.client.view; import static org.jboss.elemento.Elements.a; -import static org.jboss.elemento.Elements.div; -import static org.jboss.elemento.Elements.i; -import static org.jboss.elemento.Elements.img; import static org.jboss.elemento.Elements.li; import static org.jboss.elemento.Elements.select; @@ -21,13 +18,11 @@ import org.dominokit.domino.ui.icons.Icon; import org.dominokit.domino.ui.icons.Icons; import org.dominokit.domino.ui.icons.MdiIcon; import org.dominokit.domino.ui.layout.Layout; -import org.dominokit.domino.ui.layout.LayoutActionItem; import org.dominokit.domino.ui.menu.Menu; import org.dominokit.domino.ui.menu.MenuItem; import org.dominokit.domino.ui.notifications.Notification; import org.dominokit.domino.ui.popover.PopupPosition; import org.dominokit.domino.ui.popover.Tooltip; -import org.dominokit.domino.ui.style.Color; import org.dominokit.domino.ui.style.Styles; import org.dominokit.domino.ui.utils.DominoElement; import org.dominokit.domino.ui.utils.ScreenMedia; @@ -54,6 +49,7 @@ import fr.agrometinfo.www.client.i18n.AppConstants; import fr.agrometinfo.www.client.i18n.AppMessages; import fr.agrometinfo.www.client.presenter.LayoutPresenter; import fr.agrometinfo.www.client.presenter.MapPresenter; +import fr.agrometinfo.www.client.ui.AgroclimAppsMenu; import fr.agrometinfo.www.client.ui.HTMLSelectElementBuilder; import fr.agrometinfo.www.shared.dto.ChoiceDTO; import fr.agrometinfo.www.shared.dto.IndicatorCategoryDTO; @@ -76,13 +72,28 @@ public final class LayoutView extends AbstractBaseView<LayoutPresenter> implemen */ private static final AppMessages MSGS = GWT.create(AppMessages.class); - private static void addMenuItem(final Menu<String> menu, final String name, final String logo, final String url) { - menu.appendChild(a(url, "_blank").textContent(name).add(img(logo))); + private static void addMenuItem(final Menu<String> menu, final String text, final MdiIcon icon, + final Runnable runnable) { + final MenuItem<String> link = MenuItem.<String>create(text).addSelectionHandler(e -> runnable.run()); + if (icon != null) { + link.addLeftAddOn(FlexItem.of(icon)); + } + menu.add(link); + } + + private static void addMenuItem(final Menu<String> menu, final String text, final MdiIcon icon, final String url) { + final Runnable runnable; + if (url.startsWith("http")) { + runnable = () -> DomGlobal.window.open(url, "_blank"); + } else { + runnable = () -> DomGlobal.location.assign(url); + } + addMenuItem(menu, text, icon, runnable); } private static HtmlContentBuilder<HTMLElement> faIcon(final String className, final String color) { // <i class="fas fa-cloud-showers-heavy" style="color:#AAAAAA;"></i> - return i().css("fas " + className).style("color:" + color); + return Elements.i().css("fas " + className).style("color:" + color); } private static String getDetails(final FailedResponseBean failure) { @@ -100,7 +111,7 @@ public final class LayoutView extends AbstractBaseView<LayoutPresenter> implemen /** * Container for the categories. */ - private final HtmlContentBuilder<HTMLDivElement> categoriesElem = div().css("indicator-categories"); + private final HtmlContentBuilder<HTMLDivElement> categoriesElem = Elements.div().css("indicator-categories"); /** * Choice from the user. @@ -115,7 +126,7 @@ public final class LayoutView extends AbstractBaseView<LayoutPresenter> implemen /** * Menu displayed on small screen with vertical "...". */ - private final Menu<String> dotMenuItem = Menu.<String>create().setUseSmallScreensDirection(false); + private final Menu<String> dotDropMenu = Menu.<String>create().setUseSmallScreensDirection(false); /** * Button to export data. @@ -141,18 +152,19 @@ public final class LayoutView extends AbstractBaseView<LayoutPresenter> implemen * Summary of available indicators. */ private final Text summary = TextNode.empty(); - /** * Selector for year. */ private final HtmlContentBuilder<HTMLSelectElement> yearSelect = select(); - - private final Menu<String> agroclimApps = Menu.<String>create(); + /** + * Drop down menu for user actions. + */ + private final Menu<String> userDropMenu = Menu.<String>create(); /** - * @param text link text - * @param callback {@link EventCallbackFn<MouseEvent>} to be added to the - * click event of the component clickable element + * @param text link text + * @param callback {@link EventCallbackFn<MouseEvent>} to be added to the click + * event of the component clickable element * @return created link */ private HtmlContentBuilder<HTMLAnchorElement> appendFooterMenuItem(final String text, @@ -162,40 +174,6 @@ public final class LayoutView extends AbstractBaseView<LayoutPresenter> implemen return link; } - /** - * @param text link text - * @param icon icon for dot menu - * @param runnable action to launch on click - * @return created link - */ - private MenuItem<String> appendTopMenuItem(final String text, final MdiIcon icon, final Runnable runnable) { - layout.getTopBar().appendChild(// - LayoutActionItem.create(div().textContent(text)) // - .showOn(ScreenMedia.MEDIUM_AND_UP) // - .hideOn(ScreenMedia.SMALL_AND_DOWN) // - .addClickListener(e -> runnable.run())); - final MenuItem<String> link = MenuItem.<String>create(text).addLeftAddOn(FlexItem.of(icon)) - .addSelectionHandler(e -> runnable.run()); - dotMenuItem.appendChild(link); - return link; - } - - /** - * @param text link text - * @param icon icon for dot menu - * @param url link url - * @return created link - */ - private MenuItem<String> appendTopMenuItem(final String text, final MdiIcon icon, final String url) { - final Runnable runnable; - if (url.startsWith("http")) { - runnable = () -> DomGlobal.window.open(url, "_blank"); - } else { - runnable = () -> DomGlobal.location.assign(url); - } - return appendTopMenuItem(text, icon, runnable); - } - @Override public void failureNotification(final FailedResponseBean failedResponse) { this.notification(MSGS.failureRetrieveIndicatorCategories(getDetails(failedResponse))); @@ -209,9 +187,9 @@ public final class LayoutView extends AbstractBaseView<LayoutPresenter> implemen GWT.log("initLayout()"); DomGlobal.console.info("initLayout()"); layout = Layout.create("AgroMetInfo").show(); - final EmptyContentBuilder<HTMLImageElement> logoElem = Elements.img("img/logo_etat-agrometinfo.svg"); + final EmptyContentBuilder<HTMLImageElement> logoElem = Elements.img("app/img/logo_etat-agrometinfo.svg"); layout.setLogo(logoElem); - contentElement = div().element(); + contentElement = Elements.div().element(); contentElement.textContent = CSTS.applicationLoading(); layout.getContentPanel().id(MapView.MAP_CONTAINER_ID); layout.getContentPanel().appendChild(contentElement); @@ -222,12 +200,6 @@ public final class LayoutView extends AbstractBaseView<LayoutPresenter> implemen initMapView(); } - private void initAgroClimApps() { - agroclimApps.add(li().textContent(CSTS.agroclimApps())); - addMenuItem(agroclimApps, "Carto", "images/logo_carto.png", "https://agroclim.inrae.fr/carto/"); - agroclimApps.add(li().add(a().textContent(CSTS.otherAgroclimApps()))); - } - private void initFooter() { layout.showFooter(); layout.fixFooter(); @@ -278,13 +250,13 @@ public final class LayoutView extends AbstractBaseView<LayoutPresenter> implemen regionOptions.put("93", "Provence-Alpes-Côte d'Azur"); regionOptions.put("94", "Corse"); new HTMLSelectElementBuilder<Entry<String, String>>() // - .setSelect(regionSelect) // - .setPrompt(CSTS.selectPrompt()) // - .setTextFunction(Entry<String, String>::getValue) // - .setValueFunction(Entry<String, String>::getKey) // - .addValueChangeHandler(this::onRegionChange) // - .addOptions(regionOptions.entrySet()) // - .build(); + .setSelect(regionSelect) // + .setPrompt(CSTS.selectPrompt()) // + .setTextFunction(Entry<String, String>::getValue) // + .setValueFunction(Entry<String, String>::getKey) // + .addValueChangeHandler(this::onRegionChange) // + .addOptions(regionOptions.entrySet()) // + .build(); panel.appendChild(regionSelect); // @@ -296,12 +268,12 @@ public final class LayoutView extends AbstractBaseView<LayoutPresenter> implemen yearOptions.put("2003", "2003"); yearOptions.put("2023", "2023"); new HTMLSelectElementBuilder<Entry<String, String>>() // - .setSelect(yearSelect) // - .setPrompt(CSTS.selectPrompt()) // - .setTextFunction(Entry<String, String>::getValue) // - .setValueFunction(Entry<String, String>::getKey) // - .addValueChangeHandler(this::onYearChange) // - .addOptions(yearOptions.entrySet()); + .setSelect(yearSelect) // + .setPrompt(CSTS.selectPrompt()) // + .setTextFunction(Entry<String, String>::getValue) // + .setValueFunction(Entry<String, String>::getKey) // + .addValueChangeHandler(this::onYearChange) // + .addOptions(yearOptions.entrySet()); panel.appendChild(yearSelect); // @@ -315,8 +287,8 @@ public final class LayoutView extends AbstractBaseView<LayoutPresenter> implemen comparisonBtn.addChangeHandler(this::onComparisonChange); comparisonBtn.getOnOffLabelElement().add(infoIcon); Tooltip.create(infoIcon, "") // - .position(PopupPosition.RIGHT) // - .getInnerElement().setInnerHtml(CSTS.normalComparisonTooltip()); + .position(PopupPosition.RIGHT) // + .getInnerElement().setInnerHtml(CSTS.normalComparisonTooltip()); panel.appendChild(comparisonBtn); // @@ -344,23 +316,40 @@ public final class LayoutView extends AbstractBaseView<LayoutPresenter> implemen private void initTopBar() { GWT.log("initTopBar()"); - initAgroClimApps(); + initUserDropMenu(); layout.getTopBar() // - .appendChild(DominoElement.of(li()// - .css(Styles.pull_right)// - .add(a().css(Styles.m_t_10)// - .add(Icons.ALL.apps().clickable()))) - .setDropMenu(agroclimApps)) - .appendChild(DominoElement.of(li()// + .css("agrometinfo") // + .appendChild(DominoElement.of(li() // + .css(Styles.pull_right) // + .add(a() // + .title(MSGS.account("TOTO", "TODO")) // + .add(Icons.SOCIAL_ICONS.person().clickable()))) // + .showOn(ScreenMedia.MEDIUM_AND_UP) // + .hideOn(ScreenMedia.SMALL_AND_DOWN) // + .setDropMenu(userDropMenu)) // + .appendChild(DominoElement.of(li() // + .css(Styles.pull_right) // + .add(a()// + .title(CSTS.agroclimApps()) // + .add(Icons.ALL.apps().clickable()))) // + .showOn(ScreenMedia.MEDIUM_AND_UP) // + .hideOn(ScreenMedia.SMALL_AND_DOWN) // + .setDropMenu(new AgroclimAppsMenu())) // + .appendChild(DominoElement.of(li() // .css(Styles.pull_right) - .add(a().css(Styles.m_t_10) - .add(Icons.ALL.dots_vertical_mdi().clickable().setColor(Color.WHITE)))) - .showOn(ScreenMedia.SMALL_AND_DOWN).hideOn(ScreenMedia.MEDIUM_AND_UP).setDropMenu(dotMenuItem)); - // https://openlayers.org/en/latest/examples/layer-swipe.html - // https://openlayers.org/en/latest/examples/webgl-layer-swipe.html - // https://viglino.github.io/ol-ext/examples/control/map.control.swipe.html - appendTopMenuItem(CSTS.comparisonMap(), Icons.ALL.map_mdi(), () -> this.notification("Not yet implemented")); + .add(a() // + .add(Icons.ALL.dots_vertical_mdi().clickable()))) + .showOn(ScreenMedia.SMALL_AND_DOWN) // + .hideOn(ScreenMedia.MEDIUM_AND_UP) // + .setDropMenu(dotDropMenu)); + } + + private void initUserDropMenu() { + addMenuItem(userDropMenu, CSTS.userProfile(), Icons.ALL.settings_mdi(), () -> GWT.log("not implemented")); + addMenuItem(userDropMenu, CSTS.logout(), Icons.ALL.exit_to_app_mdi(), () -> getPresenter().logout()); + addMenuItem(dotDropMenu, CSTS.userProfile(), Icons.ALL.settings_mdi(), () -> GWT.log("not implemented")); + addMenuItem(dotDropMenu, CSTS.logout(), Icons.ALL.exit_to_app_mdi(), () -> getPresenter().logout()); } private Notification notification(final String msg) { @@ -406,27 +395,29 @@ public final class LayoutView extends AbstractBaseView<LayoutPresenter> implemen } /** - * To display an OpenLayers map, a container with a fixed height CSS - * property is needed. + * To display an OpenLayers map, a container with a fixed height CSS property is + * needed. */ private void setContentPanelHeight() { - final int height = Window.getClientHeight() - - 20 - - layout.getFooter().element().clientHeight - - layout.getTopBar().element().clientHeight; + final int navBarHeight = layout.getNavigationBar().element().clientHeight; + final int footerHeight = layout.getFooter().element().clientHeight; + final int height = Window.getClientHeight() - footerHeight - navBarHeight; layout.getContentPanel().setHeight(height + "px"); + layout.getContentSection().setMarginTop(navBarHeight + "px"); } @Override public void setDevMode(final boolean isDevMode) { if (isDevMode) { - appendTopMenuItem("Démo rapport", Icons.ALL.email_box_mdi(), "https://www.agrometinfo.fr/demo_rapport/"); - appendTopMenuItem("Compile", Icons.ALL.code_parentheses_box_mdi(), - "javascript:%7B%20window.__gwt_bookmarklet_params%20%3D%20%7Bserver_url%3A'" - + "http%3A%2F%2F127.0.0.1%3A9876%2F'%2Cmodule_name%3A'app'%7D%3B%20var%20s%20%3D%20" - + "document.createElement('script')%3B%20s.src%20%3D%20'http%3A%2F%2F127.0.0.1%3A9876%2F" - + "dev_mode_on.js'%3B%20void(document.getElementsByTagName('head')%5B0%5D." - + "appendChild(s))%3B%7D"); + addMenuItem(userDropMenu, "Démo rapport", Icons.ALL.email_box_mdi(), + "https://www.agrometinfo.fr/demo_rapport/"); + final String compileUrl = "javascript:%7B%20window.__gwt_bookmarklet_params%20%3D%20%7Bserver_url%3A'" + + "http%3A%2F%2F127.0.0.1%3A9876%2F'%2Cmodule_name%3A'app'%7D%3B%20var%20s%20%3D%20" + + "document.createElement('script')%3B%20s.src%20%3D%20'http%3A%2F%2F127.0.0.1%3A9876%2F" + + "dev_mode_on.js'%3B%20void(document.getElementsByTagName('head')%5B0%5D." + + "appendChild(s))%3B%7D"; + addMenuItem(userDropMenu, "Compile", Icons.ALL.code_parentheses_box_mdi(), compileUrl); + addMenuItem(dotDropMenu, "Compile", Icons.ALL.code_parentheses_box_mdi(), compileUrl); } } diff --git a/www-client/src/main/java/fr/agrometinfo/www/client/view/LoginView.java b/www-client/src/main/java/fr/agrometinfo/www/client/view/LoginView.java index 4d27021..31e0b9d 100644 --- a/www-client/src/main/java/fr/agrometinfo/www/client/view/LoginView.java +++ b/www-client/src/main/java/fr/agrometinfo/www/client/view/LoginView.java @@ -2,12 +2,9 @@ package fr.agrometinfo.www.client.view; import static org.jboss.elemento.Elements.a; import static org.jboss.elemento.Elements.div; -import static org.jboss.elemento.Elements.h; -import static org.jboss.elemento.Elements.img; import static org.jboss.elemento.Elements.p; import static org.jboss.elemento.Elements.span; -import java.util.ArrayList; import java.util.List; import java.util.Map.Entry; @@ -19,6 +16,7 @@ import org.dominokit.domino.ui.modals.ModalDialog; import org.dominokit.domino.ui.style.Styles; import org.dominokit.domino.ui.utils.TextNode; import org.gwtproject.i18n.shared.cldr.LocaleInfo; +import org.jboss.elemento.Elements; import com.google.gwt.core.client.GWT; @@ -36,6 +34,16 @@ import fr.agrometinfo.www.shared.dto.IdentityProviderDTO; */ public final class LoginView extends AbstractBaseView<LoginPresenter> implements LoginPresenter.View { + /** + * Size for {@link Elements#h(int)}. + */ + private static final int H3 = 3; + + /** + * Size for {@link Elements#h(int)}. + */ + private static final int H1 = 1; + /** * I18N constants. */ @@ -44,7 +52,7 @@ public final class LoginView extends AbstractBaseView<LoginPresenter> implements /** * Logo for AgroMetInfo. */ - private static final String LOGO_AGROMETINFO = "img/logo_etat-agrometinfo.svg"; + private static final String LOGO_AGROMETINFO = "app/img/logo_etat-agrometinfo.svg"; /** * The modal used to display the login form. @@ -66,14 +74,13 @@ public final class LoginView extends AbstractBaseView<LoginPresenter> implements item.setSelectable(true) .appendChild( div().css("idp") - .add(img(item.getValue().getLogoUrl())) + .add(Elements.img(item.getValue().getLogoUrl())) .add(span().textContent(item.getValue().getName())) ) .onSelectionChange((i, selected) -> getPresenter().login(i.getValue())); }); final String currentLocaleName = LocaleInfo.getCurrentLocale().getLocaleName(); - new ArrayList<>(); Entry<String, String> currentLocale = null; for (final Entry<String, String> entry : ApplicationUtils.getAvailableLocales().entrySet()) { final String tag = entry.getKey(); @@ -103,12 +110,12 @@ public final class LoginView extends AbstractBaseView<LoginPresenter> implements .appendChild( Column.span6() .condense() - .appendChild(img(LOGO_AGROMETINFO).css(Styles.img_responsive))) + .appendChild(Elements.img(LOGO_AGROMETINFO).css(Styles.img_responsive))) .appendChild( Column.span6() .condense() - .appendChild(h(1).textContent(CSTS.login())) - .appendChild(h(3).textContent(CSTS.loginOrSignIn())) + .appendChild(Elements.h(H1).textContent(CSTS.login())) + .appendChild(Elements.h(H3).textContent(CSTS.loginOrSignIn())) .appendChild(selectListGroup))) // .appendChild(TextNode.of(CSTS.acceptEULA() + " ")) // .appendChild(a(".").textContent(CSTS.seePrivacyPolicy())) // diff --git a/www-client/src/main/resources/fr/agrometinfo/www/client/i18n/AppConstants_fr.properties b/www-client/src/main/resources/fr/agrometinfo/www/client/i18n/AppConstants_fr.properties index 78b98d1..f53f276 100644 --- a/www-client/src/main/resources/fr/agrometinfo/www/client/i18n/AppConstants_fr.properties +++ b/www-client/src/main/resources/fr/agrometinfo/www/client/i18n/AppConstants_fr.properties @@ -2,6 +2,7 @@ about = À propos acceptEULA = En vous connectant, vous acceptez les conditions d’utilisation et la politique de confidentialité de AgroMetInfo. agrometinfoIntro = AgroMetInfo met à disposition des indicateurs agroclimatiques et des indicateurs de suivi de culture d'hiver (culture type blé tendre) et de printemps (culture type maïs) actualisés quotidiennement sous forme de cartes et de graphiques. +agroclimApps = Les applications d’AgroClim applicationLoading = Chargement de l’application… cancel= Annuler chooseIndicator= Choisir un indicateur @@ -25,10 +26,13 @@ failureStatusText = Texte d’état HTTP : indicatorCategories= Catégories d’indicateurs login = Se connecter loginOrSignIn = ou s’inscrire avec +logout = Se déconnecter no= Non normalComparison= Comparaison à la normale normalComparisonTooltip= <b>La comparaison à la normale</b> <em>se calcule en soustrayant <b>la moyenne de l’indicateur choisi</b> pour les trente dernières années (1990-2020) de <b>l’année sélectionnée</b> +otherAgroclimApps = Autres applications d’AgroClim seePrivacyPolicy = Consultez le paragraphe « Données personnelles » dans les mentions légales. selectPrompt = -- sélectionner -- +userProfile = Compte et paramètres whyConnectionIsRequired = Vous devez vous identifier pour accéder à AgroMetInfo en raison des accords avec Météo-France relatifs aux échanges de données SAFRAN avec AgroClim. yes= Oui diff --git a/www-client/src/main/resources/fr/agrometinfo/www/client/i18n/AppMessages_fr.properties b/www-client/src/main/resources/fr/agrometinfo/www/client/i18n/AppMessages_fr.properties index 969ca4e..b92a648 100644 --- a/www-client/src/main/resources/fr/agrometinfo/www/client/i18n/AppMessages_fr.properties +++ b/www-client/src/main/resources/fr/agrometinfo/www/client/i18n/AppMessages_fr.properties @@ -1,4 +1,5 @@ # Ce fichier est encodé en UTF-8. +account = Compte de {0} ({1}) failureStatusCode = Code d’état HTTP : {0} nbOfIndicatorCategories[\=0] = Aucune catégorie d’indicateurs. nbOfIndicatorCategories[\=1] = Une catégorie d’indicateurs. diff --git a/www-server/src/main/webapp/img/android-chrome-192x192.png b/www-client/src/main/resources/fr/agrometinfo/www/client/public/img/android-chrome-192x192.png similarity index 100% rename from www-server/src/main/webapp/img/android-chrome-192x192.png rename to www-client/src/main/resources/fr/agrometinfo/www/client/public/img/android-chrome-192x192.png diff --git a/www-server/src/main/webapp/img/android-chrome-512x512.png b/www-client/src/main/resources/fr/agrometinfo/www/client/public/img/android-chrome-512x512.png similarity index 100% rename from www-server/src/main/webapp/img/android-chrome-512x512.png rename to www-client/src/main/resources/fr/agrometinfo/www/client/public/img/android-chrome-512x512.png diff --git a/www-server/src/main/webapp/img/apple-touch-icon.png b/www-client/src/main/resources/fr/agrometinfo/www/client/public/img/apple-touch-icon.png similarity index 100% rename from www-server/src/main/webapp/img/apple-touch-icon.png rename to www-client/src/main/resources/fr/agrometinfo/www/client/public/img/apple-touch-icon.png diff --git a/www-server/src/main/webapp/img/browserconfig.xml b/www-client/src/main/resources/fr/agrometinfo/www/client/public/img/browserconfig.xml similarity index 100% rename from www-server/src/main/webapp/img/browserconfig.xml rename to www-client/src/main/resources/fr/agrometinfo/www/client/public/img/browserconfig.xml diff --git a/www-server/src/main/webapp/img/favicon-16x16.png b/www-client/src/main/resources/fr/agrometinfo/www/client/public/img/favicon-16x16.png similarity index 100% rename from www-server/src/main/webapp/img/favicon-16x16.png rename to www-client/src/main/resources/fr/agrometinfo/www/client/public/img/favicon-16x16.png diff --git a/www-server/src/main/webapp/img/favicon-32x32.png b/www-client/src/main/resources/fr/agrometinfo/www/client/public/img/favicon-32x32.png similarity index 100% rename from www-server/src/main/webapp/img/favicon-32x32.png rename to www-client/src/main/resources/fr/agrometinfo/www/client/public/img/favicon-32x32.png diff --git a/www-server/src/main/webapp/img/favicon.ico b/www-client/src/main/resources/fr/agrometinfo/www/client/public/img/favicon.ico similarity index 100% rename from www-server/src/main/webapp/img/favicon.ico rename to www-client/src/main/resources/fr/agrometinfo/www/client/public/img/favicon.ico diff --git a/www-server/src/main/webapp/img/favicons.md b/www-client/src/main/resources/fr/agrometinfo/www/client/public/img/favicons.md similarity index 100% rename from www-server/src/main/webapp/img/favicons.md rename to www-client/src/main/resources/fr/agrometinfo/www/client/public/img/favicons.md diff --git a/www-client/src/main/resources/fr/agrometinfo/www/client/public/img/logo_agrometinfo.png b/www-client/src/main/resources/fr/agrometinfo/www/client/public/img/logo_agrometinfo.png new file mode 100644 index 0000000000000000000000000000000000000000..1098a46bdb9bca69fdf43fa43cd376c5094b0b76 GIT binary patch literal 4341 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�PBLT^7^ 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 aAQmR~y*~vVJo?|WWoPYZm4D`T%>Mzs1kfn} literal 0 HcmV?d00001 diff --git a/www-server/src/main/webapp/img/logo_agrometinfo.svg b/www-client/src/main/resources/fr/agrometinfo/www/client/public/img/logo_agrometinfo.svg similarity index 100% rename from www-server/src/main/webapp/img/logo_agrometinfo.svg rename to www-client/src/main/resources/fr/agrometinfo/www/client/public/img/logo_agrometinfo.svg diff --git a/www-client/src/main/resources/fr/agrometinfo/www/client/public/img/logo_carto.png b/www-client/src/main/resources/fr/agrometinfo/www/client/public/img/logo_carto.png new file mode 100644 index 0000000000000000000000000000000000000000..e2b61a871e88e9a51bd34d7501736aaabcd420f8 GIT binary patch literal 3875 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 literal 0 HcmV?d00001 diff --git a/www-client/src/main/resources/fr/agrometinfo/www/client/public/img/logo_climatik.png b/www-client/src/main/resources/fr/agrometinfo/www/client/public/img/logo_climatik.png new file mode 100644 index 0000000000000000000000000000000000000000..b0cead5094f166a6b5d0c92890dbb8353dd66a0b GIT binary patch literal 10106 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 VCQJv92|FhTP?Y^7QzvB}`ag8kbFKgY literal 0 HcmV?d00001 diff --git a/www-server/src/main/webapp/img/logo_etat-agrometinfo.svg b/www-client/src/main/resources/fr/agrometinfo/www/client/public/img/logo_etat-agrometinfo.svg similarity index 100% rename from www-server/src/main/webapp/img/logo_etat-agrometinfo.svg rename to www-client/src/main/resources/fr/agrometinfo/www/client/public/img/logo_etat-agrometinfo.svg diff --git a/www-client/src/main/resources/fr/agrometinfo/www/client/public/img/logo_getari.png b/www-client/src/main/resources/fr/agrometinfo/www/client/public/img/logo_getari.png new file mode 100644 index 0000000000000000000000000000000000000000..920dd61e14fb11712581cce56d573615b2cb254b GIT binary patch literal 6547 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 H{rZ0Zo)BBp literal 0 HcmV?d00001 diff --git a/www-server/src/main/webapp/img/logo_meteo-france.svg b/www-client/src/main/resources/fr/agrometinfo/www/client/public/img/logo_meteo-france.svg similarity index 100% rename from www-server/src/main/webapp/img/logo_meteo-france.svg rename to www-client/src/main/resources/fr/agrometinfo/www/client/public/img/logo_meteo-france.svg diff --git a/www-client/src/main/resources/fr/agrometinfo/www/client/public/img/logo_siclima.png b/www-client/src/main/resources/fr/agrometinfo/www/client/public/img/logo_siclima.png new file mode 100644 index 0000000000000000000000000000000000000000..73d2859886fb1514647ef2d41be5a7ac9d29de55 GIT binary patch literal 9421 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 KRJEkp$NvNWXY||v literal 0 HcmV?d00001 diff --git a/www-client/src/main/resources/fr/agrometinfo/www/client/public/img/logo_tempo.png b/www-client/src/main/resources/fr/agrometinfo/www/client/public/img/logo_tempo.png new file mode 100644 index 0000000000000000000000000000000000000000..90adf2ac350266366781b5a6a2f9a8af30269a52 GIT binary patch literal 10131 zcmW++1yI$`6aT*VfcNMUq)X{8m41}c-5t^m()9=>q`ON(l$7oVND5L4(%sz+e}4bD z*}IvWx!K*@z1h$1ZG?)_J8TRx3;+PIWo4w)o>s(v1Vek8yG2cZJuPTv^6#X8$NxrN zTS?;64!X09t{VVgJp4zX4SFxjr%mVwSw(5+8k7hF8(Ym0w-Nwo09h$<4X>GfLr*V_ zo|}LU0sV0p>}7s9O=ybrS)`0QClg*7j25&UydN1}AVY{r*235M8R6VEhzgc~Yh2Nq zfW}lfq(8E;=ZC{&i6s<g=Xn<oW2NS@=ik51L<{n!IvW@eV6@us-DExVJH=kcuqXAO zd7H3dfVJd-*S<p2-F;5HH>i48bMEw4La>fphK8PJIzyGRPr@JqpivCOMrH$1CO;#D z?@4i&`x@G{ce*fEEQVUAh!=mXYXTaXy;CiZ;Tt=Y3EQN=rvhp_Zac|ut1=`UskkEd zONw=S8UA$PvjCr%?R1U+$PNfjoR)q-`I0)D(PSFB-1-glt!f$@bwZp3L&XZ9w&>M0 zgXBCS=CSb*1HT-w=Tt*hwLvO%DJ|u<v98ugCo|VZQ1HL6w&XzmK^}gf0V-TGGS}vd z>w3GnzusST83-3eq?|JZ-aa;lG|$t~k_SjQsDb`#g|n<*^ogop9stYa8$(3)JZJix z)kk|+T#Gsrwgng-k9#UiXdATFcb;&$-@d{RpP3)q7z#*<NWW*><+<&NvULArsP}Wz z*ArZbMJ7TKheqSUlp1va;A1B*3Kclcx&N>ijq(?ORT3PrRsZw4%O`fP^aB21aVrB} z6i5+3p}I%+Q>w80I(U7soN?9Bng~Jo6^vAb$jA@@ea!egqXCvZ`aVR*IDz$g8T0=R zBB6+vbA>}g4L?@c&m-@36d6E;Ek<q$MmtwoNlbtoiHzD`fTHTg3i0yS>*Qb8Y<0Pu z3vR9AFgNXPA}9c^)ZqAQwlUC?5j1i^4ZR}2^c=;D3DbJT7#9`Uoev-$V15@30depK zrmtz5PCXTDmT?o4_Vtc1fs)x6i#I%9%qy7ysqvgx&|R6q!@IYw>%Uh%zB^53#pV?# zwoB(jKyl&NL~*DnfKn*1#lP-~qhLk=Y%zYJhE8w+WC%g2tE0hjU|_VUkP+m0E0<tZ zGEeDnaiL%ookaxv{;HS9rbH7$#1Kc`xX1~i3*zzAzX@^q0&d4GATF_V-8ff`OZzHJ z;M#KxoQpL$LRQT!BJ01B+EQ)rKkRN&4low4M<Q43acj$#14}+i;txt=BMn=~fJio0 z^q<G0@Vjr|>l#!kbr3u(4Nbz~<L=c`<jdf_U?Y_N;-NupWi0EzKX13>da!7cqCd4i z*a4o@2*dEay_xBAz~hveZ>tCm5pDhnZ&VI+aT}dbJ{>c(rGqC@h;VKQ$IA7P2Ir~% z;Lnt8|N2dG`OgC9C&DZIsE|m#%UP_iqCk@r2*>r++1Xm18VC_q&&zWZ>3W^islk;U z*zqb2#`_l`!-M-`X1S3L1OTc7zG9}MxPvMe16xxYqMYFOc*HEJEkxhBg(+k?QlK;^ zG(j{WwS+|{cQtOgz^Fz98^ffmoY*E752J*x4GPyU5_jhbqUUHnFwN8vIIRurq<i(U z0rOa6^(GLr+deg7?->LV1&-nfR7OSGI896R)OE-5p@U`qT9Wz%^bZ9`6~D%tIF(aY zvVOZ6%9;RE({Cg4RR?KF=J#eWAEL(kCSFpb#TCFV;uE&k%)9|@Mm!8CoGJMRcL1Fd zXGw3pWuf%(Z;YQ}xPXea6<1ENT})OJ20~1%pTqc+#t63BR`lN66>ObD`rPfiG7z3H z`NSItfY6vb&#G|6s&i0_WSZx)It=HajmnNmf5%pZYHMtJ8QTKkSGJGd3<7%D`3cy( ze|)3GQRRU_H_t6UH?WZc!r7FNoN1;j5Qk=wn*g2!9&aevB)8+0DGG7pGxTj9WTfEe z)Z+9$Bmj(APwU@l87KtrCJV}LZ-yTyyDlPDWC}Y%3%tE%-$`VWwAld5jF@SZi?s~g z(P|te@BX4^lyq}r!WBQZ`b6v;3b_&iJ;Q1no4^|D@hx=vSkaC}wAmKTHY_adkhKU6 zu2bIx128cAAJ|a@{t1&gGkPGs3<GZsl)0!h92Yt0#x0Eq7%tUN;cF*tHYgbdEKn%4 z$$JRDq+k;CCO@x4ikGG+3>N{8RwzM}4ugDM=8#+@%j4o5VAn+j_GA6%J&Dr9)EqtK zx)P;EfANU=u?WtkPw$Dhly9^DB>(^wxYZ)aS*GdEz>@lxbU^kiduOmt;hdZDhNMG5 zq;F-hw-ktrl+Qefw?70jdMAU*i?NRiEMqjCMJ|k9eImo>8vCFwb@Tg2)Mt?|-cZAL zEa6%(;@J=SXZ^P5h_?fMC*d;gNmyJ*3RBL?JffP1rX`|zjh8!5b|B=kQJPOg;Yl3= z&)n2k;F_(I+jy3f3Uok(4Y<+YVcYw(v6-*b^7~4_9zgIH&)>OA)u8}@6odX0aHU4t z&ru)19ea0ee!uQp1_Y>Pm6;7AHhNI3gQFJII_dO_XXI`~v$yD(zI)jd5b~L(VKaGS zfJamc&n4h2V(c?}Ly-@!(>A~=S#wB2EsoD+CfQrMfWQF>^8Hk+Ag&U^#qF)%ck;V) z5FaCH(K|YrQc@Czhwy?cC4P>I#$$bW=`}m)Ri^7Lfuz*UAac*Y=B>}0SKzCX)J3YX zP_G|)kUa4p=S(0c*3?~VoNoO<Sxxz1xfk*dRod7lW-TSUCWOrRh{|Cav|beVS7aH# zw#%yJ_H+KqkQ2!)QtA#Lj=JAa!xmr_*cnpLZ<+NCdJq7xmr{?&_c)7)YA+W8!`p~j ze!yC_BGAyh<)2TqSp&3LZ{xbaJkK!^WnS`pA%Dx(sJq_@QiJh|{rYqw{~7NT63kE9 zGX-^^s*HpT0t~kJ+w-Lhon^M<sEx1WfBePSFm*Nt2nxrBIzsovv0wKmq#RK3KF=Y8 zgBieN&HDIbLN&%ivFZ1E9WDixMf#>c`lSPw_?cP*{y|(tfaH*W1%E}Za@9)j7Avtm zEctW$6msmKNK^p5xBu+e0-K(b6#(FCo4&7oLj9sL9jb&i3+dZYoaIQBaIHqSu}(&T z!o>LL?B1fTpK-H51`SGJuI7}7Fz;_3)+fd^NRfO9+D-4=uWRM?*}aTUeGzxc%$sGF zW8)OHL^(64SQMk~ANZt-Ilo^>si2ErS~Cd*4c*l{z<;5oy#G##xLv|KXP(*htVTuk z%>bDDW!7@uuSg5y(*$53CHU>W_KHz9sZ8M`2}_l3s5&HD%Ze|z@*cUDhP@3fxCDjL zc1!dtVGLD`#C31@6G?1~9U4E_N~5Pp43pt-a1sB^4mc{-BfU2}7~GrkkqMHFIpV>q z<aYT~f_7|<XJ_`MwA>G#UT*Wr;GVL>QY7T8Z0k8tO@QR@`FFcORBf-&h(+Ef`D-Q3 zK}CX{q4~SfkMr9nG~o}luu-dXAUi>4+Be*??}v|Lx<BnUre}^8?wOW(ZV4^Y8hvQ2 zm=H$XdOZ+KV`1^VEvhX4THVUV8hRD4lv5b>UIt<Ed{Cp7aIPVRoXk9o&JS_L+7TM~ zLz=ZDhJ7Ja8CgjtbsPEY!2%P=Tl?T@IC#zSW)Rg2MSYAa7|eykwbsJ__RYA6JNW#A zC4XS8ly5Hnynd=HE2z9}=uWyTeKx%ShvM6oOKX`O3Q?+(5(5LG{dC@Y24{(p>oGN` z2xS2n4e)ZL(##|cB}U=yZ_ifp;x6k10t>99JJxy@>|)BcE@`U3gJ1%H5wwb}x*hVh z^LS2fthjMVU&~;~TtQ{UUJpcUPIIQ**%*XAZBj@us=tg9Ce1#(uWGk-^g=N>cqD92 zCb*ev6$ExvZwr_rPFSi%^Gu%V-u+FLkuO~s{W5rMm3?RDtv`2Kv+ruN&JkcfAF`<Z zO`vTKgaj-uYRVXo7Ksko#m)c3NlC)|!W!D;M(=KZm5JJ6y+5-dXXd+CwWLCmAgmm- zArvJN?Nx<z*|p{C5?tvZ#Gw7Nr?dPaQD0`lVzipYKH84*+|)WslI?5g@GepbPXvEm z*Xnqk<Sfib&K8n>?G8*CQb_TtxFtdKUT_QqIU}aG*2y<)<BRd7w0t$A4C}rU>L>^{ zRkly3UwyFo65IcNw{@;+F6HOhD}WIO^Zldy;|MdlgXPW-LB%UoB%-U@)i9e;H&K(( zR%RtFHXN3TqN$G!0QFG4$vB2?Bc!>kw!<{r^@4iFzw4OoVj3VieOiO*#c%G+Vbar$ z;nUB~)jbWi&;Mjjp<e#6W9<-R40;a|Hj0`TWI?^;m!_CgU079#8#_azt$jc_z@?d4 zj}34P7bekm0I96uF>ski*wU)hW>~)9y$H{^TEMGY29xT6zZwsHR|3v>5$<Y($)AbY zSzb~6dMs1qwN<UsY)N@6(<u%aefK@HebDB!kuq{InO3YaKA&ECPej$|ej|}xPd4Sg zND7Q^7TKgYMK?aY16Hd81Hk*U&)yO6?sOfDm55@B?gAqI0{fP_3_W60)GezOC|ypq zNoN6(vvD+AD=qs>*;H4b$z2G-s<!_u9Y8`eCzF;}JS{J!)WN-W@!N#IUY-pRE7A`< z05`mIc6iUe?0DM7Z|{GrLu0B?B>8ju(-h;oHje1&h}vNMlL|9i^zDo#<+^3uCre}v zyH<Kem9yvb&YZ&OmGK^g(tC@>EcsTi+mv>mjj-K7<`zc!PC#YjAG&p%Zt*H$fFEB~ z-=AEmwXd!|l)UCK^N!TXSy@?|BM>G18pbEQXQ2OsmPe#>lUiu<TMVDjN}3G}@jGBp z0eb8s!#0X_hWb}lOuM`rZtSp}hqEk}H;^vO69;^W7!r4|S#-}CqF$s?HvT${1FiW$ z!7~}x!u%(zhjy6eD-;m}uSWgqfsucnE*AKpx)=`HuHUKyd>TKM3hoB-zN1`NcX`y6 zcMuVK6vgX-Y@t44`0N1ncucxmt>HT*vlS#%$lQ7pq+#Z+vv}X+35CSJ^ls#%4PK4A z>zySqOUX5fLSgz6+X3E4^t0o!-@U=lw7r5A|1EraM)OaM+`#;EcD<yH2_Z3jhcUiA zS6t=ClcDPmiF(b3zIifR)rcvKjT{5ws&x1OIEMb2cj2EfJp*pw&Dhj<boebs*Lb*v zZvY+V?<_l^fWQ_!_BW3ngxeyqGa(I%=%1SsNgvO6Ec-%71%Ky?En3;u^RnLX0{8RQ zG(jc01>_`c;zqhsP7<@AQLs3jK%7B0D**r^zw@%z<*_8jbUe`;UEEmX@?ViA-{T{R zGTa!>Of_C<QIhW467+z+MUK6qYm$Po6$wHEIV&FwQ4zWOSBSJ(en!j3**`1Q{&XKu zg&X1@S(%x)1s3)4uE`MQ_s@P;0x2+Jc@|rnD;7X*?Dx-xwszq6I`yZzfSsxr)|7Lp zZt0{AjP&$HNn54a_QzQA0$)(VTw?KbSY+7po1qt)A98<cR^Kez(jN-4(WAw_>9Asu z)glxPhfVk?vMdYVGK<S@GGv*K&Ne4GM5}HSv(w$558^#oRD#fOsoucle$dm?`)j8M zzGi*+bUeiK{==x^6v*ozC92<HFzRQmTW7RXkn{R_13BHqtacBHQ9T)rsHhRdngG9@ zQrK&BQal9hTvkD$Ea^dt;V>W;aVv<H8vsRmOMkqb`=*FRRQ1{=g?{fp<%TTXI5)c3 z$A=n|VYwwmMd#&Z9f!{@;_sEI{i*U|iH;Y}`(MQVVNI{bw^f9PBw{!|LH%)5>r1BR zN~F=fn#t!=<ZOzwu+DwE9q*lb&ivgNsJzc4i8l=qQa~Cn@Oz{xpFul-G>qIa+-Ak$ zyquoseVESd^vw{y-5u`evXG7;^#rcI>JY+5vvuD9ODkom<828t%f4(3St8UJ^CW1D z=@h|s@ltqssDy7QBr;$yC=&`+4T^1$DV+)l(v&6*Zh(o!8zk`(PYEd=z2^4JWeaJ6 ziMYDD$^i6Oeor+d-&5vCV;KwDZjX#}lvy?WI9jXGqJ;$_9>EBjfT47vdm0Qv`C-6z zyFR!BBb|^YEpqOnAj<Ozzn4CLTn%8^$kmP%e%MIpF$4BF^a)M)$SSofZO9(gwgY4m z+rp%=Kg1EpS>nDvnEBg>&!up1OD<lgqGQ}hh0zeEsT11Ek+}H-1%X!(F~eBX)Vn<R zfU|>ELL4QdnD|a(Vy4PelKL8IkW72k`fCPiV#(Wto9lKk*VLqWF7QoK`zHqKH4GIu z6@qdCtU>%z#63V+Ry5F`9$eXI`9OjzsUH<e3-FsqJ%c#?qQ?Ropfj`JuH3OqWb#l| zJza);rFX396h>FDN>>4nP~jU~<a=yq6J=kJQhFSP!nifH>id#bzxXk#u#Bl0hJ4<; zyq1#`uNZAaPGKrepL6V``N~UE`{nuEe#(~&`=s%ac+^cQCrQu2-CcL;oPhT;{hKHQ zmtTIZW!}Lc2#w`X1`6__lx=&I?iKvT1>qBL#jMj?#@=+8M;Ywhe^6QtI-XY>6bp6E zJ@fYVjt1?O4|U!;{B@rS7rutZ+jkw@7<dY1Gs<fL8v4~QO1?=25%~}CX)Hu&f|o85 zyaGrUTwqk_ls-kgHmcsVhVMCwWMo+)+-L*@bT3W8Nsw<%JAew&7!U-uY$s;d`#^>S zeT403P5a03U&YUvo8jX(vr3JOh>E<6AeK{zGqM0odPz7v>I!J%)Qd~dcU(?zfA;ld zvh40o+j7S<=*P@W{{|YJdQFN6WSNydze=2~phUoJG(i9a*h?qNd?sRcE@vJW{z`^r z`U~;1jrZHUrmE&RsS*<gD8!fpv5yv~enLsW==QZ@r@)MNwVhlUn8XMt&Mx`4pk<9W zfVfWPcDA}0S6>lU1m{tC?emdf8K<6=@n+59$CK-Hh!J|%uAWdiVZ=p5H1HnRv-^t* zsvT!ECg=@q)rIum7jjw+Ia!4yBofZqTbzaeU4C2Bs0o=z%fo~;;GdqBs{1y%>`I2= z@NaBvPz1@_660T>Lc{8_g*+WUzNOtw?F}QPWPI({e3#J}9Jk~T1RE%frOL|6(sQ6~ zrw{jWA4|tBGD`<EBpon<V$T6`$Sg`#blL-B;lB&>E-d{fJA_;{|I0@cPwnow87|=; z>y7S(+|7vVSKwx#u_=zxrMfP3L4{a*<9GIMxbNO{W$=E<rzWg`?@!Uw3Zzip-|pub zoHFOqc{CCnmseWR#c9jymw}sb+4Q@OU-ulh)UxoaG@dgq<dTcKu=vZw$?`j325sdL z)T(HWDx~fc==zW_1(f$y*m0!cGNmea*RW+YST-m{wCN-^%#ZH(1|O+&V%h}KZ>&Af z5N~ecydG-gXJ)qXls+@>DinRhssGhI*=G7Kq6$v>o0^!z;9s58vK4=6Nw@P*GLsMO zxznPPAf<~{UON+_4aHt^tfQuRU)xUN$9)1A{&e4#HM&BWv1*$S{Lzi`6$5P^^;9+W z(ExFQ^>v-&0f<kq0aZ@Q`KL9XN5*R>qqp7{%XPB;n^o^c?Xho@bOS0we=8vb*$f(; zOK{J{QX&|ejCOOz{R4xZvHv<&#{_POq8zZAqKoG0-IeeCWfYP$p9;}cQARCwY2T*W z<5{><&^J}myhvAOf-I*O^FGa+H=G-ls2@H|Tjf$Z@$bwM-!2>m(2O2Z9apvtGgMTw z&@nnCx;vHs9Xheobi-e6L&Z!mVsp9R4SgyI;s$YG%=#RV?N%Aj>OWK4LWM0T3eG^R zaSJX~lwPp<{|k0gsLlE?F_B4Fysp`dtMam}9IFzD1NI?RkRh?^AoWnC)231CD_*4l z>`<<e08pQ;htA)@3u#|h>cUC1kovmWi3uw!^!wp7?%fphM6Xxp*$3$XfzD<HX?Qok zkm?!N$(E#>ISK+AE%@;UxHLLVr+rIHquTy$N+Y%lVd3+ZH(84rR)8}In5JatV-z~b z^(Ek7EO9q__^?_)*}0#7rNvbj;@Tb`+lk9~^kozS2jW#T&JS<NpN;nBS8kVA*hxp! z1oIt_$3%$C5x-_LpNvAWCQH4GFG<@f6-o4Ez@>Oom5o;mqAHp}<&iXx!yhMZwj6qn z45UoD?0tyK<!vpM0{(bERKY@3MqcS!8QaABdyKW;(_)@XpHTsvE#B9Nic`wZ&pA2p zb>vBBs>?5_b{Cf#d{o6hips~R3r*OaW~0RIDt+O6)i=Deiu*?BXO^|JL@i_Z1x+pV z>TNDV%F)0^dks}3A27$~>dziF#{Fz)1i79?{#?#J!+mF-O20wB?aG02IR6pt(*L}I z^1644PxxlHwuR$hfShM7f41=1BXs1(*Ey2rpM?I4*}1D#1NIN)s^KlLXB_mig?N1* z-_v$e)&*xAa-}JdcEt6H)fw1g{^dXALQsWxeiM!+^<<!@r#$7yAylVIJC*LOlN^?K z*MZhy-tP|O7HK>8G`8YbQJ<yyH}0ebXZ);_(wk{(i~kz@u{Z?tadC$;EO8I3*-d^f zjF|`rL7wwiUs|y}f`63OSN0(`BBx4e|GHZHz+`9!7v?o-xL%Wu&@MOCXYkGJgg|jx zBf_;*xYy?}via@ly3i1T?g`7G6V8hD&Vssce!s)We@(lh4~$_i)zd2!<$f?ctnoTt zNffPH9L%T9$Jx&d*)~g%aZm^4dZdl;wgkB!Zp_C!M2;zd>Nt!=wIp{oGCQBK>n=9d zEoRkXxP#fvr`$oOrvR1IfZd8W)==%8hexX%nxWqm=Ar@A@W3;=E@C^@uZ5SvzgMJ( zScHV<y$mIDwi^)n9kAb(^5T5+=FB}1z2x_=T%SyF&g+Ybqpg%i-BXrnPS&uLG$yv^ zg7cUr!WiFmlK%XFr8!tlgh7ivP6d3;-d1{N%8&|gcu$tLQJtUf<%x&f;2rw{bxbA4 zGfbhPt`B!30UX1Ulw#Bi8EGXTjjm!9Q7<Ji(p9Is09hb!y^+(7<b0_w?MN6I?Z0#j zRHtc5ej1(^E_cgWB(u1>;R^kC`HhcRo~(8AJ_plZWU<apTk^|WY$~&2(*Q&bNuszh z?<v$`K6uh)`sg;|2!z;e3okg_XiQHINbrIK)*`No{=;x(*L?qrp0y$%%{qJBExGIH z=JE1vWt${GzLX)+Ju1FslTEPe=`bGzfxepJo9kn1Ch{Jd@@^Ui9hq9r$VrjA8$NbX z3mrP`#tHjH;iZ+?rVP8(JjAeA7lGls)pm}=Y;VDLakx00IHLsUIkld0_O`mBRdy>r zA^XApJWK8)hV>?Ab0Yk&@`67fA0KyS6#wNXi#Bbpc#ao8@7R!gls<%SvfFCrrJSPk zCCWF*#5Q%@srY;x1s?CuxTK5LeA_sSHp+-*n7K@rgF2)4|Hrd!04{EkYusleT<oxN zt)zBAZ@@7YeNLYhbAR-eLt@s=HMr$~jE8<R0gRw`DUIOxL(v<$iL~BX<@W^yL>Px! zmt@QuTxHp+qx9Tfpp+jua*F7QB1iN}&TcO0neRTn=#s8_pfsotW@gvin&YH5y?Bs^ z0_KzD;433)+(1^+!^89$H^sb*dEdJZh9G#Z7kv=yGjeMUn*@vPWp-|j(r&VUDXe4u z$*&p0OtDECZX3^q!>JeNJUv{KA$j2+S$`ih1E*$mIVpnc2Zrmn0tzYIc733;ic}|7 zV1jqDR7A{Cz|jyA@_QFv<+Ysv$#a>kN(xM7%qNI@{9*Q<y`{GD{nD$VTpR?S*Kki^ z)8<(jelih`8hXr>Y9o>QMj|i_5)i9ZYJdHuRjly;{`P(p?3J|x0^V>Gh0opw#Ije= z@V_}5iM*7*0%Tf0kMe#li$G5{`rI)wZi-F&bBg913;rXdu_5l|OH&ZCu1&Z-8h)I) zV)>wD!H_rH=-vQ7X#o^WjO;6x(>h)pKVVFIjoJQbVCTyZ1UW&OKtg#D?UNBAF+M)W z@^vDLw(P*EBz>zWIg%jQV9<2)wI&*gp#Q_4#m+NQ;gP$)q$IWUj*|p{^<&S`+l-hZ z4V`!mq9IusteIzGcJoCeC@J}MR4oToovkn<78jnXs$wH^YnPv@w6be5=ZX^d($qn5 z-{M<6rwV;zl0A*t<X07!KlP_}-th?A9D&UQtkpYWQ(BB#ea~U1+Xnsw@wXX$xzs~> zvictHS~XNR$}m9AV+$RtJ;Z{bfF8jj?Fjv%ry!$rx&(!Jo5Y^`)XkEYsr#htiU$Aw z71m(Y8z`(P3iJwydvQI<ePgEEH4=tP*Gu6P!wLB=%SqBIuq-zH7Ys<B9SApS54xW7 z-`tvAv3==q#3jf~PWMPsm?^hU4FRZ7*ZG{aYfQ2U^h^9u9zU3W@*~U>U&t2RBUHG* zqxBJF_bn!p;eZHd>w^Oroh9Vv_Sn~%Kg%uR|FPWLv3zE>xMz5ECH>mj*SPC2qj3Q! z5TLTv8V~>D*=+UX(SBkZ4K>jbOesMhRg`XD($tmRZ(Us<O;V<c)#(J|g82T;>JU^( zk(@Z4r>@V=9d`S7#VtlGx$K~mSick}7i1@Yn6vl}dXhT=b)e^{J>W=JCGFlNkV5g- zzq-{<FKyC%`pMF2NNZ+>J1IbCc;G)G$bZo@9uSzyN&USO$IXf14w9GC6HN_bq&Hnl zX|G8DPq8UuTZEGWnXRp2+Y(CsiR+zIYU}8M`zm;rU2fRo&?^h$iwCoxTo1bp8R~^B z^(STODnk#lBC*d2O&huGr5eTDUCTxy&5q?)>j*#jIAo0;z8vrj-r~r6{}>$fQrz`V zaXYm|vindoo9_m(t~CK!YENy_9~NQeTG^GGyiv>x0iZQ|BvmmA^aQm1R}XLb42Lu+ z>FJ_Q82kXdu4(B`f!U&g;TR9YT<d-@2Vdf$VVO?)5UHo`fM@^p0<2PO70@EfV?pJe zK6pg;_+qnzCwQVj;n}UTZ%eYI6Sn}CtjU>1HG9NsPXp1r2(j)#`QK1$A;<H&{O5aO zK18CX4Wo4zrRwJQ#O)S)&F_$oC5`|Rw=~f=K(8$FMJxrv-!Xy->xY$9Im1RN3Raks zIfyE}tJ%L@DSf>2U=xdQ>^oCmWYK>(>O`+(p9-x5b%Ynk7O$#t^<-Hc8Dw*c0f7(w z<8Rn4a|pXcjY~$ozHw+NaldRq@%cQqyBj?JS_5Fhi!!CJkmPcAd56-Xd3w-lmiBQO z#A3{z-RWerL@ed?E@IAHu%V7VX;X)R@#U`mils81!X+qaKf)#Ipw{mSA&&;6jM;?| zOn92a4r5`BO4<F}fXWYUpH4;<EExlIa~85rNg5VwpN_v*1gR<G;V~av9hGpQO@r*; z)2LQicL+FYowB>sFy1|TeXA05koBpH-LZnkOC-RiRcm22W87)Ome@xKm~FFeMtBe> zf5*iWF{_(?KW-Uxl$L6on;J#yTXJz%@CQNGQv5uPN=-5R+F*ZxUhsW$^=AxML(j?y zc|4DcyhSev`b{#xx?439Lea6;xafPIPl@g};_+l12$;Z7Wnm>vt3eDQy^bCHU#jMM zxr5)3J@B_A<Y=?^-yGdT-cA7`Wp$FDi-*(dVyzBT7<3LTS3jIqpSi4;Hy};OHJ>S8 zdnuF9C~|)PPf?U_tc51ZlRmvn-Ry;-;@hwy<zASg+i4-Hdgi#-)P4$1xy^V~SklLA zKDYh;H0*hT?5}x~^w*`c?$M5>rIl(EZLFG*TGG0DUU{S5g;=xunJqr-I}4u%-k??? zvA(mEjJPgjm=<*xXRzn<b&1FwPM9^-XGsE|QkLjFnKa+}r-W+))Vl22)O4@00RWh+ z7y$EeO(2R&vBFoL+y4@;rgYTykdh-(<m_bC@FgnC-K*8fdGLkK%WK2u*OgaU$&wA^ zsv5Xc((~RFn+2UVmr?6=YN;9V-ZRi|A-z(S?uNNuvQuVkyZ~Q#kWp6=rpZg4lArAa zTP#{rKhM!*F7kXyh0Pud7eq1X);{JolkRwMY@;K<B*H*mH5)%r|6txLU>RWS{ux8b z3cG9)h>PNr-lrmH-m=doYbj$ptTSXH*>4tVWO{GhY$aF8dGF?!bcD;)i03%7Z3Dq< zO#|>%s!M4iaDji%+<BJOCczeHi1h|u>gPS1x9DfgS#trGwNw`0evjGSO(_Byc?P22 zF@=rEsAaFcTN*+&d53ZskTei5@>8hpb0DYKHt0@0J%mFONFq&_zP&MGy3ytsW}U~3 z;)pq5XMpV$8XWEL&6w1LwM<~*v4J^WrzR5KRF00$Z5j$-(kW~;i*lFJy$EKR0Epmp zB4y)GX{SQ=_$gsWc3<`P%u*%hkhYvn?Igc}gUdk#sLHNCiGu5yF(PAH*$Ss3g&|K^ z|NjqDxL%P69&TDBD`XYUL8V7o+k_I^nSVuQ!SW_Ok(>ttPZ4U8s?<%<GNS$UivVCS z&BaMRKwVJC{_{mcIxj+27g(t^R5z2?$v1Dg&2vsisr!%91)Jv78-vdzeor6d-yWRI z(z#{u16abcvni0f&5a%J3a=1RhUw)NIi*bkw7i<^fJs+TF)9Z-Q2XTFU|K70DRTnl zlvmNW#qqm#)$jI=u1v7!`GHhbh`|}E@UZS`#;5SGN-*5!`gxSow-21$mc=)cmn_2- z(?X^9bkTA}Ae65LmZkGsS*SGXV;q$Ra(a1#AQRHMjkgGm=F7%u8U~aT(UYY|7eW4) z7J(La0PxS{an9hP-*jo$*4CZ+sebv{7+xcC1(Q`SwOEw{1#!s9#H}R8F!Vr~7@xjg z#5YeZL2oLgm^l~Qd_u1yp>V%DHEcMv=UBeJeev`=d|`^;r46*CpF~xB<)^};3Uuli z`Oh6~wfZ3#zUwV1v@bk99ddOIRzm!u0z^xN1eRJa6Psc(^O6c#V*nOii1YP~^*kRG ziSB8P$Ta2$0a!}v!l23!E=5AW*@f*kB^1$7s*6Q@ik%}}(NE8)fpu#zVB*$QD{Sd8 z9~RdawI&Y&G~4AglUU<)I5=M%6ub!)x|_D{qG@3zR~TA9D013<ecSOAn-g&o8dB&( zN@hTL!sL+bXZ*WXBm+bnD9u56RZ@0?MSPY8&9Dw<^y#(~8tz;Ee}zW?km>xf))oQ` z=ewUcqn{-ZBj&P1TfpJpfyO(Zf@cvl6eo-M8eaedRHTK~qkA>6^K@|!U*)s*5TDR_ zO~Am>VdPdMz;emMG64D$SHJsJ+rH-!Q0lW5R{0Fj_|9Z9lJu_}s86|QD&VWQ01hCg iUph<MT#A6DN6>BAz`em5@z<yJIY3rgNvcA^B=~<KLIIip literal 0 HcmV?d00001 diff --git a/www-server/src/main/webapp/img/mstile-150x150.png b/www-client/src/main/resources/fr/agrometinfo/www/client/public/img/mstile-150x150.png similarity index 100% rename from www-server/src/main/webapp/img/mstile-150x150.png rename to www-client/src/main/resources/fr/agrometinfo/www/client/public/img/mstile-150x150.png diff --git a/www-server/src/main/webapp/img/safari-pinned-tab.svg b/www-client/src/main/resources/fr/agrometinfo/www/client/public/img/safari-pinned-tab.svg similarity index 100% rename from www-server/src/main/webapp/img/safari-pinned-tab.svg rename to www-client/src/main/resources/fr/agrometinfo/www/client/public/img/safari-pinned-tab.svg diff --git a/www-server/src/main/webapp/img/site.webmanifest b/www-client/src/main/resources/fr/agrometinfo/www/client/public/img/site.webmanifest similarity index 100% rename from www-server/src/main/webapp/img/site.webmanifest rename to www-client/src/main/resources/fr/agrometinfo/www/client/public/img/site.webmanifest diff --git a/www-server/src/main/webapp/style.css b/www-client/src/main/resources/fr/agrometinfo/www/client/public/style.css similarity index 76% rename from www-server/src/main/webapp/style.css rename to www-client/src/main/resources/fr/agrometinfo/www/client/public/style.css index 4321ebc..d98fcfd 100644 --- a/www-server/src/main/webapp/style.css +++ b/www-client/src/main/resources/fr/agrometinfo/www/client/public/style.css @@ -33,12 +33,12 @@ select { font-family:"Font Awesome 5 Free"; font-style:normal; font-weight:900; - src:url(assets/vendors/fa/fa-solid-900.eot); - src:url(assets/vendors/fa/fa-solid-900.eot?#iefix) format("embedded-opentype"), - url(assets/vendors/fa/fa-solid-900.woff2) format("woff2"), - url(assets/vendors/fa/fa-solid-900.woff) format("woff"), - url(assets/vendors/fa/fa-solid-900.ttf) format("truetype"), - url(assets/vendors/fa/fa-solid-900.svg#fontawesome) format("svg") + src:url(vendors/fa/fa-solid-900.eot); + src:url(vendors/fa/fa-solid-900.eot?#iefix) format("embedded-opentype"), + url(vendors/fa/fa-solid-900.woff2) format("woff2"), + url(vendors/fa/fa-solid-900.woff) format("woff"), + url(vendors/fa/fa-solid-900.ttf) format("truetype"), + url(vendors/fa/fa-solid-900.svg#fontawesome) format("svg") } .fa, .fab, .fal, .far, .fas { -moz-osx-font-smoothing: grayscale; @@ -68,6 +68,24 @@ select { .fa-thermometer-three-quarters::before { content: "\f2c8"; } +.agroclim-apps img { + height: 60px; + width: 60px; +} +.agroclim-apps ul { + box-sizing: content-box; + width: 200px; +} +.agroclim-apps.dom-ui.menu .simple-menu-item { + display: inline-block; + padding-bottom: 15px; + text-align: center; + width: 100px; +} +.agrometinfo .navbar-nav > li > a { + padding-bottom: 0px; + padding-top: 0px; +} div.idp { padding: 0.5em; } diff --git a/www-server/src/main/webapp/assets/vendors/fa/fa-solid-900.eot b/www-client/src/main/resources/fr/agrometinfo/www/client/public/vendors/fa/fa-solid-900.eot similarity index 100% rename from www-server/src/main/webapp/assets/vendors/fa/fa-solid-900.eot rename to www-client/src/main/resources/fr/agrometinfo/www/client/public/vendors/fa/fa-solid-900.eot diff --git a/www-server/src/main/webapp/assets/vendors/fa/fa-solid-900.svg b/www-client/src/main/resources/fr/agrometinfo/www/client/public/vendors/fa/fa-solid-900.svg similarity index 100% rename from www-server/src/main/webapp/assets/vendors/fa/fa-solid-900.svg rename to www-client/src/main/resources/fr/agrometinfo/www/client/public/vendors/fa/fa-solid-900.svg diff --git a/www-server/src/main/webapp/assets/vendors/fa/fa-solid-900.ttf b/www-client/src/main/resources/fr/agrometinfo/www/client/public/vendors/fa/fa-solid-900.ttf similarity index 100% rename from www-server/src/main/webapp/assets/vendors/fa/fa-solid-900.ttf rename to www-client/src/main/resources/fr/agrometinfo/www/client/public/vendors/fa/fa-solid-900.ttf diff --git a/www-server/src/main/webapp/assets/vendors/fa/fa-solid-900.woff b/www-client/src/main/resources/fr/agrometinfo/www/client/public/vendors/fa/fa-solid-900.woff similarity index 100% rename from www-server/src/main/webapp/assets/vendors/fa/fa-solid-900.woff rename to www-client/src/main/resources/fr/agrometinfo/www/client/public/vendors/fa/fa-solid-900.woff diff --git a/www-server/src/main/webapp/assets/vendors/fa/fa-solid-900.woff2 b/www-client/src/main/resources/fr/agrometinfo/www/client/public/vendors/fa/fa-solid-900.woff2 similarity index 100% rename from www-server/src/main/webapp/assets/vendors/fa/fa-solid-900.woff2 rename to www-client/src/main/resources/fr/agrometinfo/www/client/public/vendors/fa/fa-solid-900.woff2 diff --git a/www-server/src/main/webapp/assets/vendors/ol/ol-layerswitcher.css b/www-client/src/main/resources/fr/agrometinfo/www/client/public/vendors/ol/ol-layerswitcher.css similarity index 100% rename from www-server/src/main/webapp/assets/vendors/ol/ol-layerswitcher.css rename to www-client/src/main/resources/fr/agrometinfo/www/client/public/vendors/ol/ol-layerswitcher.css diff --git a/www-server/src/main/webapp/assets/vendors/ol/ol-layerswitcher.js b/www-client/src/main/resources/fr/agrometinfo/www/client/public/vendors/ol/ol-layerswitcher.js similarity index 100% rename from www-server/src/main/webapp/assets/vendors/ol/ol-layerswitcher.js rename to www-client/src/main/resources/fr/agrometinfo/www/client/public/vendors/ol/ol-layerswitcher.js diff --git a/www-server/src/main/webapp/assets/vendors/ol/ol.css b/www-client/src/main/resources/fr/agrometinfo/www/client/public/vendors/ol/ol.css similarity index 100% rename from www-server/src/main/webapp/assets/vendors/ol/ol.css rename to www-client/src/main/resources/fr/agrometinfo/www/client/public/vendors/ol/ol.css diff --git a/www-server/src/main/webapp/assets/vendors/ol/ol.js b/www-client/src/main/resources/fr/agrometinfo/www/client/public/vendors/ol/ol.js similarity index 100% rename from www-server/src/main/webapp/assets/vendors/ol/ol.js rename to www-client/src/main/resources/fr/agrometinfo/www/client/public/vendors/ol/ol.js diff --git a/www-server/src/main/webapp/assets/vendors/ol/ol.js.map b/www-client/src/main/resources/fr/agrometinfo/www/client/public/vendors/ol/ol.js.map similarity index 100% rename from www-server/src/main/webapp/assets/vendors/ol/ol.js.map rename to www-client/src/main/resources/fr/agrometinfo/www/client/public/vendors/ol/ol.js.map diff --git a/www-server/src/main/webapp/index.html b/www-server/src/main/webapp/index.html index 0375ff0..4e1bfdc 100644 --- a/www-server/src/main/webapp/index.html +++ b/www-server/src/main/webapp/index.html @@ -13,20 +13,20 @@ <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport"> <!-- Favicon --> <meta name="msapplication-TileColor" content="#2d89ef"> - <meta name="msapplication-config" content="img/browserconfig.xml"> + <meta name="msapplication-config" content="app/img/browserconfig.xml"> <meta name="theme-color" content="#ffffff"> - <link rel="apple-touch-icon" sizes="180x180" href="img/apple-touch-icon.png"> - <link rel="icon" type="image/png" sizes="32x32" href="img/favicon-32x32.png"> - <link rel="icon" type="image/png" sizes="16x16" href="img/favicon-16x16.png"> - <link rel="manifest" href="img/site.webmanifest"> - <link rel="mask-icon" href="img/safari-pinned-tab.svg"> - <link rel="shortcut icon" href="img/favicon.ico"> + <link rel="apple-touch-icon" sizes="180x180" href="app/img/apple-touch-icon.png"> + <link rel="icon" type="image/png" sizes="32x32" href="app/img/favicon-32x32.png"> + <link rel="icon" type="image/png" sizes="16x16" href="app/img/favicon-16x16.png"> + <link rel="manifest" href="app/img/site.webmanifest"> + <link rel="mask-icon" href="app/img/safari-pinned-tab.svg"> + <link rel="shortcut icon" href="app/img/favicon.ico"> <!-- --> <!-- Consider inlining CSS to reduce the number of requested files --> <!-- --> - <link type="text/css" rel="stylesheet" href="style.css"> - <link type="text/css" rel="stylesheet" href="assets/vendors/ol/ol.css"> - <link type="text/css" rel="stylesheet" href="assets/vendors/ol/ol-layerswitcher.css"> + <link type="text/css" rel="stylesheet" href="app/style.css"> + <link type="text/css" rel="stylesheet" href="app/vendors/ol/ol.css"> + <link type="text/css" rel="stylesheet" href="app/vendors/ol/ol-layerswitcher.css"> <link type="text/css" rel="stylesheet" href="app/css/domino-ui.css"> <link type="text/css" rel="stylesheet" href="app/css/themes/all-themes.min.css"> @@ -41,8 +41,8 @@ <!-- be added before this line. --> <!-- --> <script src="app/app.nocache.js"></script> - <script src="assets/vendors/ol/ol.js"></script> - <script src="assets/vendors/ol/ol-layerswitcher.js"></script> + <script src="app/vendors/ol/ol.js"></script> + <script src="app/vendors/ol/ol-layerswitcher.js"></script> </head> <!-- --> -- GitLab