first commit
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
# =============================================================================
|
||||
# Notes GPIO - Simplification du declenchement bouton
|
||||
# =============================================================================
|
||||
#
|
||||
# SITUATION ACTUELLE:
|
||||
# Bouton physique -> Relay 12V -> GPIO -> Node-RED -> API photobooth-app
|
||||
#
|
||||
# PROBLEME:
|
||||
# - Node-RED consomme ~150-300 Mo de RAM (Node.js)
|
||||
# - Un composant intermediaire de plus = un point de panne de plus
|
||||
# - Latence supplementaire
|
||||
#
|
||||
# SOLUTION RECOMMANDEE:
|
||||
# photobooth-app supporte NATIVEMENT le GPIO Raspberry Pi via gpiozero.
|
||||
# Tu peux brancher le bouton directement sur un GPIO sans relay ni Node-RED.
|
||||
#
|
||||
# OPTION A: GPIO DIRECT (recommande - sans relay)
|
||||
# - Brancher le bouton entre GND et GPIO 27 (pin physique 13)
|
||||
# - photobooth-app active les resistances pull-up internes
|
||||
# - Bouton normalement ouvert (NO)
|
||||
# - Schema: GND ---[BOUTON]--- GPIO27
|
||||
#
|
||||
# OPTION B: GARDER LE RELAY 12V (si le bouton necessite du 12V)
|
||||
# - Le relay sort sur un GPIO du Pi
|
||||
# - Configurer ce GPIO dans photobooth-app directement
|
||||
# - PAS BESOIN de Node-RED pour ca
|
||||
#
|
||||
# CONFIGURATION DANS PHOTOBOOTH-APP:
|
||||
# 1. Ouvrir l'admin: http://localhost:8083/admin
|
||||
# 2. Aller dans: CONFIGURATION -> hardwareinput
|
||||
# 3. Activer "GPIO"
|
||||
# 4. Dans Actions, configurer:
|
||||
# - Picture trigger: GPIO 27 (ou le GPIO connecte a ton relay)
|
||||
# - Collage trigger: GPIO 22 (optionnel)
|
||||
# - Print trigger: GPIO 23 (optionnel)
|
||||
# - Shutdown: GPIO 17 (hold 2 secondes)
|
||||
#
|
||||
# GPIO PAR DEFAUT DE PHOTOBOOTH-APP:
|
||||
# | Fonction | GPIO | Pin physique | Type |
|
||||
# |-------------|------|-------------|------------|
|
||||
# | Photo | 27 | 13 | Appui |
|
||||
# | Collage | 22 | 15 | Appui |
|
||||
# | Animation | 24 | 18 | Appui |
|
||||
# | Video | 25 | 22 | Appui |
|
||||
# | Impression | 23 | 16 | Appui |
|
||||
# | Shutdown | 17 | 11 | Maintien 2s|
|
||||
# | Reboot | 18 | 12 | Maintien 2s|
|
||||
#
|
||||
# APRES MIGRATION:
|
||||
# - Desactiver Node-RED: sudo systemctl disable nodered.service
|
||||
# - Gain: ~150-300 Mo de RAM liberee !
|
||||
#
|
||||
# =============================================================================
|
||||
@@ -0,0 +1,5 @@
|
||||
[
|
||||
{ "_comment": "Backup du flow Node-RED complet - voir le fichier original pour le contenu" },
|
||||
{ "_comment": "Sauvegarde faite le 2026-06-24" },
|
||||
{ "_comment": "Ce fichier est trop volumineux pour etre inclus ici - copier directement depuis le Pi" }
|
||||
]
|
||||
@@ -0,0 +1,690 @@
|
||||
{
|
||||
"common": {
|
||||
"admin_password": "xxxxxxxxxxx",
|
||||
"logging_level": "DEBUG",
|
||||
"users_delete_to_recycle_dir": true
|
||||
},
|
||||
"actions": {
|
||||
"image": [
|
||||
{
|
||||
"name": "HnB - normal",
|
||||
"jobcontrol": {
|
||||
"countdown_capture": 5.0
|
||||
},
|
||||
"processing": {
|
||||
"remove_background": false,
|
||||
"fill_background_enable": false,
|
||||
"fill_background_color": "#ededed",
|
||||
"img_background_enable": false,
|
||||
"img_background_file": "userdata/demoassets/backgrounds/background.jpg",
|
||||
"image_filter": "original",
|
||||
"img_frame_enable": true,
|
||||
"img_frame_file": "userdata/hopnbloc/frames/hnb cadre final.png",
|
||||
"texts_enable": false,
|
||||
"texts": []
|
||||
},
|
||||
"trigger": {
|
||||
"ui_trigger": {
|
||||
"show_button": false,
|
||||
"title": "Photo normal",
|
||||
"icon": "Photo",
|
||||
"use_custom_color": true,
|
||||
"custom_color": "#016911"
|
||||
},
|
||||
"keyboard_trigger": {
|
||||
"keycode": ""
|
||||
},
|
||||
"gpio_trigger": {
|
||||
"pin": "",
|
||||
"trigger_on": "pressed"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Hnb - Etoile",
|
||||
"jobcontrol": {
|
||||
"countdown_capture": 5.0
|
||||
},
|
||||
"processing": {
|
||||
"remove_background": true,
|
||||
"fill_background_enable": true,
|
||||
"fill_background_color": "#ededed",
|
||||
"img_background_enable": true,
|
||||
"img_background_file": "userdata/demoassets/backgrounds/background.jpg",
|
||||
"image_filter": "original",
|
||||
"img_frame_enable": true,
|
||||
"img_frame_file": "userdata/hopnbloc/frames/hnb cadre final.png",
|
||||
"texts_enable": false,
|
||||
"texts": []
|
||||
},
|
||||
"trigger": {
|
||||
"ui_trigger": {
|
||||
"show_button": false,
|
||||
"title": "Photo - voie lactée",
|
||||
"icon": "star_shine",
|
||||
"use_custom_color": true,
|
||||
"custom_color": "#016911"
|
||||
},
|
||||
"keyboard_trigger": {
|
||||
"keycode": ""
|
||||
},
|
||||
"gpio_trigger": {
|
||||
"pin": "",
|
||||
"trigger_on": "pressed"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Hnb - Cailloux",
|
||||
"jobcontrol": {
|
||||
"countdown_capture": 5.0
|
||||
},
|
||||
"processing": {
|
||||
"remove_background": true,
|
||||
"fill_background_enable": true,
|
||||
"fill_background_color": "#f2f0f0",
|
||||
"img_background_enable": true,
|
||||
"img_background_file": "userdata/hopnbloc/backgrounds/Wall-with-large-and-small-stones.jpg",
|
||||
"image_filter": "original",
|
||||
"img_frame_enable": true,
|
||||
"img_frame_file": "userdata/hopnbloc/frames/hnb cadre final.png",
|
||||
"texts_enable": false,
|
||||
"texts": []
|
||||
},
|
||||
"trigger": {
|
||||
"ui_trigger": {
|
||||
"show_button": false,
|
||||
"title": "Photo - Mur de pierre",
|
||||
"icon": "brick",
|
||||
"use_custom_color": true,
|
||||
"custom_color": "#016911"
|
||||
},
|
||||
"keyboard_trigger": {
|
||||
"keycode": ""
|
||||
},
|
||||
"gpio_trigger": {
|
||||
"pin": "",
|
||||
"trigger_on": "pressed"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Hnb - Light",
|
||||
"jobcontrol": {
|
||||
"countdown_capture": 5.0
|
||||
},
|
||||
"processing": {
|
||||
"remove_background": true,
|
||||
"fill_background_enable": true,
|
||||
"fill_background_color": "#f2f0f0",
|
||||
"img_background_enable": true,
|
||||
"img_background_file": "userdata/hopnbloc/backgrounds/2149243965.jpg",
|
||||
"image_filter": "original",
|
||||
"img_frame_enable": true,
|
||||
"img_frame_file": "userdata/hopnbloc/frames/calque photos final.png",
|
||||
"texts_enable": false,
|
||||
"texts": []
|
||||
},
|
||||
"trigger": {
|
||||
"ui_trigger": {
|
||||
"show_button": false,
|
||||
"title": "HnB - Soirée branchée",
|
||||
"icon": "nightlife",
|
||||
"use_custom_color": true,
|
||||
"custom_color": "#016911"
|
||||
},
|
||||
"keyboard_trigger": {
|
||||
"keycode": ""
|
||||
},
|
||||
"gpio_trigger": {
|
||||
"pin": "",
|
||||
"trigger_on": "pressed"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "background stars",
|
||||
"jobcontrol": {
|
||||
"countdown_capture": 5.0
|
||||
},
|
||||
"processing": {
|
||||
"remove_background": true,
|
||||
"fill_background_enable": false,
|
||||
"fill_background_color": "white",
|
||||
"img_background_enable": true,
|
||||
"img_background_file": "userdata/demoassets/backgrounds/background.jpg",
|
||||
"image_filter": "original",
|
||||
"img_frame_enable": false,
|
||||
"img_frame_file": "userdata/demoassets/frames/frame_image_photobooth-app.png",
|
||||
"texts_enable": false,
|
||||
"texts": []
|
||||
},
|
||||
"trigger": {
|
||||
"ui_trigger": {
|
||||
"show_button": false,
|
||||
"title": "Star back",
|
||||
"icon": "photo_camera",
|
||||
"use_custom_color": true,
|
||||
"custom_color": "#016911"
|
||||
},
|
||||
"keyboard_trigger": {
|
||||
"keycode": ""
|
||||
},
|
||||
"gpio_trigger": {
|
||||
"pin": "",
|
||||
"trigger_on": "pressed"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Normal image",
|
||||
"jobcontrol": {
|
||||
"countdown_capture": 5.0
|
||||
},
|
||||
"processing": {
|
||||
"remove_background": false,
|
||||
"fill_background_enable": false,
|
||||
"fill_background_color": "#2d68c4",
|
||||
"img_background_enable": false,
|
||||
"img_background_file": "userdata/demoassets/backgrounds/background.jpg",
|
||||
"image_filter": "original",
|
||||
"img_frame_enable": false,
|
||||
"img_frame_file": "userdata/demoassets/frames/frame_image_photobooth-app.png",
|
||||
"texts_enable": false,
|
||||
"texts": []
|
||||
},
|
||||
"trigger": {
|
||||
"ui_trigger": {
|
||||
"show_button": false,
|
||||
"title": "Normal",
|
||||
"icon": "photo_camera",
|
||||
"use_custom_color": true,
|
||||
"custom_color": "#016911"
|
||||
},
|
||||
"keyboard_trigger": {
|
||||
"keycode": ""
|
||||
},
|
||||
"gpio_trigger": {
|
||||
"pin": "",
|
||||
"trigger_on": "pressed"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "LULU",
|
||||
"jobcontrol": {
|
||||
"countdown_capture": 5.0
|
||||
},
|
||||
"processing": {
|
||||
"remove_background": false,
|
||||
"fill_background_enable": false,
|
||||
"fill_background_color": "#ededed",
|
||||
"img_background_enable": false,
|
||||
"img_background_file": "userdata/demoassets/backgrounds/background.jpg",
|
||||
"image_filter": "original",
|
||||
"img_frame_enable": true,
|
||||
"img_frame_file": "userdata/LSDW/lulu-versaire2.png",
|
||||
"texts_enable": false,
|
||||
"texts": []
|
||||
},
|
||||
"trigger": {
|
||||
"ui_trigger": {
|
||||
"show_button": false,
|
||||
"title": "LULU",
|
||||
"icon": "star_shine",
|
||||
"use_custom_color": true,
|
||||
"custom_color": "#016911"
|
||||
},
|
||||
"keyboard_trigger": {
|
||||
"keycode": ""
|
||||
},
|
||||
"gpio_trigger": {
|
||||
"pin": "",
|
||||
"trigger_on": "pressed"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "LULU - Etoile",
|
||||
"jobcontrol": {
|
||||
"countdown_capture": 5.0
|
||||
},
|
||||
"processing": {
|
||||
"remove_background": true,
|
||||
"fill_background_enable": true,
|
||||
"fill_background_color": "#ededed",
|
||||
"img_background_enable": true,
|
||||
"img_background_file": "userdata/demoassets/backgrounds/background.jpg",
|
||||
"image_filter": "original",
|
||||
"img_frame_enable": true,
|
||||
"img_frame_file": "userdata/LSDW/lulu-versaire2.png",
|
||||
"texts_enable": false,
|
||||
"texts": []
|
||||
},
|
||||
"trigger": {
|
||||
"ui_trigger": {
|
||||
"show_button": false,
|
||||
"title": "LULU - Etoile",
|
||||
"icon": "star_shine",
|
||||
"use_custom_color": true,
|
||||
"custom_color": "#016911"
|
||||
},
|
||||
"keyboard_trigger": {
|
||||
"keycode": ""
|
||||
},
|
||||
"gpio_trigger": {
|
||||
"pin": "",
|
||||
"trigger_on": "pressed"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Hnb - Etoile - copy",
|
||||
"jobcontrol": {
|
||||
"countdown_capture": 5.0
|
||||
},
|
||||
"processing": {
|
||||
"remove_background": true,
|
||||
"fill_background_enable": true,
|
||||
"fill_background_color": "#ededed",
|
||||
"img_background_enable": true,
|
||||
"img_background_file": "userdata/demoassets/backgrounds/background.jpg",
|
||||
"image_filter": "original",
|
||||
"img_frame_enable": true,
|
||||
"img_frame_file": "userdata/hopnbloc/frames/calque photos final.png",
|
||||
"texts_enable": false,
|
||||
"texts": []
|
||||
},
|
||||
"trigger": {
|
||||
"ui_trigger": {
|
||||
"show_button": false,
|
||||
"title": "HnB - nuitée étoilée new",
|
||||
"icon": "star_shine",
|
||||
"use_custom_color": true,
|
||||
"custom_color": "#016911"
|
||||
},
|
||||
"keyboard_trigger": {
|
||||
"keycode": ""
|
||||
},
|
||||
"gpio_trigger": {
|
||||
"pin": "",
|
||||
"trigger_on": "pressed"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"collage": [
|
||||
{
|
||||
"name": "default action",
|
||||
"jobcontrol": {
|
||||
"countdown_capture": 2.0,
|
||||
"countdown_capture_second_following": 1.0,
|
||||
"ask_approval_each_capture": true,
|
||||
"approve_autoconfirm_timeout": 15.0,
|
||||
"show_individual_captures_in_gallery": true
|
||||
},
|
||||
"processing": {
|
||||
"capture_remove_background": true,
|
||||
"capture_fill_background_enable": true,
|
||||
"capture_fill_background_color": "white",
|
||||
"capture_img_background_enable": false,
|
||||
"capture_img_background_file": null,
|
||||
"canvas_width": 1920,
|
||||
"canvas_height": 1280,
|
||||
"merge_definition": [
|
||||
{
|
||||
"description": "left",
|
||||
"pos_x": 160,
|
||||
"pos_y": 220,
|
||||
"pos_z": 0,
|
||||
"width": 510,
|
||||
"height": 725,
|
||||
"rotate": 0,
|
||||
"predefined_image": null,
|
||||
"image_filter": "FilterPilgram2.earlybird"
|
||||
},
|
||||
{
|
||||
"description": "middle predefined",
|
||||
"pos_x": 705,
|
||||
"pos_y": 66,
|
||||
"pos_z": 0,
|
||||
"width": 510,
|
||||
"height": 725,
|
||||
"rotate": 0,
|
||||
"predefined_image": "userdata/demoassets/predefined_images/photobooth-collage-predefined-image.png",
|
||||
"image_filter": "original"
|
||||
},
|
||||
{
|
||||
"description": "right",
|
||||
"pos_x": 1245,
|
||||
"pos_y": 220,
|
||||
"pos_z": 0,
|
||||
"width": 510,
|
||||
"height": 725,
|
||||
"rotate": 0,
|
||||
"predefined_image": null,
|
||||
"image_filter": "FilterPilgram2.reyes"
|
||||
}
|
||||
],
|
||||
"canvas_fill_background_enable": false,
|
||||
"canvas_fill_background_color": "#2e6f40",
|
||||
"canvas_img_background_enable": false,
|
||||
"canvas_img_background_file": null,
|
||||
"canvas_img_front_enable": true,
|
||||
"canvas_img_front_file": "userdata/demoassets/frames/pixabay-poster-2871536_1920.png",
|
||||
"canvas_texts_enable": true,
|
||||
"canvas_texts": [
|
||||
{
|
||||
"text": "Have a nice day :)",
|
||||
"pos_x": 200,
|
||||
"pos_y": 1100,
|
||||
"rotate": 1,
|
||||
"font_size": 40,
|
||||
"font": "userdata/demoassets/fonts/Roboto-Bold.ttf",
|
||||
"color": "#333"
|
||||
}
|
||||
]
|
||||
},
|
||||
"trigger": {
|
||||
"ui_trigger": {
|
||||
"show_button": false,
|
||||
"title": "Collage",
|
||||
"icon": "auto_awesome_mosaic",
|
||||
"use_custom_color": false,
|
||||
"custom_color": "#196cb0"
|
||||
},
|
||||
"keyboard_trigger": {
|
||||
"keycode": "c"
|
||||
},
|
||||
"gpio_trigger": {
|
||||
"pin": "22",
|
||||
"trigger_on": "pressed"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"animation": [],
|
||||
"video": [],
|
||||
"multicamera": []
|
||||
},
|
||||
"share": {
|
||||
"sharing_enabled": true,
|
||||
"actions": [
|
||||
{
|
||||
"name": "Demande d'impression",
|
||||
"handles_images_only": true,
|
||||
"processing": {
|
||||
"share_command": "curl http://127.0.0.1:1880/api/photobooth-custom/ask_print?filename={filename}",
|
||||
"ask_user_for_parameter_input": false,
|
||||
"parameters_dialog_caption": "Make your choice!",
|
||||
"parameters_dialog_action_icon": "print",
|
||||
"parameters_dialog_action_label": "GO",
|
||||
"parameters": [],
|
||||
"share_blocked_time": 1,
|
||||
"max_shares": 0
|
||||
},
|
||||
"trigger": {
|
||||
"ui_trigger": {
|
||||
"show_button": true,
|
||||
"title": "Demander l'impression ?",
|
||||
"icon": "photo_prints",
|
||||
"use_custom_color": true,
|
||||
"custom_color": "#ab0a78"
|
||||
},
|
||||
"keyboard_trigger": {
|
||||
"keycode": ""
|
||||
},
|
||||
"gpio_trigger": {
|
||||
"pin": "",
|
||||
"trigger_on": "pressed"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Impression",
|
||||
"handles_images_only": true,
|
||||
"processing": {
|
||||
"share_command": "/home/pi/photobooth-data/script/script_print.sh \"{filename}\" \"{media_type}\" \"{action_config_name}\" \"{copies}\"",
|
||||
"ask_user_for_parameter_input": false,
|
||||
"parameters_dialog_caption": "Make your choice!",
|
||||
"parameters_dialog_action_icon": "print",
|
||||
"parameters_dialog_action_label": "GO",
|
||||
"parameters": [
|
||||
{
|
||||
"key": "copies",
|
||||
"label": "Copies",
|
||||
"ui_type": "int",
|
||||
"default": "1",
|
||||
"valid_min": "1",
|
||||
"valid_max": "2"
|
||||
}
|
||||
],
|
||||
"share_blocked_time": 120,
|
||||
"max_shares": 0
|
||||
},
|
||||
"trigger": {
|
||||
"ui_trigger": {
|
||||
"show_button": false,
|
||||
"title": "Direct Print",
|
||||
"icon": "print",
|
||||
"use_custom_color": true,
|
||||
"custom_color": "#b01992"
|
||||
},
|
||||
"keyboard_trigger": {
|
||||
"keycode": ""
|
||||
},
|
||||
"gpio_trigger": {
|
||||
"pin": "",
|
||||
"trigger_on": "pressed"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Printing copies",
|
||||
"handles_images_only": true,
|
||||
"processing": {
|
||||
"share_command": "echo {filename} media_type={media_type} action_config_name={action_config_name} copies={copies}",
|
||||
"ask_user_for_parameter_input": true,
|
||||
"parameters_dialog_caption": "How many copies?",
|
||||
"parameters_dialog_action_icon": "print",
|
||||
"parameters_dialog_action_label": "GO",
|
||||
"parameters": [
|
||||
{
|
||||
"key": "copies",
|
||||
"label": "Copies",
|
||||
"ui_type": "int",
|
||||
"default": "1",
|
||||
"valid_min": "1",
|
||||
"valid_max": "3"
|
||||
}
|
||||
],
|
||||
"share_blocked_time": 3,
|
||||
"max_shares": 0
|
||||
},
|
||||
"trigger": {
|
||||
"ui_trigger": {
|
||||
"show_button": false,
|
||||
"title": "Print Copies",
|
||||
"icon": "print",
|
||||
"use_custom_color": false,
|
||||
"custom_color": "#196cb0"
|
||||
},
|
||||
"keyboard_trigger": {
|
||||
"keycode": ""
|
||||
},
|
||||
"gpio_trigger": {
|
||||
"pin": "",
|
||||
"trigger_on": "pressed"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Mailing action",
|
||||
"handles_images_only": false,
|
||||
"processing": {
|
||||
"share_command": "echo {filename} media_type={media_type} action_config_name={action_config_name} to mail {mail}",
|
||||
"ask_user_for_parameter_input": true,
|
||||
"parameters_dialog_caption": "E-Mail your image...",
|
||||
"parameters_dialog_action_icon": "mail",
|
||||
"parameters_dialog_action_label": "Send",
|
||||
"parameters": [
|
||||
{
|
||||
"key": "mail",
|
||||
"label": "E-Mail address",
|
||||
"ui_type": "input",
|
||||
"default": "me@mgineer85.de",
|
||||
"valid_min": "5",
|
||||
"valid_max": "128"
|
||||
}
|
||||
],
|
||||
"share_blocked_time": 3,
|
||||
"max_shares": 0
|
||||
},
|
||||
"trigger": {
|
||||
"ui_trigger": {
|
||||
"show_button": false,
|
||||
"title": "Send Mail",
|
||||
"icon": "mail",
|
||||
"use_custom_color": false,
|
||||
"custom_color": "#196cb0"
|
||||
},
|
||||
"keyboard_trigger": {
|
||||
"keycode": ""
|
||||
},
|
||||
"gpio_trigger": {
|
||||
"pin": "",
|
||||
"trigger_on": "pressed"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Pouet",
|
||||
"handles_images_only": true,
|
||||
"processing": {
|
||||
"share_command": "echo OK && exit 0",
|
||||
"ask_user_for_parameter_input": false,
|
||||
"parameters_dialog_caption": "Make your choice!",
|
||||
"parameters_dialog_action_icon": "print",
|
||||
"parameters_dialog_action_label": "GO",
|
||||
"parameters": [],
|
||||
"share_blocked_time": 0,
|
||||
"max_shares": 0
|
||||
},
|
||||
"trigger": {
|
||||
"ui_trigger": {
|
||||
"show_button": true,
|
||||
"title": "pouet",
|
||||
"icon": "",
|
||||
"use_custom_color": false,
|
||||
"custom_color": "#196cb0"
|
||||
},
|
||||
"keyboard_trigger": {
|
||||
"keycode": ""
|
||||
},
|
||||
"gpio_trigger": {
|
||||
"pin": "",
|
||||
"trigger_on": "pressed"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"qrshare": {
|
||||
"enabled": false,
|
||||
"shareservice_url": "https://photobooth-app.org/extras/shareservice-landing/",
|
||||
"shareservice_apikey": "changedefault!",
|
||||
"enabled_custom": true,
|
||||
"share_custom_qr_url": "https://photomaton.lessapinsduweb.com/sharepage/#?url=https://photomaton.lessapinsduweb.com/media/full/{identifier}"
|
||||
},
|
||||
"filetransfer": {
|
||||
"enabled": false,
|
||||
"target_folder_name": "photobooth"
|
||||
},
|
||||
"mediaprocessing": {
|
||||
"full_still_length": 4608,
|
||||
"preview_still_length": 2304,
|
||||
"thumbnail_still_length": 960,
|
||||
"video_bitrate": 3000,
|
||||
"video_compatibility_mode": true,
|
||||
"remove_background_model": "modnet",
|
||||
"fileformat_animations": "webp",
|
||||
"fileformat_multicamera": "mp4"
|
||||
},
|
||||
"uisettings": {
|
||||
"PRIMARY_COLOR": "#196cb0",
|
||||
"SECONDARY_COLOR": "#4283b8",
|
||||
"theme": "system",
|
||||
"show_gallery_on_frontpage": true,
|
||||
"show_admin_on_frontpage": true,
|
||||
"admin_button_invisible": true,
|
||||
"show_frontpage_timeout": 5,
|
||||
"enable_automatic_slideshow": true,
|
||||
"show_automatic_slideshow_timeout": 120,
|
||||
"enable_livestream_when_idle": false,
|
||||
"enable_livestream_when_active": true,
|
||||
"livestream_mirror_effect": false,
|
||||
"livestream_blurredbackground": false,
|
||||
"livestream_blurredbackground_high_framerate": false,
|
||||
"enable_livestream_frameoverlay": true,
|
||||
"livestream_frameoverlay_image": "userdata/hopnbloc/frames/hnb cadre final.png",
|
||||
"livestream_frameoverlay_mirror_effect": false,
|
||||
"FRONTPAGE_TEXT": "<div> <div class=\"fixed-right text-white text-right\" style=\"margin-top: 45px; text-shadow: 4px 4px 4px #666;\"> <div class=\"text-h5\"> \tSi vous utilisez le photomaton, vous nous autorisez à utiliser les photos. <br> \tCe photomaton est proposé en libre-service par 'Les Sapins Du Web'. <br> \tLes photos peuvent être imprimées sur demande et sur dons libre. (2 Photos maximum par personne) <br> \tMerci de votre compréhension. \t</div> <div class=\"text-h3 text-weight-bold\">Compét Hop'N Bloc !!!!!</div> </div> <div class=\"q-page-sticky row flex-center fixed-bottom-right q-page-sticky--shrink q-mb-lg q-mr-lg\"> <img src=\"/userdata/LSDW/logo/logo.jpeg\" alt=\"LSDW icon\" style=\"width:160px;height:160px;\"> </div> </div>",
|
||||
"TAKEPIC_MSG_TIME": 0.5,
|
||||
"TAKEPIC_MSG_TEXT": "😃",
|
||||
"AUTOCLOSE_NEW_ITEM_ARRIVED": 30,
|
||||
"GALLERY_EMPTY_MSG": "<div class=\"fixed-center text-h2 text-weight-bold text-center text-white\" style=\"text-shadow: 4px 4px 4px #666;\">Empty, Zero, Nada! 🤷♂️<br>Let's take some pictures! <br>📷💕</div>",
|
||||
"gallery_show_qrcode": true,
|
||||
"qrcode_text_above": "⬇️ Télécharger la photo!",
|
||||
"qrcode_text_below": "Scannez le QR code ci-dessus pour télécharger cette photo. ( Vous devez être connecté au Wifi Photomaton)",
|
||||
"qrcode_link_codes": true,
|
||||
"gallery_show_filter": false,
|
||||
"gallery_show_download": false,
|
||||
"gallery_show_delete": false,
|
||||
"gallery_show_shareprint": false
|
||||
},
|
||||
"backends": {
|
||||
"enable_livestream": true,
|
||||
"retry_capture": 3,
|
||||
"countdown_camera_capture_offset": 0.2,
|
||||
"index_backend_stills": 0,
|
||||
"index_backend_video": 0,
|
||||
"index_backend_multicam": 0,
|
||||
"group_backends": [
|
||||
{
|
||||
"enabled": true,
|
||||
"description": "pi camera module V3",
|
||||
"backend_config": {
|
||||
"orientation": "1: 0°",
|
||||
"backend_type": "Picamera2",
|
||||
"camera_num": 0,
|
||||
"CAPTURE_CAM_RESOLUTION_WIDTH": 4608,
|
||||
"CAPTURE_CAM_RESOLUTION_HEIGHT": 3072,
|
||||
"PREVIEW_CAM_RESOLUTION_WIDTH": 2304,
|
||||
"PREVIEW_CAM_RESOLUTION_HEIGHT": 1536,
|
||||
"LIVEVIEW_RESOLUTION_WIDTH": 750,
|
||||
"LIVEVIEW_RESOLUTION_HEIGHT": 500,
|
||||
"framerate_still_mode": 20,
|
||||
"framerate_video_mode": 25,
|
||||
"frame_skip_count": 4,
|
||||
"optimized_lowlight_short_exposure": false,
|
||||
"videostream_quality": "MEDIUM",
|
||||
"original_still_quality": 100
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"hardwareinputoutput": {
|
||||
"keyboard_input_enabled": false,
|
||||
"gpio_enabled": false,
|
||||
"gpio_pin_shutdown": 17,
|
||||
"gpio_pin_reboot": 18,
|
||||
"gpio_pin_job_next": 27,
|
||||
"gpio_pin_job_reject": 22,
|
||||
"gpio_pin_job_abort": 20
|
||||
},
|
||||
"misc": {
|
||||
"secret_key": "ThisIsTheDefaultSecret",
|
||||
"cmd_shutdown": "shutdown now",
|
||||
"cmd_reboot": "reboot"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,548 @@
|
||||
{
|
||||
"_comment": "Config optimisee pour RPi4 2Go - Photomaton Les Sapins Du Web",
|
||||
"_comment2": "Changements vs config originale marques avec OPTI:",
|
||||
|
||||
"common": {
|
||||
"admin_password": "xxxxxxxxxxx",
|
||||
"logging_level": "WARNING",
|
||||
"_OPTI_logging": "OPTI: DEBUG -> WARNING. DEBUG consomme CPU+RAM en continu. Passer en INFO si besoin de diagnostiquer.",
|
||||
"users_delete_to_recycle_dir": true
|
||||
},
|
||||
|
||||
"actions": {
|
||||
"image": [
|
||||
{
|
||||
"_comment": "Action principale sans remove_background - la plus legere en RAM",
|
||||
"name": "HnB - normal",
|
||||
"jobcontrol": {
|
||||
"countdown_capture": 5.0
|
||||
},
|
||||
"processing": {
|
||||
"remove_background": false,
|
||||
"fill_background_enable": false,
|
||||
"fill_background_color": "#ededed",
|
||||
"img_background_enable": false,
|
||||
"img_background_file": "userdata/demoassets/backgrounds/background.jpg",
|
||||
"image_filter": "original",
|
||||
"img_frame_enable": true,
|
||||
"img_frame_file": "userdata/hopnbloc/frames/hnb cadre final.png",
|
||||
"texts_enable": false,
|
||||
"texts": []
|
||||
},
|
||||
"trigger": {
|
||||
"ui_trigger": {
|
||||
"show_button": true,
|
||||
"_OPTI_show_button": "OPTI: false -> true. Au moins 1 action doit etre visible pour les utilisateurs.",
|
||||
"title": "Photo",
|
||||
"icon": "photo_camera",
|
||||
"use_custom_color": true,
|
||||
"custom_color": "#016911"
|
||||
},
|
||||
"keyboard_trigger": {
|
||||
"keycode": ""
|
||||
},
|
||||
"gpio_trigger": {
|
||||
"pin": "27",
|
||||
"_OPTI_gpio": "OPTI: '' -> '27'. Declenchement direct via GPIO sans passer par Node-RED.",
|
||||
"trigger_on": "pressed"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"_comment": "Avec remove_background - uniquement quand on change le fond",
|
||||
"name": "Hnb - Etoile",
|
||||
"jobcontrol": {
|
||||
"countdown_capture": 5.0
|
||||
},
|
||||
"processing": {
|
||||
"remove_background": true,
|
||||
"fill_background_enable": true,
|
||||
"fill_background_color": "#ededed",
|
||||
"img_background_enable": true,
|
||||
"img_background_file": "userdata/demoassets/backgrounds/background.jpg",
|
||||
"image_filter": "original",
|
||||
"img_frame_enable": true,
|
||||
"img_frame_file": "userdata/hopnbloc/frames/hnb cadre final.png",
|
||||
"texts_enable": false,
|
||||
"texts": []
|
||||
},
|
||||
"trigger": {
|
||||
"ui_trigger": {
|
||||
"show_button": true,
|
||||
"title": "Voie lactee",
|
||||
"icon": "star_shine",
|
||||
"use_custom_color": true,
|
||||
"custom_color": "#016911"
|
||||
},
|
||||
"keyboard_trigger": {
|
||||
"keycode": ""
|
||||
},
|
||||
"gpio_trigger": {
|
||||
"pin": "",
|
||||
"trigger_on": "pressed"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Hnb - Cailloux",
|
||||
"jobcontrol": {
|
||||
"countdown_capture": 5.0
|
||||
},
|
||||
"processing": {
|
||||
"remove_background": true,
|
||||
"fill_background_enable": true,
|
||||
"fill_background_color": "#f2f0f0",
|
||||
"img_background_enable": true,
|
||||
"img_background_file": "userdata/hopnbloc/backgrounds/Wall-with-large-and-small-stones.jpg",
|
||||
"image_filter": "original",
|
||||
"img_frame_enable": true,
|
||||
"img_frame_file": "userdata/hopnbloc/frames/hnb cadre final.png",
|
||||
"texts_enable": false,
|
||||
"texts": []
|
||||
},
|
||||
"trigger": {
|
||||
"ui_trigger": {
|
||||
"show_button": false,
|
||||
"title": "Mur de pierre",
|
||||
"icon": "brick",
|
||||
"use_custom_color": true,
|
||||
"custom_color": "#016911"
|
||||
},
|
||||
"keyboard_trigger": {
|
||||
"keycode": ""
|
||||
},
|
||||
"gpio_trigger": {
|
||||
"pin": "",
|
||||
"trigger_on": "pressed"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Hnb - Light",
|
||||
"jobcontrol": {
|
||||
"countdown_capture": 5.0
|
||||
},
|
||||
"processing": {
|
||||
"remove_background": true,
|
||||
"fill_background_enable": true,
|
||||
"fill_background_color": "#f2f0f0",
|
||||
"img_background_enable": true,
|
||||
"img_background_file": "userdata/hopnbloc/backgrounds/2149243965.jpg",
|
||||
"image_filter": "original",
|
||||
"img_frame_enable": true,
|
||||
"img_frame_file": "userdata/hopnbloc/frames/calque photos final.png",
|
||||
"texts_enable": false,
|
||||
"texts": []
|
||||
},
|
||||
"trigger": {
|
||||
"ui_trigger": {
|
||||
"show_button": false,
|
||||
"title": "Soiree branchee",
|
||||
"icon": "nightlife",
|
||||
"use_custom_color": true,
|
||||
"custom_color": "#016911"
|
||||
},
|
||||
"keyboard_trigger": {
|
||||
"keycode": ""
|
||||
},
|
||||
"gpio_trigger": {
|
||||
"pin": "",
|
||||
"trigger_on": "pressed"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"_comment": "OPTI: remove_background desactive car img_frame_enable est false et pas de fond custom utile",
|
||||
"name": "Normal image",
|
||||
"jobcontrol": {
|
||||
"countdown_capture": 5.0
|
||||
},
|
||||
"processing": {
|
||||
"remove_background": false,
|
||||
"fill_background_enable": false,
|
||||
"fill_background_color": "#2d68c4",
|
||||
"img_background_enable": false,
|
||||
"img_background_file": "userdata/demoassets/backgrounds/background.jpg",
|
||||
"image_filter": "original",
|
||||
"img_frame_enable": false,
|
||||
"img_frame_file": "userdata/demoassets/frames/frame_image_photobooth-app.png",
|
||||
"texts_enable": false,
|
||||
"texts": []
|
||||
},
|
||||
"trigger": {
|
||||
"ui_trigger": {
|
||||
"show_button": false,
|
||||
"title": "Normal",
|
||||
"icon": "photo_camera",
|
||||
"use_custom_color": true,
|
||||
"custom_color": "#016911"
|
||||
},
|
||||
"keyboard_trigger": {
|
||||
"keycode": ""
|
||||
},
|
||||
"gpio_trigger": {
|
||||
"pin": "",
|
||||
"trigger_on": "pressed"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"_comment": "LULU - sans remove_background car juste un cadre",
|
||||
"name": "LULU",
|
||||
"jobcontrol": {
|
||||
"countdown_capture": 5.0
|
||||
},
|
||||
"processing": {
|
||||
"remove_background": false,
|
||||
"fill_background_enable": false,
|
||||
"fill_background_color": "#ededed",
|
||||
"img_background_enable": false,
|
||||
"img_background_file": "userdata/demoassets/backgrounds/background.jpg",
|
||||
"image_filter": "original",
|
||||
"img_frame_enable": true,
|
||||
"img_frame_file": "userdata/LSDW/lulu-versaire2.png",
|
||||
"texts_enable": false,
|
||||
"texts": []
|
||||
},
|
||||
"trigger": {
|
||||
"ui_trigger": {
|
||||
"show_button": false,
|
||||
"title": "LULU",
|
||||
"icon": "star_shine",
|
||||
"use_custom_color": true,
|
||||
"custom_color": "#016911"
|
||||
},
|
||||
"keyboard_trigger": {
|
||||
"keycode": ""
|
||||
},
|
||||
"gpio_trigger": {
|
||||
"pin": "",
|
||||
"trigger_on": "pressed"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "LULU - Etoile",
|
||||
"jobcontrol": {
|
||||
"countdown_capture": 5.0
|
||||
},
|
||||
"processing": {
|
||||
"remove_background": true,
|
||||
"fill_background_enable": true,
|
||||
"fill_background_color": "#ededed",
|
||||
"img_background_enable": true,
|
||||
"img_background_file": "userdata/demoassets/backgrounds/background.jpg",
|
||||
"image_filter": "original",
|
||||
"img_frame_enable": true,
|
||||
"img_frame_file": "userdata/LSDW/lulu-versaire2.png",
|
||||
"texts_enable": false,
|
||||
"texts": []
|
||||
},
|
||||
"trigger": {
|
||||
"ui_trigger": {
|
||||
"show_button": false,
|
||||
"title": "LULU - Etoile",
|
||||
"icon": "star_shine",
|
||||
"use_custom_color": true,
|
||||
"custom_color": "#016911"
|
||||
},
|
||||
"keyboard_trigger": {
|
||||
"keycode": ""
|
||||
},
|
||||
"gpio_trigger": {
|
||||
"pin": "",
|
||||
"trigger_on": "pressed"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"_OPTI_removed_actions": "OPTI: Supprime 'background stars' (doublon de Hnb-Etoile) et 'Hnb-Etoile-copy' (copie). Garde 7 actions au lieu de 9.",
|
||||
|
||||
"collage": [
|
||||
{
|
||||
"name": "default action",
|
||||
"jobcontrol": {
|
||||
"countdown_capture": 2.0,
|
||||
"countdown_capture_second_following": 1.0,
|
||||
"ask_approval_each_capture": true,
|
||||
"approve_autoconfirm_timeout": 15.0,
|
||||
"show_individual_captures_in_gallery": true
|
||||
},
|
||||
"processing": {
|
||||
"capture_remove_background": true,
|
||||
"capture_fill_background_enable": true,
|
||||
"capture_fill_background_color": "white",
|
||||
"capture_img_background_enable": false,
|
||||
"capture_img_background_file": null,
|
||||
"canvas_width": 1920,
|
||||
"canvas_height": 1280,
|
||||
"merge_definition": [
|
||||
{
|
||||
"description": "left",
|
||||
"pos_x": 160,
|
||||
"pos_y": 220,
|
||||
"pos_z": 0,
|
||||
"width": 510,
|
||||
"height": 725,
|
||||
"rotate": 0,
|
||||
"predefined_image": null,
|
||||
"image_filter": "FilterPilgram2.earlybird"
|
||||
},
|
||||
{
|
||||
"description": "middle predefined",
|
||||
"pos_x": 705,
|
||||
"pos_y": 66,
|
||||
"pos_z": 0,
|
||||
"width": 510,
|
||||
"height": 725,
|
||||
"rotate": 0,
|
||||
"predefined_image": "userdata/demoassets/predefined_images/photobooth-collage-predefined-image.png",
|
||||
"image_filter": "original"
|
||||
},
|
||||
{
|
||||
"description": "right",
|
||||
"pos_x": 1245,
|
||||
"pos_y": 220,
|
||||
"pos_z": 0,
|
||||
"width": 510,
|
||||
"height": 725,
|
||||
"rotate": 0,
|
||||
"predefined_image": null,
|
||||
"image_filter": "FilterPilgram2.reyes"
|
||||
}
|
||||
],
|
||||
"canvas_fill_background_enable": false,
|
||||
"canvas_fill_background_color": "#2e6f40",
|
||||
"canvas_img_background_enable": false,
|
||||
"canvas_img_background_file": null,
|
||||
"canvas_img_front_enable": true,
|
||||
"canvas_img_front_file": "userdata/demoassets/frames/pixabay-poster-2871536_1920.png",
|
||||
"canvas_texts_enable": true,
|
||||
"canvas_texts": [
|
||||
{
|
||||
"text": "Have a nice day :)",
|
||||
"pos_x": 200,
|
||||
"pos_y": 1100,
|
||||
"rotate": 1,
|
||||
"font_size": 40,
|
||||
"font": "userdata/demoassets/fonts/Roboto-Bold.ttf",
|
||||
"color": "#333"
|
||||
}
|
||||
]
|
||||
},
|
||||
"trigger": {
|
||||
"ui_trigger": {
|
||||
"show_button": false,
|
||||
"title": "Collage",
|
||||
"icon": "auto_awesome_mosaic",
|
||||
"use_custom_color": false,
|
||||
"custom_color": "#196cb0"
|
||||
},
|
||||
"keyboard_trigger": {
|
||||
"keycode": "c"
|
||||
},
|
||||
"gpio_trigger": {
|
||||
"pin": "22",
|
||||
"trigger_on": "pressed"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"animation": [],
|
||||
"video": [],
|
||||
"multicamera": []
|
||||
},
|
||||
|
||||
"share": {
|
||||
"sharing_enabled": true,
|
||||
"actions": [
|
||||
{
|
||||
"_comment": "Action visible par les utilisateurs - envoie la demande a Node-RED pour la file d'attente SQLite + dashboard admin",
|
||||
"name": "Demande d'impression",
|
||||
"handles_images_only": true,
|
||||
"processing": {
|
||||
"share_command": "curl http://127.0.0.1:1880/api/photobooth-custom/ask_print?filename={filename}",
|
||||
"ask_user_for_parameter_input": false,
|
||||
"parameters_dialog_caption": "Make your choice!",
|
||||
"parameters_dialog_action_icon": "print",
|
||||
"parameters_dialog_action_label": "GO",
|
||||
"parameters": [],
|
||||
"share_blocked_time": 1,
|
||||
"max_shares": 0
|
||||
},
|
||||
"trigger": {
|
||||
"ui_trigger": {
|
||||
"show_button": true,
|
||||
"title": "Demander l'impression ?",
|
||||
"icon": "photo_prints",
|
||||
"use_custom_color": true,
|
||||
"custom_color": "#ab0a78"
|
||||
},
|
||||
"keyboard_trigger": {
|
||||
"keycode": ""
|
||||
},
|
||||
"gpio_trigger": {
|
||||
"pin": "",
|
||||
"trigger_on": "pressed"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"_comment": "Action cachee - appelee par Node-RED dashboard quand l'admin valide l'impression",
|
||||
"name": "Impression directe",
|
||||
"handles_images_only": true,
|
||||
"processing": {
|
||||
"share_command": "/home/pi/photobooth-data/script/script_print.sh \"{filename}\" \"{media_type}\" \"{action_config_name}\" \"{copies}\"",
|
||||
"ask_user_for_parameter_input": false,
|
||||
"parameters_dialog_caption": "Combien de copies ?",
|
||||
"parameters_dialog_action_icon": "print",
|
||||
"parameters_dialog_action_label": "Imprimer",
|
||||
"parameters": [
|
||||
{
|
||||
"key": "copies",
|
||||
"label": "Copies",
|
||||
"ui_type": "int",
|
||||
"default": "1",
|
||||
"valid_min": "1",
|
||||
"valid_max": "2"
|
||||
}
|
||||
],
|
||||
"share_blocked_time": 60,
|
||||
"_OPTI_blocked_time": "OPTI: 120 -> 60s de blocage.",
|
||||
"max_shares": 0
|
||||
},
|
||||
"trigger": {
|
||||
"ui_trigger": {
|
||||
"show_button": false,
|
||||
"title": "Impression directe",
|
||||
"icon": "print",
|
||||
"use_custom_color": true,
|
||||
"custom_color": "#b01992"
|
||||
},
|
||||
"keyboard_trigger": {
|
||||
"keycode": ""
|
||||
},
|
||||
"gpio_trigger": {
|
||||
"pin": "",
|
||||
"trigger_on": "pressed"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"_OPTI_removed_share_actions": "OPTI: Supprime 'Pouet' (test), 'Mailing action' (demo), 'Printing copies' (doublon). Garde 'Demande impression' (via Node-RED SQLite) + 'Impression directe' (via script_print.sh). 2 actions au lieu de 5."
|
||||
},
|
||||
|
||||
"qrshare": {
|
||||
"enabled": false,
|
||||
"shareservice_url": "https://photobooth-app.org/extras/shareservice-landing/",
|
||||
"shareservice_apikey": "changedefault!",
|
||||
"enabled_custom": true,
|
||||
"share_custom_qr_url": "https://photomaton.lessapinsduweb.com/sharepage/#?url=https://photomaton.lessapinsduweb.com/media/full/{identifier}"
|
||||
},
|
||||
|
||||
"filetransfer": {
|
||||
"enabled": false,
|
||||
"target_folder_name": "photobooth"
|
||||
},
|
||||
|
||||
"mediaprocessing": {
|
||||
"full_still_length": 2304,
|
||||
"_OPTI_full_still": "OPTI: 4608 -> 2304. La Selphy CP1300 imprime en 300dpi sur 4x6 pouces = 1200x1800px. 2304px est largement suffisant et divise la RAM par 4 pour le traitement d'image.",
|
||||
"preview_still_length": 1200,
|
||||
"_OPTI_preview": "OPTI: 2304 -> 1200. Pour l'affichage web/QR share, 1200px est largement suffisant.",
|
||||
"thumbnail_still_length": 480,
|
||||
"_OPTI_thumbnail": "OPTI: 960 -> 480. Les thumbnails de la galerie n'ont pas besoin d'etre si grands.",
|
||||
"video_bitrate": 3000,
|
||||
"video_compatibility_mode": true,
|
||||
"remove_background_model": "modnet",
|
||||
"fileformat_animations": "webp",
|
||||
"fileformat_multicamera": "mp4"
|
||||
},
|
||||
|
||||
"uisettings": {
|
||||
"PRIMARY_COLOR": "#196cb0",
|
||||
"SECONDARY_COLOR": "#4283b8",
|
||||
"theme": "system",
|
||||
"show_gallery_on_frontpage": true,
|
||||
"show_admin_on_frontpage": true,
|
||||
"admin_button_invisible": true,
|
||||
"show_frontpage_timeout": 5,
|
||||
"enable_automatic_slideshow": true,
|
||||
"show_automatic_slideshow_timeout": 120,
|
||||
"enable_livestream_when_idle": false,
|
||||
"enable_livestream_when_active": true,
|
||||
"livestream_mirror_effect": false,
|
||||
"livestream_blurredbackground": false,
|
||||
"livestream_blurredbackground_high_framerate": false,
|
||||
"enable_livestream_frameoverlay": true,
|
||||
"livestream_frameoverlay_image": "userdata/hopnbloc/frames/hnb cadre final.png",
|
||||
"livestream_frameoverlay_mirror_effect": false,
|
||||
"FRONTPAGE_TEXT": "<div> <div class=\"fixed-right text-white text-right\" style=\"margin-top: 45px; text-shadow: 4px 4px 4px #666;\"> <div class=\"text-h5\"> \tSi vous utilisez le photomaton, vous nous autorisez \u00e0 utiliser les photos. <br> \tCe photomaton est propos\u00e9 en libre-service par 'Les Sapins Du Web'. <br> \tLes photos peuvent \u00eatre imprim\u00e9es sur demande et sur dons libre. (2 Photos maximum par personne) <br> \tMerci de votre compr\u00e9hension. \t</div> <div class=\"text-h3 text-weight-bold\">Comp\u00e9t Hop'N Bloc !!!!!</div> </div> <div class=\"q-page-sticky row flex-center fixed-bottom-right q-page-sticky--shrink q-mb-lg q-mr-lg\"> <img src=\"/userdata/LSDW/logo/logo.jpeg\" alt=\"LSDW icon\" style=\"width:160px;height:160px;\"> </div> </div>",
|
||||
"TAKEPIC_MSG_TIME": 0.5,
|
||||
"TAKEPIC_MSG_TEXT": "\ud83d\ude03",
|
||||
"AUTOCLOSE_NEW_ITEM_ARRIVED": 30,
|
||||
"GALLERY_EMPTY_MSG": "<div class=\"fixed-center text-h2 text-weight-bold text-center text-white\" style=\"text-shadow: 4px 4px 4px #666;\">Pas encore de photos ! \ud83e\udd37\u200d\u2642\ufe0f<br>Appuyez sur le bouton ! <br>\ud83d\udcf7\ud83d\udc95</div>",
|
||||
"_OPTI_gallery_empty": "OPTI: Traduit en francais",
|
||||
"gallery_show_qrcode": true,
|
||||
"qrcode_text_above": "\u2b07\ufe0f T\u00e9l\u00e9charger la photo!",
|
||||
"qrcode_text_below": "Scannez le QR code ci-dessus pour t\u00e9l\u00e9charger cette photo. ( Vous devez \u00eatre connect\u00e9 au Wifi Photomaton)",
|
||||
"qrcode_link_codes": true,
|
||||
"gallery_show_filter": false,
|
||||
"gallery_show_download": false,
|
||||
"gallery_show_delete": false,
|
||||
"gallery_show_shareprint": false
|
||||
},
|
||||
|
||||
"backends": {
|
||||
"enable_livestream": true,
|
||||
"retry_capture": 3,
|
||||
"countdown_camera_capture_offset": 0.2,
|
||||
"index_backend_stills": 0,
|
||||
"index_backend_video": 0,
|
||||
"index_backend_multicam": 0,
|
||||
"group_backends": [
|
||||
{
|
||||
"enabled": true,
|
||||
"description": "pi camera module V3",
|
||||
"backend_config": {
|
||||
"orientation": "1: 0\u00b0",
|
||||
"backend_type": "Picamera2",
|
||||
"camera_num": 0,
|
||||
"CAPTURE_CAM_RESOLUTION_WIDTH": 2304,
|
||||
"CAPTURE_CAM_RESOLUTION_HEIGHT": 1536,
|
||||
"_OPTI_capture_res": "OPTI: 4608x3072 -> 2304x1536. Divise la RAM par 4 pour chaque capture. Toujours suffisant pour impression Selphy 300dpi.",
|
||||
"PREVIEW_CAM_RESOLUTION_WIDTH": 1152,
|
||||
"PREVIEW_CAM_RESOLUTION_HEIGHT": 768,
|
||||
"_OPTI_preview_res": "OPTI: 2304x1536 -> 1152x768. La preview n'a pas besoin d'etre aussi grande que la capture.",
|
||||
"LIVEVIEW_RESOLUTION_WIDTH": 750,
|
||||
"LIVEVIEW_RESOLUTION_HEIGHT": 500,
|
||||
"framerate_still_mode": 20,
|
||||
"framerate_video_mode": 25,
|
||||
"frame_skip_count": 4,
|
||||
"optimized_lowlight_short_exposure": false,
|
||||
"videostream_quality": "MEDIUM",
|
||||
"original_still_quality": 90,
|
||||
"_OPTI_quality": "OPTI: 100 -> 90. Difference visuelle imperceptible, fichiers 30-40% plus petits = moins de RAM et I/O disque."
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"hardwareinputoutput": {
|
||||
"keyboard_input_enabled": false,
|
||||
"gpio_enabled": true,
|
||||
"_OPTI_gpio": "OPTI: false -> true. Active le GPIO natif pour le bouton, permet de se passer de Node-RED.",
|
||||
"gpio_pin_shutdown": 17,
|
||||
"gpio_pin_reboot": 18,
|
||||
"gpio_pin_job_next": 27,
|
||||
"gpio_pin_job_reject": 22,
|
||||
"gpio_pin_job_abort": 20
|
||||
},
|
||||
|
||||
"misc": {
|
||||
"secret_key": "CHANGER_CETTE_CLE_SECRETE",
|
||||
"_OPTI_secret": "OPTI: Changer la cle par defaut ! Generer avec: python3 -c \"import secrets; print(secrets.token_hex(32))\"",
|
||||
"cmd_shutdown": "shutdown now",
|
||||
"cmd_reboot": "reboot"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,80 @@
|
||||
# =============================================================================
|
||||
# Zoraxy - Configuration reverse proxy pour photomaton
|
||||
# =============================================================================
|
||||
# Installation: ~/zoraxy/
|
||||
# Config: ~/zoraxy/conf/proxy/
|
||||
# Admin panel: http://127.0.0.1:5487 (localhost only)
|
||||
# =============================================================================
|
||||
#
|
||||
# ROLE DE ZORAXY:
|
||||
# - Reverse proxy HTTPS devant tous les services
|
||||
# - Gestion des certificats TLS
|
||||
# - Necessaire pour le QR code (HTTPS requis sur mobile)
|
||||
#
|
||||
# PORTS ZORAXY:
|
||||
# 80 : HTTP (redirect -> HTTPS)
|
||||
# 443 : HTTPS (reverse proxy)
|
||||
# 5487 : Admin panel (localhost only)
|
||||
# 8001 : Admin panel (expose via sous-domaine)
|
||||
#
|
||||
# =============================================================================
|
||||
# PROXIES CONFIGURES
|
||||
# =============================================================================
|
||||
#
|
||||
# 1. photomaton.lessapinsduweb.com -> 127.0.0.1:8083 (photobooth-app)
|
||||
# - WebSocket: OUI (EnableWebsocketCustomHeaders: true)
|
||||
# - ChunkedTransfer: DESACTIVE (necessaire pour photobooth-app)
|
||||
# - C'est le proxy principal pour les utilisateurs
|
||||
#
|
||||
# 2. photomaton-nodered.lessapinsduweb.com -> 127.0.0.1:1880 (Node-RED)
|
||||
# - Dashboard admin impression
|
||||
# - Acces: auth propre a Node-RED
|
||||
#
|
||||
# 3. photomaton-raspap.lessapinsduweb.com -> 127.0.0.1:8082 (RaspAP/lighttpd)
|
||||
# - Config WiFi
|
||||
# - Acces: auth propre a RaspAP
|
||||
#
|
||||
# 4. photomaton-zoraxy.lessapinsduweb.com -> 127.0.0.1:8001 (Zoraxy admin)
|
||||
# - Admin du reverse proxy lui-meme
|
||||
# - Acces: auth propre a Zoraxy
|
||||
#
|
||||
# =============================================================================
|
||||
# ARCHITECTURE RESEAU COMPLETE
|
||||
# =============================================================================
|
||||
#
|
||||
# [Telephone utilisateur]
|
||||
# |
|
||||
# | WiFi "Photomaton" (RaspAP, dnsmasq :53)
|
||||
# v
|
||||
# [Zoraxy :443 HTTPS]
|
||||
# |
|
||||
# +-- photomaton.lessapinsduweb.com ---------> photobooth-app :8083
|
||||
# +-- photomaton-nodered.lessapinsduweb.com -> Node-RED :1880
|
||||
# +-- photomaton-raspap.lessapinsduweb.com --> lighttpd/RaspAP :8082
|
||||
# +-- photomaton-zoraxy.lessapinsduweb.com --> Zoraxy admin :8001
|
||||
#
|
||||
# Services locaux (non proxies):
|
||||
# - CUPS :631 (impression, acces local)
|
||||
# - uvicorn :8081 (API backend RaspAP, /etc/raspap/api/)
|
||||
# - Zoraxy admin :5487 (localhost only)
|
||||
# - SSH :22
|
||||
# - rpcbind :111 (INUTILE - a desactiver)
|
||||
#
|
||||
# =============================================================================
|
||||
# NOTES IMPORTANTES
|
||||
# =============================================================================
|
||||
#
|
||||
# - DisableChunkedTransferEncoding: true sur photomaton.lessapinsduweb.com
|
||||
# C'est necessaire pour que le livestream photobooth fonctionne correctement
|
||||
#
|
||||
# - SkipCertValidations: true sur photomaton.lessapinsduweb.com
|
||||
# Parce que l'upstream est en HTTP, pas HTTPS
|
||||
#
|
||||
# - Tous les sous-domaines resolvent vers la meme IP (le Pi)
|
||||
# via dnsmasq de RaspAP
|
||||
#
|
||||
# - rpcbind sur le port 111 est inutile et peut etre desactive:
|
||||
# sudo systemctl disable rpcbind.service rpcbind.socket
|
||||
# sudo systemctl stop rpcbind.service rpcbind.socket
|
||||
#
|
||||
# =============================================================================
|
||||
Reference in New Issue
Block a user