diff --git a/.gitignore b/.gitignore index 282b685ea4202bb9de0b341e04911d2cc28e1322..1d487ee9ec55eb0005906c8427779c0dcf6b138a 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ terraform.tfstate terraform.tfstate.backup *.pem .env +.DS_Store diff --git a/resources/boilerplate/emptydocs/.gitignore b/resources/boilerplate/emptydocs/.gitignore deleted file mode 100644 index ccbfadbd88427d83aa5300487231a0433429e3e9..0000000000000000000000000000000000000000 --- a/resources/boilerplate/emptydocs/.gitignore +++ /dev/null @@ -1 +0,0 @@ -site/ \ No newline at end of file diff --git a/resources/boilerplate/emptydocs/README.md b/resources/boilerplate/emptydocs/README.md deleted file mode 100644 index e536df882c982fe869df35e0bccb30f0f49e875d..0000000000000000000000000000000000000000 --- a/resources/boilerplate/emptydocs/README.md +++ /dev/null @@ -1,4 +0,0 @@ -# Bienvenue à la formation Cloud Takima ------- - -Ne soyez pas impatient le TP arrive bientôt ! \ No newline at end of file diff --git a/resources/boilerplate/emptydocs/docs/about.md b/resources/boilerplate/emptydocs/docs/about.md deleted file mode 100644 index 2ec51999a21fedc89e3afb8c7dd9ecaa790b1ff3..0000000000000000000000000000000000000000 --- a/resources/boilerplate/emptydocs/docs/about.md +++ /dev/null @@ -1,12 +0,0 @@ -# About Us - -## The Dev Team - -... - -## The Sponsors - -Takima has been supporting us and gave us company time to work on this project. -They also provided support and coaching for the content itself and speaker-preparation. - -It is an awesome company, you should [look it up](https://www.takima.fr) :) diff --git a/resources/boilerplate/emptydocs/docs/index.md b/resources/boilerplate/emptydocs/docs/index.md deleted file mode 100644 index e536df882c982fe869df35e0bccb30f0f49e875d..0000000000000000000000000000000000000000 --- a/resources/boilerplate/emptydocs/docs/index.md +++ /dev/null @@ -1,4 +0,0 @@ -# Bienvenue à la formation Cloud Takima ------- - -Ne soyez pas impatient le TP arrive bientôt ! \ No newline at end of file diff --git a/resources/boilerplate/emptydocs/mkdocs.yml b/resources/boilerplate/emptydocs/mkdocs.yml deleted file mode 100644 index 7a2b26eb9540935f22e672ba345a13387051a5b2..0000000000000000000000000000000000000000 --- a/resources/boilerplate/emptydocs/mkdocs.yml +++ /dev/null @@ -1,32 +0,0 @@ -site_name: Formation Takima -nav: - - Briefing: index.md - - About: about.md -theme: - name: "material" - features: - - navigation.tabs - - navigation.instant - logo: https://www.takima.fr/assets/Logo/Takima/Takima-logo-white-text.svg - palette: - # Palette toggle for light mode - - scheme: default - accent: pink - toggle: - icon: material/brightness-7 - name: Switch to dark mode - # Palette toggle for dark mode - - scheme: slate - primary: black - accent: pink - toggle: - icon: material/brightness-5 - name: Switch to light mode - -markdown_extensions: - - markdown.extensions.admonition: - - pymdownx.highlight: - anchor_linenums: true - - pymdownx.inlinehilite - - pymdownx.snippets - - pymdownx.superfences diff --git a/resources/boilerplate/starter-project/.env.sample b/resources/boilerplate/starter-project/.env.sample deleted file mode 100644 index c4f936fe107852c5657f83468ceaf420c77c7913..0000000000000000000000000000000000000000 --- a/resources/boilerplate/starter-project/.env.sample +++ /dev/null @@ -1,6 +0,0 @@ -MQTT_CLIENT_ID=YOURHOSTID -MQTT_HOST=mqtt.takima.internal:1883 -MQTT_USERNAME=mqtt-broker -MQTT_PASSWORD=takima -HOME_ASSISTANT_BASE_URL=http://localhost:8123 -HOME_ASSISTANT_BEARER_TOKEN=YOURTOKEN diff --git a/resources/boilerplate/starter-project/.gitignore b/resources/boilerplate/starter-project/.gitignore deleted file mode 100644 index 5b74b41d4a4a6f48cee4ef2756dd95a469308bc9..0000000000000000000000000000000000000000 --- a/resources/boilerplate/starter-project/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -.DS_Store -target -.idea -.mvn -.env -mosquitto diff --git a/resources/boilerplate/starter-project/README.md b/resources/boilerplate/starter-project/README.md deleted file mode 100644 index e01cd0c746816248403c9735a30edf1324289094..0000000000000000000000000000000000000000 --- a/resources/boilerplate/starter-project/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Read Me First - -# Getting Started -* Copy the `.env.sample` file to `.env` -* Change the values according to your guide diff --git a/resources/boilerplate/starter-project/mvnw b/resources/boilerplate/starter-project/mvnw deleted file mode 100755 index 66df2854281f4cb6869e4830dd1a7abd1e946c18..0000000000000000000000000000000000000000 --- a/resources/boilerplate/starter-project/mvnw +++ /dev/null @@ -1,308 +0,0 @@ -#!/bin/sh -# ---------------------------------------------------------------------------- -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# ---------------------------------------------------------------------------- - -# ---------------------------------------------------------------------------- -# Apache Maven Wrapper startup batch script, version 3.2.0 -# -# Required ENV vars: -# ------------------ -# JAVA_HOME - location of a JDK home dir -# -# Optional ENV vars -# ----------------- -# MAVEN_OPTS - parameters passed to the Java VM when running Maven -# e.g. to debug Maven itself, use -# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -# MAVEN_SKIP_RC - flag to disable loading of mavenrc files -# ---------------------------------------------------------------------------- - -if [ -z "$MAVEN_SKIP_RC" ] ; then - - if [ -f /usr/local/etc/mavenrc ] ; then - . /usr/local/etc/mavenrc - fi - - if [ -f /etc/mavenrc ] ; then - . /etc/mavenrc - fi - - if [ -f "$HOME/.mavenrc" ] ; then - . "$HOME/.mavenrc" - fi - -fi - -# OS specific support. $var _must_ be set to either true or false. -cygwin=false; -darwin=false; -mingw=false -case "$(uname)" in - CYGWIN*) cygwin=true ;; - MINGW*) mingw=true;; - Darwin*) darwin=true - # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home - # See https://developer.apple.com/library/mac/qa/qa1170/_index.html - if [ -z "$JAVA_HOME" ]; then - if [ -x "/usr/libexec/java_home" ]; then - JAVA_HOME="$(/usr/libexec/java_home)"; export JAVA_HOME - else - JAVA_HOME="/Library/Java/Home"; export JAVA_HOME - fi - fi - ;; -esac - -if [ -z "$JAVA_HOME" ] ; then - if [ -r /etc/gentoo-release ] ; then - JAVA_HOME=$(java-config --jre-home) - fi -fi - -# For Cygwin, ensure paths are in UNIX format before anything is touched -if $cygwin ; then - [ -n "$JAVA_HOME" ] && - JAVA_HOME=$(cygpath --unix "$JAVA_HOME") - [ -n "$CLASSPATH" ] && - CLASSPATH=$(cygpath --path --unix "$CLASSPATH") -fi - -# For Mingw, ensure paths are in UNIX format before anything is touched -if $mingw ; then - [ -n "$JAVA_HOME" ] && [ -d "$JAVA_HOME" ] && - JAVA_HOME="$(cd "$JAVA_HOME" || (echo "cannot cd into $JAVA_HOME."; exit 1); pwd)" -fi - -if [ -z "$JAVA_HOME" ]; then - javaExecutable="$(which javac)" - if [ -n "$javaExecutable" ] && ! [ "$(expr "\"$javaExecutable\"" : '\([^ ]*\)')" = "no" ]; then - # readlink(1) is not available as standard on Solaris 10. - readLink=$(which readlink) - if [ ! "$(expr "$readLink" : '\([^ ]*\)')" = "no" ]; then - if $darwin ; then - javaHome="$(dirname "\"$javaExecutable\"")" - javaExecutable="$(cd "\"$javaHome\"" && pwd -P)/javac" - else - javaExecutable="$(readlink -f "\"$javaExecutable\"")" - fi - javaHome="$(dirname "\"$javaExecutable\"")" - javaHome=$(expr "$javaHome" : '\(.*\)/bin') - JAVA_HOME="$javaHome" - export JAVA_HOME - fi - fi -fi - -if [ -z "$JAVACMD" ] ; then - if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - else - JAVACMD="$(\unset -f command 2>/dev/null; \command -v java)" - fi -fi - -if [ ! -x "$JAVACMD" ] ; then - echo "Error: JAVA_HOME is not defined correctly." >&2 - echo " We cannot execute $JAVACMD" >&2 - exit 1 -fi - -if [ -z "$JAVA_HOME" ] ; then - echo "Warning: JAVA_HOME environment variable is not set." -fi - -# traverses directory structure from process work directory to filesystem root -# first directory with .mvn subdirectory is considered project base directory -find_maven_basedir() { - if [ -z "$1" ] - then - echo "Path not specified to find_maven_basedir" - return 1 - fi - - basedir="$1" - wdir="$1" - while [ "$wdir" != '/' ] ; do - if [ -d "$wdir"/.mvn ] ; then - basedir=$wdir - break - fi - # workaround for JBEAP-8937 (on Solaris 10/Sparc) - if [ -d "${wdir}" ]; then - wdir=$(cd "$wdir/.." || exit 1; pwd) - fi - # end of workaround - done - printf '%s' "$(cd "$basedir" || exit 1; pwd)" -} - -# concatenates all lines of a file -concat_lines() { - if [ -f "$1" ]; then - # Remove \r in case we run on Windows within Git Bash - # and check out the repository with auto CRLF management - # enabled. Otherwise, we may read lines that are delimited with - # \r\n and produce $'-Xarg\r' rather than -Xarg due to word - # splitting rules. - tr -s '\r\n' ' ' < "$1" - fi -} - -log() { - if [ "$MVNW_VERBOSE" = true ]; then - printf '%s\n' "$1" - fi -} - -BASE_DIR=$(find_maven_basedir "$(dirname "$0")") -if [ -z "$BASE_DIR" ]; then - exit 1; -fi - -MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}; export MAVEN_PROJECTBASEDIR -log "$MAVEN_PROJECTBASEDIR" - -########################################################################################## -# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central -# This allows using the maven wrapper in projects that prohibit checking in binary data. -########################################################################################## -wrapperJarPath="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" -if [ -r "$wrapperJarPath" ]; then - log "Found $wrapperJarPath" -else - log "Couldn't find $wrapperJarPath, downloading it ..." - - if [ -n "$MVNW_REPOURL" ]; then - wrapperUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" - else - wrapperUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" - fi - while IFS="=" read -r key value; do - # Remove '\r' from value to allow usage on windows as IFS does not consider '\r' as a separator ( considers space, tab, new line ('\n'), and custom '=' ) - safeValue=$(echo "$value" | tr -d '\r') - case "$key" in (wrapperUrl) wrapperUrl="$safeValue"; break ;; - esac - done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" - log "Downloading from: $wrapperUrl" - - if $cygwin; then - wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath") - fi - - if command -v wget > /dev/null; then - log "Found wget ... using wget" - [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--quiet" - if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then - wget $QUIET "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" - else - wget $QUIET --http-user="$MVNW_USERNAME" --http-password="$MVNW_PASSWORD" "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" - fi - elif command -v curl > /dev/null; then - log "Found curl ... using curl" - [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--silent" - if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then - curl $QUIET -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" - else - curl $QUIET --user "$MVNW_USERNAME:$MVNW_PASSWORD" -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" - fi - else - log "Falling back to using Java to download" - javaSource="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.java" - javaClass="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.class" - # For Cygwin, switch paths to Windows format before running javac - if $cygwin; then - javaSource=$(cygpath --path --windows "$javaSource") - javaClass=$(cygpath --path --windows "$javaClass") - fi - if [ -e "$javaSource" ]; then - if [ ! -e "$javaClass" ]; then - log " - Compiling MavenWrapperDownloader.java ..." - ("$JAVA_HOME/bin/javac" "$javaSource") - fi - if [ -e "$javaClass" ]; then - log " - Running MavenWrapperDownloader.java ..." - ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$wrapperUrl" "$wrapperJarPath") || rm -f "$wrapperJarPath" - fi - fi - fi -fi -########################################################################################## -# End of extension -########################################################################################## - -# If specified, validate the SHA-256 sum of the Maven wrapper jar file -wrapperSha256Sum="" -while IFS="=" read -r key value; do - case "$key" in (wrapperSha256Sum) wrapperSha256Sum=$value; break ;; - esac -done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" -if [ -n "$wrapperSha256Sum" ]; then - wrapperSha256Result=false - if command -v sha256sum > /dev/null; then - if echo "$wrapperSha256Sum $wrapperJarPath" | sha256sum -c > /dev/null 2>&1; then - wrapperSha256Result=true - fi - elif command -v shasum > /dev/null; then - if echo "$wrapperSha256Sum $wrapperJarPath" | shasum -a 256 -c > /dev/null 2>&1; then - wrapperSha256Result=true - fi - else - echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." - echo "Please install either command, or disable validation by removing 'wrapperSha256Sum' from your maven-wrapper.properties." - exit 1 - fi - if [ $wrapperSha256Result = false ]; then - echo "Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised." >&2 - echo "Investigate or delete $wrapperJarPath to attempt a clean download." >&2 - echo "If you updated your Maven version, you need to update the specified wrapperSha256Sum property." >&2 - exit 1 - fi -fi - -MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" - -# For Cygwin, switch paths to Windows format before running java -if $cygwin; then - [ -n "$JAVA_HOME" ] && - JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME") - [ -n "$CLASSPATH" ] && - CLASSPATH=$(cygpath --path --windows "$CLASSPATH") - [ -n "$MAVEN_PROJECTBASEDIR" ] && - MAVEN_PROJECTBASEDIR=$(cygpath --path --windows "$MAVEN_PROJECTBASEDIR") -fi - -# Provide a "standardized" way to retrieve the CLI args that will -# work with both Windows and non-Windows executions. -MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $*" -export MAVEN_CMD_LINE_ARGS - -WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain - -# shellcheck disable=SC2086 # safe args -exec "$JAVACMD" \ - $MAVEN_OPTS \ - $MAVEN_DEBUG_OPTS \ - -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ - "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ - ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/resources/boilerplate/starter-project/mvnw.cmd b/resources/boilerplate/starter-project/mvnw.cmd deleted file mode 100644 index 95ba6f54ac526de46248af840bab26f33f946b93..0000000000000000000000000000000000000000 --- a/resources/boilerplate/starter-project/mvnw.cmd +++ /dev/null @@ -1,205 +0,0 @@ -@REM ---------------------------------------------------------------------------- -@REM Licensed to the Apache Software Foundation (ASF) under one -@REM or more contributor license agreements. See the NOTICE file -@REM distributed with this work for additional information -@REM regarding copyright ownership. The ASF licenses this file -@REM to you under the Apache License, Version 2.0 (the -@REM "License"); you may not use this file except in compliance -@REM with the License. You may obtain a copy of the License at -@REM -@REM https://www.apache.org/licenses/LICENSE-2.0 -@REM -@REM Unless required by applicable law or agreed to in writing, -@REM software distributed under the License is distributed on an -@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -@REM KIND, either express or implied. See the License for the -@REM specific language governing permissions and limitations -@REM under the License. -@REM ---------------------------------------------------------------------------- - -@REM ---------------------------------------------------------------------------- -@REM Apache Maven Wrapper startup batch script, version 3.2.0 -@REM -@REM Required ENV vars: -@REM JAVA_HOME - location of a JDK home dir -@REM -@REM Optional ENV vars -@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands -@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending -@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven -@REM e.g. to debug Maven itself, use -@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files -@REM ---------------------------------------------------------------------------- - -@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' -@echo off -@REM set title of command window -title %0 -@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' -@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% - -@REM set %HOME% to equivalent of $HOME -if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") - -@REM Execute a user defined script before this one -if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre -@REM check for pre script, once with legacy .bat ending and once with .cmd ending -if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* -if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* -:skipRcPre - -@setlocal - -set ERROR_CODE=0 - -@REM To isolate internal variables from possible post scripts, we use another setlocal -@setlocal - -@REM ==== START VALIDATION ==== -if not "%JAVA_HOME%" == "" goto OkJHome - -echo. -echo Error: JAVA_HOME not found in your environment. >&2 -echo Please set the JAVA_HOME variable in your environment to match the >&2 -echo location of your Java installation. >&2 -echo. -goto error - -:OkJHome -if exist "%JAVA_HOME%\bin\java.exe" goto init - -echo. -echo Error: JAVA_HOME is set to an invalid directory. >&2 -echo JAVA_HOME = "%JAVA_HOME%" >&2 -echo Please set the JAVA_HOME variable in your environment to match the >&2 -echo location of your Java installation. >&2 -echo. -goto error - -@REM ==== END VALIDATION ==== - -:init - -@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". -@REM Fallback to current working directory if not found. - -set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% -IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir - -set EXEC_DIR=%CD% -set WDIR=%EXEC_DIR% -:findBaseDir -IF EXIST "%WDIR%"\.mvn goto baseDirFound -cd .. -IF "%WDIR%"=="%CD%" goto baseDirNotFound -set WDIR=%CD% -goto findBaseDir - -:baseDirFound -set MAVEN_PROJECTBASEDIR=%WDIR% -cd "%EXEC_DIR%" -goto endDetectBaseDir - -:baseDirNotFound -set MAVEN_PROJECTBASEDIR=%EXEC_DIR% -cd "%EXEC_DIR%" - -:endDetectBaseDir - -IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig - -@setlocal EnableExtensions EnableDelayedExpansion -for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a -@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% - -:endReadAdditionalConfig - -SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" -set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" -set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain - -set WRAPPER_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" - -FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( - IF "%%A"=="wrapperUrl" SET WRAPPER_URL=%%B -) - -@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central -@REM This allows using the maven wrapper in projects that prohibit checking in binary data. -if exist %WRAPPER_JAR% ( - if "%MVNW_VERBOSE%" == "true" ( - echo Found %WRAPPER_JAR% - ) -) else ( - if not "%MVNW_REPOURL%" == "" ( - SET WRAPPER_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" - ) - if "%MVNW_VERBOSE%" == "true" ( - echo Couldn't find %WRAPPER_JAR%, downloading it ... - echo Downloading from: %WRAPPER_URL% - ) - - powershell -Command "&{"^ - "$webclient = new-object System.Net.WebClient;"^ - "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ - "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ - "}"^ - "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%WRAPPER_URL%', '%WRAPPER_JAR%')"^ - "}" - if "%MVNW_VERBOSE%" == "true" ( - echo Finished downloading %WRAPPER_JAR% - ) -) -@REM End of extension - -@REM If specified, validate the SHA-256 sum of the Maven wrapper jar file -SET WRAPPER_SHA_256_SUM="" -FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( - IF "%%A"=="wrapperSha256Sum" SET WRAPPER_SHA_256_SUM=%%B -) -IF NOT %WRAPPER_SHA_256_SUM%=="" ( - powershell -Command "&{"^ - "$hash = (Get-FileHash \"%WRAPPER_JAR%\" -Algorithm SHA256).Hash.ToLower();"^ - "If('%WRAPPER_SHA_256_SUM%' -ne $hash){"^ - " Write-Output 'Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised.';"^ - " Write-Output 'Investigate or delete %WRAPPER_JAR% to attempt a clean download.';"^ - " Write-Output 'If you updated your Maven version, you need to update the specified wrapperSha256Sum property.';"^ - " exit 1;"^ - "}"^ - "}" - if ERRORLEVEL 1 goto error -) - -@REM Provide a "standardized" way to retrieve the CLI args that will -@REM work with both Windows and non-Windows executions. -set MAVEN_CMD_LINE_ARGS=%* - -%MAVEN_JAVA_EXE% ^ - %JVM_CONFIG_MAVEN_PROPS% ^ - %MAVEN_OPTS% ^ - %MAVEN_DEBUG_OPTS% ^ - -classpath %WRAPPER_JAR% ^ - "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ - %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* -if ERRORLEVEL 1 goto error -goto end - -:error -set ERROR_CODE=1 - -:end -@endlocal & set ERROR_CODE=%ERROR_CODE% - -if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost -@REM check for post script, once with legacy .bat ending and once with .cmd ending -if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" -if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" -:skipRcPost - -@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' -if "%MAVEN_BATCH_PAUSE%"=="on" pause - -if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% - -cmd /C exit /B %ERROR_CODE% diff --git a/resources/boilerplate/starter-project/pom.xml b/resources/boilerplate/starter-project/pom.xml deleted file mode 100644 index ccc50e9e8dedbb8bb62c1d9fd10b9d5436c5da9d..0000000000000000000000000000000000000000 --- a/resources/boilerplate/starter-project/pom.xml +++ /dev/null @@ -1,74 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-parent</artifactId> - <version>3.2.5</version> - <relativePath/> <!-- lookup parent from repository --> - </parent> - <groupId>io.takima.hackathon</groupId> - <artifactId>iot-project</artifactId> - <version>0.0.1-SNAPSHOT</version> - <name>iot-project</name> - <description>Project IoT</description> - <properties> - <java.version>17</java.version> - </properties> - <repositories> - <repository> - <id>gitlab-maven</id> - <url>https://gitlab.takima.io/api/v4/projects/562/packages/maven</url> - </repository> - </repositories> - - <distributionManagement> - <repository> - <id>gitlab-maven</id> - <url>https://gitlab.takima.io/api/v4/projects/562/packages/maven</url> - </repository> - - <snapshotRepository> - <id>gitlab-maven</id> - <url>https://gitlab.takima.io/api/v4/projects/562/packages/maven</url> - </snapshotRepository> - </distributionManagement> - <dependencies> - <dependency> - <groupId>io.takima</groupId> - <artifactId>takiot-client-core</artifactId> - <version>0.1.7</version> - </dependency> - <dependency> - <groupId>io.takima</groupId> - <artifactId>takiot-client-ledlighting</artifactId> - <version>0.1.7</version> - </dependency> - <dependency> - <groupId>io.takima</groupId> - <artifactId>takiot-client-weightwatcher</artifactId> - <version>0.1.7</version> - </dependency> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-api</artifactId> - <version>2.0.12</version> - </dependency> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-simple</artifactId> - <version>2.0.12</version> - </dependency> - </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-maven-plugin</artifactId> - </plugin> - </plugins> - </build> - -</project> diff --git a/resources/boilerplate/starter-project/src/main/java/io/takima/hackathon/iotproject/HomeAssistantExample.java b/resources/boilerplate/starter-project/src/main/java/io/takima/hackathon/iotproject/HomeAssistantExample.java deleted file mode 100644 index 2a1037ba5139261df2dc7214eb82e808b505a9f9..0000000000000000000000000000000000000000 --- a/resources/boilerplate/starter-project/src/main/java/io/takima/hackathon/iotproject/HomeAssistantExample.java +++ /dev/null @@ -1,66 +0,0 @@ -package io.takima.hackathon.iotproject; - -import io.github.cdimascio.dotenv.Dotenv; -import io.takima.takiotclient.HomeAssistantClient; -import io.takima.takiotclient.StandardHomeAssistantClient; -import io.takima.takiotclient.utils.TimerUtils; - -import java.time.Duration; -import java.time.LocalDate; -import java.time.temporal.ChronoUnit; - -import static io.takima.takiotclient.utils.DataUtils.generateDecrementalValuesBetween; -import static io.takima.takiotclient.utils.DataUtils.generateRandomValuesBetween; -import static io.takima.takiotclient.utils.TimerUtils.generateBackfillDateTimes; - -public class HomeAssistantExample { - - private final HomeAssistantClient client; - - public HomeAssistantExample() { - Dotenv dotenv = Dotenv.configure().load(); - String homeAssistantBaseUrl = dotenv.get("HOME_ASSISTANT_BASE_URL"); - String homeAssistantBearerToken = dotenv.get("HOME_ASSISTANT_BEARER_TOKEN"); - - this.client = StandardHomeAssistantClient.create(homeAssistantBaseUrl, homeAssistantBearerToken); - } - - public void sendEntityValuesBackfill() { - var entityId = "input_number.test_weight_watchers"; - // Make sure entity exists - this.client.assertExists(entityId); - // Generate regular datetimes since reference date (one month ago) - var dateTimes = generateBackfillDateTimes(LocalDate.now().minusMonths(12), Duration.of(1, ChronoUnit.DAYS)); - // Generate random values for backfill - var values = generateRandomValuesBetween(4, 25, dateTimes.size()); - // Update entity values - for (int i = 0; i < dateTimes.size(); i++) { - this.client.updateEntityAt(entityId, values.get(i).toString(), dateTimes.get(i)); - } - } - - public void sendEntityValuesFor60Seconds() { - var entityId = "input_number.test_counter"; - // Make sure entity exists - this.client.assertExists(entityId); - // Send a counter value each second for one minute - for (Integer i = 0; i < 60; i++) { - System.out.println("Updating entity value to " + i); - this.client.updateEntityValue(entityId, i.toString()); - TimerUtils.sleepMillis(1000); - } - } - - public void watchEntityValueChangeFor60Seconds() { - var entityId = "input_text.test_text"; - // Make sure entity exists - this.client.assertExists(entityId); - // Watch entity changes and print when entity changes - // You should try modifying things in your Home Assistant - this.client.watchEntityChanges(entityId).subscribe((e) -> { - System.out.println("Entity " + entityId + " changed"); - System.out.println(e); - }); - TimerUtils.sleepMillis(60_000); - } -} diff --git a/resources/boilerplate/starter-project/src/main/java/io/takima/hackathon/iotproject/IotProjectApplication.java b/resources/boilerplate/starter-project/src/main/java/io/takima/hackathon/iotproject/IotProjectApplication.java deleted file mode 100644 index 9fb5d0d1cef54551a5a0be8df37bbe9dc05e33f0..0000000000000000000000000000000000000000 --- a/resources/boilerplate/starter-project/src/main/java/io/takima/hackathon/iotproject/IotProjectApplication.java +++ /dev/null @@ -1,22 +0,0 @@ -package io.takima.hackathon.iotproject; - -public class IotProjectApplication { - - public static void main(String[] args) { - - // Led Light Strip Example - var ledLightStripExample = new LedLightStripExample(); - ledLightStripExample.setLightStripColorsFor60Seconds(); - - // Scale Example - // var scaleExample = new ScaleExample(); - // scaleExample.listenToWeightChanges(); - - // Home Assistant Example - // var homeAssistantExample = new HomeAssistantExample(); - // homeAssistantExample.sendEntityValuesBackfill(); - // homeAssistantExample.sendEntityValuesFor60Seconds(); - // homeAssistantExample.watchEntityValueChangeFor60Seconds(); - } - -} diff --git a/resources/boilerplate/starter-project/src/main/java/io/takima/hackathon/iotproject/LedLightStripExample.java b/resources/boilerplate/starter-project/src/main/java/io/takima/hackathon/iotproject/LedLightStripExample.java deleted file mode 100644 index ad62e9c08f56a9cc83681fbb13a6a6fc4272f008..0000000000000000000000000000000000000000 --- a/resources/boilerplate/starter-project/src/main/java/io/takima/hackathon/iotproject/LedLightStripExample.java +++ /dev/null @@ -1,65 +0,0 @@ -package io.takima.hackathon.iotproject; - -import io.github.cdimascio.dotenv.Dotenv; -import io.takima.takiotclient.LedLightingMiddleware; -import io.takima.takiotclient.StandardTakIOTClient; -import io.takima.takiotclient.TakIOTClient; -import io.takima.takiotclient.devices.SoundReader; -import io.takima.takiotclient.ledlighting.messages.outbound.SetLightsMessage; -import io.takima.takiotclient.ledlighting.models.Colors; -import io.takima.takiotclient.ledlighting.models.PixelColor; -import io.takima.takiotclient.utils.TimerUtils; - -import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.List; - -import static io.takima.takiotclient.utils.ListUtils.ofRepeated; - -public class LedLightStripExample { - - private final TakIOTClient client; - private final LedLightingMiddleware middleware; - - public LedLightStripExample() { - // À garder : chargement des variables d'environnement - Dotenv dotenv = Dotenv.configure().load(); - String clientId = dotenv.get("MQTT_CLIENT_ID"); - String mqttHost = dotenv.get("MQTT_HOST"); - String mqttUsername = dotenv.get("MQTT_USERNAME"); - String mqttPassword = dotenv.get("MQTT_PASSWORD"); - - // TODO replace by your Device ID - String deviceId = "led-1"; - - // Client MQTT - this.client = StandardTakIOTClient.newInstance(mqttHost, clientId, mqttUsername, mqttPassword); - this.middleware = new LedLightingMiddleware(deviceId); - client.use(middleware); - client.connect(); - } - - public void setLightStripColorsFor60Seconds() { - var takimaColor = new PixelColor(223,2,104); - // 25 pixels of Takima Color - var pixelsOfTakimaColor = ofRepeated(takimaColor, 25); - - // Change colors of strip at each second for 60 seconds - System.out.println("Will start publishing set lights messages"); - for (int i = 0; i < 60; i++) { - // Copy pixels of Takima Color - var nextPixels = new ArrayList<>(pixelsOfTakimaColor); - // Change next pixel to white at each iteration - nextPixels.set(i % pixelsOfTakimaColor.size(), Colors.WHITE.value()); - // Prepare message - var message = new SetLightsMessage(nextPixels); - // Send message to device - middleware.publishSetLights(message); - System.out.println("Published set lights message " + i); - System.out.println(message.pixels()); - // Sleep for 100 millisecond - TimerUtils.sleepMillis(100); - } - System.out.println("Finished"); - } -} diff --git a/resources/boilerplate/starter-project/src/main/java/io/takima/hackathon/iotproject/ScaleExample.java b/resources/boilerplate/starter-project/src/main/java/io/takima/hackathon/iotproject/ScaleExample.java deleted file mode 100644 index ff48a394ccfb964c8ddca86aa29eecd716d60465..0000000000000000000000000000000000000000 --- a/resources/boilerplate/starter-project/src/main/java/io/takima/hackathon/iotproject/ScaleExample.java +++ /dev/null @@ -1,39 +0,0 @@ -package io.takima.hackathon.iotproject; - -import io.github.cdimascio.dotenv.Dotenv; -import io.takima.takiotclient.StandardTakIOTClient; -import io.takima.takiotclient.TakIOTClient; -import io.takima.takiotclient.WeightWatcherMiddleware; - -public class ScaleExample { - - private final TakIOTClient client; - private final WeightWatcherMiddleware middleware; - - public ScaleExample() { - Dotenv dotenv = Dotenv.configure().load(); - String clientId = dotenv.get("MQTT_CLIENT_ID"); - String mqttHost = dotenv.get("MQTT_HOST"); - String mqttUsername = dotenv.get("MQTT_USERNAME"); - String mqttPassword = dotenv.get("MQTT_PASSWORD"); - - // TODO replace by your Device ID - String deviceId = "weight-1"; - - this.client = StandardTakIOTClient.newInstance(mqttHost, clientId, mqttUsername, mqttPassword); - this.middleware = new WeightWatcherMiddleware(deviceId); - client.use(middleware); - client.connect(); - } - - public void listenToWeightChanges() { - // Register to scale events and wait for weight changes - System.out.println("Will register weight change events"); - middleware.onWeightChange(w -> { - System.out.println("Our scale measured a new weight of " + w + " grams"); - }); - middleware.onMaxWeightReached(() -> { - System.out.println("Maximum weight reached."); - }); - } -} diff --git a/resources/boilerplate/starter-project/src/main/resources/application.properties b/resources/boilerplate/starter-project/src/main/resources/application.properties deleted file mode 100644 index cb50c868df702390d2f634545d09f7e20978f001..0000000000000000000000000000000000000000 --- a/resources/boilerplate/starter-project/src/main/resources/application.properties +++ /dev/null @@ -1 +0,0 @@ -spring.application.name=iot-project diff --git a/resources/boilerplate/starter-project/src/test/java/io/takima/hackathon/iotproject/IotProjectApplicationTests.java b/resources/boilerplate/starter-project/src/test/java/io/takima/hackathon/iotproject/IotProjectApplicationTests.java deleted file mode 100644 index dbce8ad83b9e97fa6a7d54e7397099163df79291..0000000000000000000000000000000000000000 --- a/resources/boilerplate/starter-project/src/test/java/io/takima/hackathon/iotproject/IotProjectApplicationTests.java +++ /dev/null @@ -1,13 +0,0 @@ -package io.takima.hackathon.iotproject; - -import org.junit.jupiter.api.Test; -import org.springframework.boot.test.context.SpringBootTest; - -@SpringBootTest -class IotProjectApplicationTests { - - @Test - void contextLoads() { - } - -} diff --git a/resources/docs/docs/README.md b/resources/docs/docs/README.md index d60516c1272cf147034aa68e771dd12d7bfce743..d51927fff297c4fe9c92a0bef4279f5696d8d5a9 100644 --- a/resources/docs/docs/README.md +++ b/resources/docs/docs/README.md @@ -1,19 +1,17 @@ -# Accueil -{: style="height:250px;width:250px"} +# Bienvenue jeune étudiant avide d'Angular -**Bonjour Licorne en herbe !** +**Nous sommes ravis de t'accueillir dans ce super cours !** +Ce site, c'est un peu ton graal, il te servira de référence pour: -Toute l'équipe Unicorn Corporation est ravie de t'accueillir pour ton aventure du jour : le Hackathon IoT ! +* Te guider dans l'installation des différents éléments dont tu auras besoin ! +* Te donner un TP guidé, étape par étape, pour faire un joli projet Angular :) +* Te proposer des idées pour que tu puisse lacher le guide et voler de tes propres ailes -Cette documentation servira de référence pour : +On te souhaite de passer un super moment ! </br></br></br> +<img src="assets/party.gif" alt="drawing" width="300"/> -* Te guider dans l'installation des différents éléments dont tu auras besoin pour mener à bien ton défi ! -* Te donner quelques guidelines pour utiliser les différents services qui sont mis à ta disposition -* Te proposer des idées ainsi que toutes les règles du jeu pour la soutenance de projet -On te souhaite de passer un super moment, -{: style="width:500px"} -**C'est parti !** +*Camille et Laurine* diff --git a/resources/docs/docs/assets/party.gif b/resources/docs/docs/assets/party.gif new file mode 100644 index 0000000000000000000000000000000000000000..66a93bfe70ce335e0543eb7a30d6444843dcd1b5 Binary files /dev/null and b/resources/docs/docs/assets/party.gif differ diff --git a/resources/docs/docs/demarrage/home.md b/resources/docs/docs/demarrage/home.md index b491f505368c1bdc4f5d48f2a5308deb94940a6e..a9ef9cf80dbe35a4eec8303ff28c651fc8b4b73d 100644 --- a/resources/docs/docs/demarrage/home.md +++ b/resources/docs/docs/demarrage/home.md @@ -16,7 +16,7 @@ Vous êtes en manques d'idées ? En voici quelques unes : * Un afficheur commandé qui va lire un message que tu mets sur Home Assistant * Un Chrono LEDs pour le 100m aux JOs * Un simulateur de mood qui affiche un emoji sur un écran LED en fonction du mood de la journée -* Un LED Strip d'ambiance pour mettre derrière ta TV et qui reproduit les couleurs du film qui passe +* Un LED Strip d'ambiance pour mettre derrière ta TV et qui reproduit les couleurs du film qui passeFv * Un LED Strip piloté par Home Assistant pour ta Salle de Bain pour que tes bains relaxants soient accompagnés d'une expérience lumineuse immersive (Balade en forêt, UV, etc...) * Un LED Strip qui te réveille en douceur en reproduisant un lever de soleil à l'heure que tu choisis sur Home Assistant * Un LED Strip qui simule la lumière d'une TV pour éloigner les cambrioleurs lorsque tu n'es pas là diff --git a/resources/docs/mkdocs.yml b/resources/docs/mkdocs.yml index 75ea81d0e765d8fae082d468d2bf1f6aed1587be..3737346f0ca5ae1d3273cfde081f3c4974d56594 100644 --- a/resources/docs/mkdocs.yml +++ b/resources/docs/mkdocs.yml @@ -1,11 +1,11 @@ -site_name: Hakathon IoT -site_url: http://school.pages.takima.io/hakathon +site_name: Angular Lab +site_url: http://school.pages.takima.io/formation-angular/tp-angular/ #Folder expected by Gitlab Pages #We put the docs to publish from docs/* to docs_to_publish/* in order to only publish what we want docs_dir: docs_to_publish nav: - - Home: 'README.md' + - Accueil: 'README.md' - Démarrage: - Introduction: 'demarrage/home.md' - Installation: