Le Cookeo à Rétro est une application Flask qui permet aux utilisateurs de générer des plans personnalisés pour des ateliers de rétrospective. Elle utilise l'API de Vertex AI, le modèle Gemini 1.5 Pro pour créer des suggestions dynamiques basées sur les entrées des utilisateurs.
- Génération de plans de rétrospective personnalisés.
- Interface utilisateur responsive avec Materialize CSS.
- Intégration avec l'API Vertex AI pour des suggestions de contenu enrichi.
- Personnalisation avancée avec options supplémentaires révélées dynamiquement.
- Python 3.8+
- Flask
- Google cloud Project ID
- Temperature : 0.9
- Top_p : 1.0
- Top_k : 16
- Candidate_count : 1
- Max_output_tokens : 8192
La définition du prompt est lisible ici
git clone https://votre-repository/votre-projet.git
cd votre-projet
pip install -r requirements.txt
Téléchargez et installez la dernière version de Java 8 ou supérieure à partir du site Web d'Oracle : https://www.oracle.com/java/technologies/javase-downloads.html
- Ouvrez le menu Démarrer et recherchez "Variables d'environnement".
- Cliquez sur "Modifier les variables d'environnement système".
- Dans la section "Variables système", sélectionnez la variable PATH et cliquez sur "Modifier".
- Ajoutez le chemin d'accès au répertoire bin de votre installation Java à la fin de la valeur de la variable PATH. Par exemple, si votre installation Java est dans C:\Program Files\Java\jdk-11.0.16, vous devez ajouter - C:\Program Files\Java\jdk-11.0.16\bin à la variable PATH.
- Cliquez sur "OK" pour enregistrer les modifications.
-
Ouvrez votre terminal.
-
Modifiez le fichier .bashrc ou .zshrc en fonction de votre shell.
-
Ajoutez la ligne suivante au fichier, en remplaçant /path/to/java/bin par le chemin d'accès au répertoire bin de votre installation Java :
export PATH=$PATH:/path/to/java/bin
-
Enregistrez le fichier et fermez-le.
-
Exécutez la commande source ~/.bashrc ou source ~/.zshrc pour appliquer les modifications.
Créez un fichier .env.local
dans le répertoire env/
avec les variables d'environnement suivantes :
PROJECT_ID
REGION
GAR_REPOSITORY
MAILGUN_USERNAME
MAILGUN_DOMAIN
MAILGUN_SERVER
MAILGUN_API_KEY_NOPROD
MAILGUN_API_KEY_PROD
SECRET_KEY
FIRESTORE_EMULATOR_HOST
IMAGE_NAME
SERVICE_NAME
Vous pouvez trouver les valeurs pour ces variables dans Secret Manager
export FLASK_APP=app.py
export FLASK_ENV=development
flask run
Ouvrez votre navigateur et accédez à http://127.0.0.1:5000/ pour utiliser l'application.
app.py
: Le point d'entrée de l'application Flask./templates
: Dossiers contenant les fichiers HTML pour les templates./static
: Contient les fichiers CSS et JavaScript.
Pour ajouter de nouvelles fonctionnalités, vous pouvez modifier app.py et les templates associés. Assurez-vous de suivre les bonnes pratiques de développement Flask et de documenter vos changements.
Lancez l'émulateur google-cloud-firestore
avec la commande :
gcloud emulators firestore start --host-port=localhost:8080&
bash cicd/macosx_linux/build_push_deploy.sh
bash cicd/macosx_linux/clean-env.sh
bash deploy_branch.bat
- Commencez par définir les variables pour builder et déployer votre conteneur en sourçant votre fichier
env/.env.local
source env/.env.local
- Créez la variable
${BRANCH_NAME}
avec le nom de votre branche :
export BRANCH_NAME=$(git branch --show-current)
- Créer la variable
${SERVICE_NAME}
contenant le nom de votre service de test
export SERVICE_NAME=cookeo-a-retro-${BRANCH_NAME}
- Définissez la liste des secrets et la liste des variables d'environnement utilisées par le déploiement
export SECRETS=(
"MAILGUN_USERNAME"
"MAILGUN_DOMAIN"
"MAILGUN_SERVER"
"MAILGUN_API_KEY_NOPROD"
"SECRET_KEY"
)
- Authentifiez-vous sur Google Artifact Repositories
gcloud auth print-access-token \
| docker login \
-u oauth2accesstoken \
--password-stdin https://${REGION}-docker.pkg.dev
Pour builder votre conteneur de test, utilisez la commande :
docker build \
-t ${GAR_REPOSITORY}/${IMAGE_NAME}-${BRANCH_NAME}:latest \
. \
--platform linux/amd64
Poussez votre image dans la registry :
docker push ${GAR_REPOSITORY}/${IMAGE_NAME}-${BRANCH_NAME}:latest
gcloud run deploy ${SERVICE_NAME} \
--region ${REGION} \
--image ${GAR_REPOSITORY}/${IMAGE_NAME}-${BRANCH_NAME}:latest \
--platform managed \
--port 5000 \
--set-secrets=$( \
for secret_name in "${SECRETS[@]}"; do
secret_path=$(gcloud secrets versions access latest --project $PROJECT_ID --secret $secret_name --format='value(name)')
echo "$secret_name=$secret_path"
done | paste -sd, - \
) \
--set-env-vars=REGION=${REGION},BRANCH_NAME=${BRANCH_NAME} \
--allow-unauthenticated
Afin de ne pas trop consommer de ressources GCP, il est nécessaire de nettoyer les artefacts de sa branches une fois les tests effectués
gcloud run services delete ${SERVICE_NAME} --region ${REGION}
gcloud artifacts docker images delete ${GAR_REPOSITORY}/${IMAGE_NAME}-${BRANCH_NAME}
Supprimez les collections firestore créées temporairement dans la console Firestore
- Assurez-vous d'être sur la branche principale et d'avoir récupérer les dernières modifications
git checkout main
git pull -r
- Tagguez la version sur Git
export IMAGE_TAG=<votre-tag-au-format-X.Y.Z>
git tag -a v${IMAGE_TAG} -m "<Votre commentaire>"
git push push origin tag v${IMAGE_TAG}
- Créez la variable
${SERVICE_NAME}
contenant le nom du servicecookeo-a-retro
export SERVICE_NAME=cookeo-a-retro
- Définissez la liste des secrets et la liste des variables d'environnement utilisées par le déploiement
export SECRETS=(
"MAILGUN_USERNAME"
"MAILGUN_DOMAIN"
"MAILGUN_SERVER"
"MAILGUN_API_KEY_PROD"
"SECRET_KEY"
)
- Authentifiez-vous sur Google Artifact Repositories
gcloud auth print-access-token \
| docker login \
-u oauth2accesstoken \
--password-stdin https://${REGION}-docker.pkg.dev
Pour builder le conteneur, utilisez la commande :
docker build \
-t ${GAR_REPOSITORY}/${IMAGE_NAME}:${IMAGE_TAG} \
. \
--platform linux/amd64
Poussez votre image dans la registry :
docker push ${GAR_REPOSITORY}/${IMAGE_NAME}:${IMAGE_TAG}
gcloud run deploy ${SERVICE_NAME} \
--region ${REGION} \
--image ${GAR_REPOSITORY}/${IMAGE_NAME}:${IMAGE_TAG} \
--platform managed \
--port 5000 \
--set-secrets=$( \
for secret_name in "${SECRETS[@]}"; do
secret_path=$(gcloud secrets versions access latest --project $PROJECT_ID --secret $secret_name --format='value(name)')
echo "$secret_name=$secret_path"
done | paste -sd, - \
) \
--set-env-vars=REGION=${REGION} \
--allow-unauthenticated
Les contributions sont les bienvenues. Veuillez ouvrir une issue pour discuter de ce que vous aimeriez changer ou soumettre directement une pull request.
For Unix :
Use the command line :
./deploy_branch.sh
For Windows :
Use the command line :
deploy_branch.bat